Argo CD - AWS Orientação prescritiva

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Argo CD

O Argo CD é uma ferramenta de entrega GitOps contínua (CD) amplamente usada para Kubernetes que está em conformidade com vários princípios fundamentais. GitOps

GitOps apoio

Área Capacidades da ferramenta

Configuração declarativa

O Argo CD usa configurações declarativas que são armazenadas nos repositórios Git. O estado desejado do aplicativo e da infraestrutura é definido nos arquivos YAML. Essas configurações descrevem o que deve ser implantado, não como implantá-las.

Sistema de controle de versão como fonte única de verdade

Os repositórios Git servem como a única fonte confiável para todo o sistema. Todas as alterações no aplicativo e na infraestrutura são feitas por meio do Git. Isso garante uma trilha de auditoria completa e a capacidade de reverter para qualquer estado anterior.

Sincronização automatizada

O Argo CD monitora continuamente o repositório Git em busca de alterações. Quando as alterações são detectadas, ele sincroniza automaticamente o estado real do cluster com o estado desejado definido no Git. Isso garante que o cluster sempre reflita o estado descrito no repositório.

Nativo do Kubernetes

O Argo CD foi projetado especificamente para ambientes Kubernetes. Ele aproveita a natureza declarativa e os recursos personalizados do Kubernetes para gerenciar aplicativos.

Autocura e detecção de desvios

O Argo CD compara regularmente o estado ativo do cluster com o estado desejado no Git. Se detectar algum desvio (diferenças entre os estados real e desejado), ele poderá corrigir automaticamente essas discrepâncias.

Suporte a vários clusters e multilocação

O Argo CD pode gerenciar vários clusters Kubernetes a partir de uma única instância. Ele suporta multilocação, para que diferentes equipes possam gerenciar seus aplicativos de forma independente.

Definição da aplicação

Os aplicativos no Argo CD são definidos usando o Application CRD (definição personalizada de recursos). Isso permite uma forma nativa do Kubernetes de definir o que deve ser implantado e como.

Separação entre implantação e lançamento

O Argo CD separa a implantação do código de seu lançamento para os usuários. Isso é obtido por meio de várias estratégias de implantação, como blue/green implantações canárias.

Observabilidade e auditabilidade

O Argo CD fornece uma interface de usuário da web e uma CLI para observar o estado dos aplicativos e clusters. Todas as ações são registradas para fornecer uma trilha de auditoria clara das mudanças e implantações.

Segurança e RBAC

O Argo CD se integra ao controle de acesso baseado em funções (RBAC) do Kubernetes. Ele oferece suporte à integração de login único para autenticação e autorização.

Arquitetura conectável

O Argo CD é compatível com vários sistemas de gerenciamento de controle de origem, gráficos Helm, Kustomize e outros formatos de manifesto do Kubernetes. Essa flexibilidade permite que ele se encaixe em diversos ambientes e fluxos de trabalho.

Entrega contínua (CD)

Embora o Argo CD se concentre na entrega contínua, ele pode ser integrado às ferramentas de integração contínua (CI) para criar um CI/CD pipeline completo.

Ao aderir a esses GitOps princípios, o Argo CD fornece uma maneira robusta, escalável e segura de gerenciar as implantações do Kubernetes. Ele garante que o estado operacional do seu sistema esteja sempre sincronizado com o estado desejado definido no seu repositório Git e promove consistência, confiabilidade e facilidade de gerenciamento em ambientes complexos do Kubernetes.

Para cenários e requisitos que o Argo CD pode abordar, consulte os casos de uso do Argo CD posteriormente neste guia. Para uma comparação entre o Argo CD e o Flux, consulte Comparação de recursos posteriormente neste guia.

Para obter informações adicionais, consulte a documentação do CD Argo.

Arquitetura

O diagrama a seguir ilustra um fluxo de trabalho de CD GitOps orientado por CD que usa o Argo CD em um cluster EKS. Para obter informações detalhadas, consulte a documentação do CD Argo.

Arquitetura e fluxo de trabalho do Argo CD ativados. AWS

em que:

  • Etapa 1: mesclagem do Pull Request (PR). Um desenvolvedor confirma as alterações nos manifestos do Kubernetes ou nos gráficos do Helm que são armazenados em um repositório Git. Quando o PR é revisado e incorporado à ramificação principal, o estado desejado do aplicativo é atualizado no controle de origem.

  • Etapa 2: Sincronização do repositório. O Argo CD é executado em um namespace dedicado (argocd) no cluster EKS e monitora continuamente o repositório Git configurado. Quando detecta alterações, ele obtém as atualizações mais recentes para reconciliar o estado declarado.

  • Etapa 3: Implantação no namespace de destino. O Argo CD compara o estado desejado do Git com o estado ativo no cluster. Em seguida, ele aplica as alterações necessárias ao namespace da carga de trabalho de destino para que o aplicativo seja implantado ou atualizado adequadamente. Isso inclui gerenciar recursos do Kubernetes, como implantações, serviços e segredos ConfigMaps, para manter a consistência do cluster com a fonte confiável do Git.