Aprendendo Kubernetes Gateway API na prática com o girus-cli

Ontem eu comecei a estudar e publiquei o primeiro post da série sobre o Kubernetes Gateway API.

Dando continuidade na série, hoje vou compartilhar a parte prática utilizando uma ferramenta fantástica chamada girus-cli, que permite rodar laboratórios interativos diretamente no terminal. O girus-cli será utilizado para executar os laboratórios que fiz sobre o Gateway API, desde a instalação até o monitoramento com Datadog e Prometheus.

O que é o girus-cli?

Extraí a definição direto da fonte…

O GIRUS é uma plataforma open source de laboratórios interativos que permite a criação, gerenciamento e execução de ambientes de aprendizado prático para tecnologias como Linux, Docker, Kubernetes, Terraform e outras ferramentas essenciais para profissionais de DevOps, SRE, Dev e Platform Engineering.

Desenvolvida pela LINUXtips, a plataforma GIRUS se diferencia por ser executada localmente na máquina do usuário, eliminando a necessidade de infraestrutura na nuvem ou configurações complexas. Através de um CLI intuitivo, os usuários podem criar rapidamente ambientes isolados e seguros onde podem praticar e aperfeiçoar suas habilidades técnicas.

O girus-cli é uma ferramenta de linha de comando que guia você através de cenários de aprendizado. Ele lê um arquivo de configuração (lab.yaml), apresenta uma tarefa, e o mais legal: ele valida se você executou a tarefa corretamente no seu cluster Kubernetes. É como ter um instrutor do seu lado verificando seus comandos.

Mais informações sobre essa ferramenta podem ser encontradas nos links abaixo:

Pré-requisitos

Antes de continuar, você vai precisar de:

Instalando o girus-cli

A instalação é bem simples. Execute o seguinte comando para baixar e instalar o binário:

curl -sSL girus.linuxtips.io | bash

Verifique se a instalação funcionou:

girus version

Neste post está sendo utilizada a versão 0.3.0 do girus-cli.

Obtendo os Laboratórios de Gateway API

Criei um repositório git contendo alguns laboratórios práticos sobre os seguinte tópicos:

  • Instalação (Nginx Fabric Gateway) (Done)
  • HTTPRoute (Done)
  • TCPRoute (ToDO)
  • UDPRoute (ToDO)
  • Websocket (ToDO)
  • TLSRoute (Passthrough) (ToDO)
  • GRPCRoute (ToDO)
  • GAMMA (Mesh) (ToDO)
  • Troubleshooting e Debug (ToDO)
  • Observabilidade com Datadog (ToDO)
  • Observabilidade com Prometheus/Grafana (ToDO)
  • Observabilidade com VictoriaMetrics (ToDO)

Para obter esses laboratórios, execute os seguintes comandos:

girus repo add gateway-api https://raw.githubusercontent.com/aeciopires/mylabs-for-girus-cli/main
girus repo list
girus lab list

Executando os laboratórios

Crie um cluster kind para ser utilizado para execução dos labs com o girus-cli.

girus create cluster

Tem um bug na importação do lab a partir do repo remoto… enquanto eu não resolvo, é necessário clonar o repositório e iniciar cada um manualmente como no exemplo abaixo.

cd /
git clone https://github.com/aeciopires/mylabs-for-girus-cli
girus add lab -v -f /tmp/mylabs-for-girus-cli/labs/gateway-api-install/lab.yaml

Acesse o Girus no navegador para usar o novo laboratório: http://localhost:8000/labs

Localize e execute as instruções dos laboratórios do Gateway API e/ou quaisquer outros que estiverem disponíveis.

O girus vai te apresentar o passo a passa em cada laboratório. Leia a instrução, abra outro terminal, execute os comandos solicitados e depois volte para a tela do girus e pressione Enter para que ele verifique (Verify).

Se estiver tudo verde, ele libera o próximo passo!

Removendo os laboratórios

Basta executar o seguinte comando:

girus delete cluster
rm $HOME/.girus/cache/gateway-api/index.yaml
girus repo remove gateway-api

Considerações Finais

Espero que o conhecimento compartilhado nesse post e nos demais dessa série possam lhe ajudar a entender como usar o Gateway API.

Minha jornada está só no início e essa ferramenta evolui muito rápido. Então, isso é apenas uma “gota no oceano”. Publicar esses posts é uma forma de aprender melhor, procurar a informação direto na fonte e ajudar outros iniciantes como eu dando um retorno à comunidade sobre o que aprendi e usei de graça a partir do que outras pessoas criaram e compartilharam algo realmente relevante à minha profissão.

Outros laboratórios podem ser publicados no repositório, então fica de olho. Além disso, estou aberto a sugestões de melhoria e contribuições com novos laboratórios.

Até a próxima!

Categories: , , , , ,

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *