Implantando Aplicações no Kubernetes com Argo CD para Iniciantes

Implantar aplicativos no Kubernetes pode ser complexo, especialmente para iniciantes. Conheça o Argo CD, uma ferramenta declarativa alimentada pelo GitOps, projetada para automatizar implantações de aplicativos no Kubernetes. Neste workshop, você aprenderá como configurar e usar o Argo CD para implantar aplicativos de forma transparente, com um guia passo a passo elaborado para iniciantes completos.

O que você aprenderá

  • Instalar e configurar o Argo CD.
  • Implantar aplicativos usando princípios do GitOps.
  • Monitorar implantações e solucionar problemas.
  • Reverter e gerenciar versões de aplicativos.
  • Garantir a segurança do Argo CD para uso em produção.

Por que o Argo CD?

O Argo CD simplifica a gestão de aplicativos no Kubernetes sincronizando continuamente seu cluster com manifestos definidos em repositórios Git. Os benefícios incluem:

  • Gestão Declarativa: Defina o estado desejado do cluster no Git.
  • Entrega Contínua: Automatize implantações com sincronização em tempo real.
  • Controle de Versão: Reverta para versões anteriores com facilidade.

Pré-requisitos

Antes de começar, certifique-se de que você tenha:

  1. Um cluster Kubernetes (use Minikube, Kind, ou um serviço gerenciado como GKE, EKS, AKS).
  2. kubectl instalado e configurado para se conectar ao seu cluster.
  3. Uma conta no GitHub ou GitLab para hospedar seus manifestos do Kubernetes.
  4. Conhecimento básico da sintaxe YAML (abordado neste workshop se você for novo nisso).

Guia Passo a Passo

1. Configurando um Cluster Kubernetes

Passo 1: Instalar o Minikube

Se você não tiver um cluster, use Minikube:

Shell

 

Passo 2: Iniciar o Minikube

Execute o comando minikube start após instalar o Minikube no seu sistema:

Shell

 

Passo 3: Verificar o Cluster

Confirme se o cluster está em execução:

Shell

 

2. Instalando o Argo CD

Passo 1: Criar Namespace

O Argo CD roda em seu próprio namespace para isolamento:

Shell

 

Passo 2: Instalar o Argo CD

Aplicar os manifestos oficiais para instalar o Argo CD:

Shell

 

Passo 3: Verificar a Instalação

Verificar os pods do Argo CD:

Shell

 

3. Acessando a Interface do Argo CD

Passo 1: Expor o Argo CD

Expor o argocd-server para a sua máquina local:

Shell

 

Passo 2: Recuperar Credenciais de Admin

Obtenha a senha de administração padrão:

Shell

 

Passo 3: Fazer Login na UI

  1. Abra https://localhost:8080 no seu navegador.
  2. Acesse com:
    • Nome de usuário: admin
    • Senha: Recuperada no passo anterior.

4. Conectando o Argo CD ao Seu Repositório Git

Passo 1: Preparar um Repositório Git

  1. Crie um repositório Git (por exemplo, no GitHub).
  2. Adicione seus manifestos do Kubernetes ao repositório. Use este exemplo de deployment.yaml:
YAML

 

Passo 2: Adicionar Repositório ao Argo CD

Pela UI:

  1. Acesse Configurações > Repositórios.
  2. Adicione a URL do seu repositório Git e detalhes de autenticação (SSH ou HTTPS).

Ou, use a CLI:

Shell

 

5. Implementando Sua Primeira Aplicação

Passo 1: Criar uma Aplicação

No Argo CD UI:

  1. Clique em Nova Aplicação.
  2. Preencha o seguinte:
    • Nome do Aplicativo: nginx-app
    • Projeto: padrão
    • URL do Repositório: Sua URL do repositório Git
    • Caminho: Caminho para deployment.yaml
    • URL do Cluster: https://kubernetes.default.svc
    • Namespace: padrão

Passo 2: Sincronize o Aplicativo

Após criar o aplicativo:

  1. Clique em Sincronizar na interface do Argo CD.
  2. Observe enquanto o aplicativo é implantado no seu cluster Kubernetes.

6. Automatizando Implantações

Passo 1: Habilitar Auto-Sincronização

Habilitar sincronização contínua:

Shell

 

Passo 2: Testar Alterações

  1. Modifique o deployment.yaml no Git.
  2. Envie as alterações para o repositório.
  3. O Argo CD detectará as alterações e as sincronizará automaticamente para o cluster.

7. Monitoramento e Solução de Problemas

Passo 1: Monitorar a Saúde do Aplicativo

Na interface, verifique:

  • Saúde: Indica se a aplicação está funcionando conforme o esperado.
  • Status de Sincronização: Garante que o estado do cluster corresponda ao Git.

Passo 2: Visualizar Logs

Se algo der errado:

Shell

 

Passo 3: Reverter Alterações

Reverta para um estado anterior:

Shell

 

8. Segurança do Argo CD

Passo 1: Alterar Senha Padrão do Admin

Altere a senha padrão do admin utilizando o comando argocd account update-password:

Shell

 

Passo 2: Integrar SSO

Para ambientes de produção, integre com soluções de Single Sign-On (SSO) como GitHub ou LDAP.

Melhores Práticas do GitOps

  1. Estratégias de Branches: Utilize branches separados para desenvolvimento, staging e produção.
  2. Revisões de Código: Faça revisões entre pares para mudanças nos manifests.
  3. Logs de Auditoria: Revise regularmente os logs do Argo CD para conformidade e depuração.

Conclusão

O Argo CD oferece uma maneira amigável para iniciantes, porém poderosa, de gerenciar implantações do Kubernetes utilizando princípios do GitOps. Este workshop lhe equipa com as habilidades para implantar, monitorar e gerenciar aplicações de forma eficiente. Ao seguir essas práticas, você está no caminho certo para dominar a entrega contínua do Kubernetes.

Source:
https://dzone.com/articles/deploying-applications-in-kubernetes-with-argo-cd