Implantação contínua com o Argo CD - Amazon EKS

Ajudar a melhorar esta página

Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.

Implantação contínua com o Argo CD

O Argo CD é uma ferramenta de entrega contínua declarativa e baseada em GitOps para Kubernetes. Com o Argo CD, você pode automatizar a implantação e o gerenciamento do ciclo de vida de suas aplicações em vários clusters e ambientes. O Argo CD oferece suporte a vários tipos de origem, incluindo repositórios do Git, registros do Helm (HTTP e OCI) e imagens OCI, proporcionando flexibilidade para organizações com requisitos de segurança e conformidade distintos.

Com as funcionalidades do EKS, o Argo CD é totalmente gerenciado pela AWS, o que elimina a necessidade de instalação, manutenção e escalabilidade dos controladores do Argo CD e de suas dependências nos clusters.

Funcionamento do Argo CD

O Argo CD segue o padrão de GitOps, no qual a origem da sua aplicação (por exemplo, repositório do Git, registro do Helm ou imagem OCI) é a fonte da verdade para definir o estado desejado da aplicação. Ao criar um recurso Application do Argo CD, você especifica a origem que contém os manifestos da aplicação e o cluster e o namespace do Kubernetes de destino. O Argo CD monitora continuamente tanto a origem quanto o estado em execução no cluster, sincronizando automaticamente quaisquer alterações para garantir que o estado do cluster corresponda ao estado desejado.

nota

Com a funcionalidade do EKS para o Argo CD, o software do Argo CD é executado no ambiente de gerenciamento da AWS, e não em seus nós de processamento. Isso significa que os nós de processamento não precisam de acesso direto a repositórios do Git ou a registros do Helm, pois a funcionalidade gerencia o acesso à origem a partir da conta da AWS.

O Argo CD fornece três tipos de recursos primários:

  • Application: define uma implantação proveniente de um repositório do Git para um cluster de destino

  • ApplicationSet: gera diversas Applications usando modelos para implantações em vários clusters

  • AppProject: fornece agrupamento lógico e controle de acesso para as Applications

Exemplo: criação de uma Application do Argo CD

O exemplo a seguir mostra como criar um recurso Application do Argo CD:

apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: guestbook namespace: argocd spec: project: default source: repoURL: https://github.com/argoproj/argocd-example-apps.git targetRevision: HEAD path: guestbook destination: name: my-cluster namespace: guestbook syncPolicy: automated: prune: true selfHeal: true

Benefícios do Argo CD

O Argo CD implementa um fluxo de trabalho de GitOps no qual você define as configurações da aplicação em repositórios do Git e o Argo CD sincroniza automaticamente as aplicações para corresponderem ao estado desejado. Essa abordagem centrada no Git fornece uma trilha de auditoria completa de todas as alterações, permite reversões fáceis e integra-se naturalmente aos seus processos existentes de revisão e aprovação de código. O Argo CD detecta e reconcilia automaticamente o desvio entre o estado desejado no Git e o estado real nos clusters, garantindo que as implantações permaneçam consistentes com a configuração declarada.

Com o Argo CD, é possível implantar e gerenciar aplicações em vários clusters usando uma única instância do Argo CD, simplificando as operações em ambientes com vários clusters e diversas regiões. A interface do usuário do Argo CD fornece funcionalidades de visualização e monitoramento, permitindo que você visualize o status da implantação, a integridade e o histórico das aplicações. A interface do usuário se integra ao Centro de Identidade da AWS (anteriormente AWS SSO) para autenticação e autorização simplificadas, permitindo que você controle o acesso com a infraestrutura de gerenciamento de identidades existente.

Como parte das funcionalidades gerenciadas do EKS, o Argo CD é totalmente gerenciado pela AWS, eliminando a necessidade de instalar, configurar e manter a infraestrutura do Argo CD. A AWS cuida da escalabilidade, da aplicação de patches e do gerenciamento operacional, permitindo que as equipes se concentrem na entrega de aplicações em vez da manutenção de ferramentas.

Integração com o Centro de Identidade da AWS

As funcionalidades gerenciadas do EKS fornecem integração direta entre o Argo CD e o Centro de Identidade da AWS, permitindo autenticação e autorização simplificadas para os usuários. Ao habilitar a funcionalidade do Argo CD, é possível configurar a integração com o Centro de Identidade da AWS para mapear grupos e usuários do Centro de Identidade para perfis de RBAC do Argo CD, permitindo controlar quem pode acessar e gerenciar aplicações no Argo CD.

Integração com outras funcionalidades gerenciadas do EKS

O Argo CD pode ser integrado a outras funcionalidades gerenciadas do EKS.

  • AWS Controllers for Kubernetes (ACK): use o Argo CD para gerenciar a implantação de recursos do ACK em diversos clusters, possibilitando fluxos de trabalho de GitOps para a infraestrutura da AWS.

  • kro (Kube Resource Orchestrator): use o Argo CD para implantar composições do kro em vários clusters, possibilitando uma composição de recursos consistente em todo o seu ambiente do Kubernetes.

Conceitos básicos do Argo CD

Para começar a usar a funcionalidade do EKS para o Argo CD:

  1. Crie e configure um perfil da funcionalidade do IAM com as permissões necessárias para que o Argo CD acesse os repositórios do Git e gerencie aplicações

  2. Crie um recurso da funcionalidade do Argo CD em seu cluster do EKS por meio do Console da AWS, da AWS CLI ou da ferramenta de infraestrutura como código de sua preferência.

  3. Configure o acesso ao repositório e registre os clusters para a implantação de aplicações.

  4. Crie recursos Application para implantar as aplicações usando repositórios do Git.