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 com 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ê Vai Aprender

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

Por Que 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 possui:

  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 GitHub ou GitLab para hospedar seus manifestos do Kubernetes.
  4. Conhecimento básico da sintaxe YAML (abordado neste workshop se você for iniciante).

Guia Passo a Passo

1. Configurando um Cluster Kubernetes

Passo 1: Instalar o Minikube

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

Shell

 

Passo 2: Iniciar o Minikube

Execute o comando minikube start após instalar o Minikube em 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 é executado em seu próprio namespace para isolamento:

Shell

 

Passo 2: Instalar o Argo CD

Aplique os manifestos oficiais para instalar o Argo CD:

Shell

 

Passo 3: Verificar a Instalação

Verifique os pods do Argo CD:

Shell

 

3. Acessando a Interface Gráfica do Argo CD

Passo 1: Expor o Argo CD

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

Shell

 

Passo 2: Recuperar Credenciais de Administrador

Buscar a senha de administrador padrão:

Shell

 

Passo 3: Entrar na Interface de Usuário

  1. Abra https://localhost:8080 no seu navegador.
  2. Entre 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 deployment.yaml:
YAML

 

Passo 2: Adicionar Repositório ao Argo CD

Pela interface:

  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:

    **Aplicativo**:

  3. Nome do aplicativo: nginx-app
  4. Projeto: padrão
  5. URL do repositório: URL do seu repositório Git
  6. Caminho: Caminho para deployment.yaml
  7. URL do cluster: https://kubernetes.default.svc
  8. Namespace: padrão

Passo 2: Sincronize a Aplicação

Após criar o aplicativo:

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

6. Automatização de 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 com o cluster.

7. Monitoramento e Solução de Problemas

Passo 1: Monitorar a Saúde da Aplicação

Na UI, verifique:

  • Saúde: Indica se a aplicação está a funcionar como esperado.
  • Estado de Sincronização: Garante que o estado do cluster corresponde ao Git.

Passo 2: Visualizar Registos

Se algo correr mal:

Shell

 

Passo 3: Reverter Alterações

Reverta para um estado anterior:

Shell

 

8. Segurança no Argo CD

Passo 1: Alterar a Palavra-passe Padrão do Administrador

Alterar a palavra-passe padrão do administrador usando o comando argocd account update-password:

Shell

 

Passo 2: Integrar SSO

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

Melhores Práticas do GitOps

  1. Estratégias de Ramificação: Utilize ramos separados para desenvolvimento, staging e produção.
  2. Revisões de Código: Garanta revisões por pares para alterações de manifesto.
  3. Registos de Auditoria: Revise regularmente os registos do Argo CD para conformidade e depuração.

Conclusão

O Argo CD oferece uma forma amigável para iniciantes e poderosa de gerir implementações do Kubernetes usando os princípios do GitOps. Este workshop equipa-o com as competências para implementar, monitorizar e gerir aplicações de forma eficiente. Ao seguir estas práticas, estará bem encaminhado para dominar a entrega contínua no Kubernetes.

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