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
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.