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.
Como trabalhar com o Argo CD
Ao usar o Argo CD, você define as aplicações em repositórios do Git e a funcionalidade se encarrega de sincronizá-las automaticamente nos clusters do Kubernetes. Isso permite a implantação de aplicações de forma declarativa e com controle de versão, contando com a detecção automática de desvios.
Pré-requisitos
Antes de começar a trabalhar o Argo CD, é necessário ter:
-
Um cluster do EKS com a funcionalidade para o Argo CD criada (consulte Criar um recurso Argo CD)
-
Um repositório do Git que contém manifestos do Kubernetes
-
kubectlconfigurado para o estabelecimento de comunicação com o cluster
Tarefas comuns
Os seguintes tópicos orientam você na realização de tarefas comuns do Argo CD:
Configuração do acesso ao repositório: configure o Argo CD para acessar seus repositórios do Git usando o AWS Secrets Manager, o AWS CodeConnections ou Kubernetes Secrets.
Registro de clusters de destino: registre os clusters de destino nos quais o Argo CD implantará aplicações.
Trabalho com o Argo CD Projects: organize aplicações e aplique limites de segurança usando Projects para ambientes multilocatários.
Configurar as definições do Argo CD : configure o comportamento do Argo CD usando o ConfigMap argocd-cm, incluindo verificações de integridade personalizadas para recursos personalizados.
Criação de Applications - crie Applications que realizam a implantação de repositórios do Git com políticas de sincronização automática ou manual.
Uso de ApplicationSets - use ApplicationSets para implantar aplicações em múltiplos ambientes ou clusters usando modelos e geradores.
Acesso à interface do usuário do Argo CD
Acesse a interface do usuário do Argo CD por meio do console do EKS:
-
Abra o console do Amazon EKS
-
Selecione o cluster
-
Escolha a guia Funcionalidades
-
Escolha Argo CD
-
Escolha Abrir interface do usuário do Argo CD
A interface de usuário fornece a topologia visual da aplicação, o status e o histórico de sincronização, a integridade dos recursos e os eventos, os controles de sincronização manual e o gerenciamento de aplicações.
URL do endpoint do Argo CD
Ao criar um recurso do Argo CD, você recebe um endpoint exclusivo para a interface do usuário e a API do Argo CD. O nome do host do endpoint é determinístico: ele usa valores que você já conhece, como nome do recurso, nome do cluster, ID da conta da AWS e Região da AWS. Se você excluir um recurso e recriá-lo com o mesmo nome de cluster e nome de recurso, obterá o mesmo endpoint. Como o nome do host é previsível, você pode construí-lo com antecedência. Por exemplo, você pode pré-configurar integrações de DNS, automação ou webhook do Git antes que o recurso termine o provisionamento. Para qualquer recurso, o valor serverUrl de describe-capability é o endpoint definitivo.
nota
Como o endpoint é reutilizado, as integrações que apontavam para o recurso anterior (webhooks do Git, tokens e registros DNS) se conectam ao novo automaticamente, sem indicação de que a instância foi alterada. Depois de recriar um recurso, verifique novamente essas integrações e alterne todos os segredos de webhook ou tokens que foram compartilhados com a instância anterior.
Recuperar o endpoint
Para obter o endpoint exato de um recurso, use o comando describe-capability e leia o valor serverUrl. Substitua region-code, my-cluster e my-argocd pelos seus valores:
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-namemy-argocd\ --query 'capability.configuration.argoCd.serverUrl' \ --output text
nota
O campo serverUrl e os registros DNS do endpoint ficam disponíveis após a alteração do status do recurso para ACTIVE.
Formato do endpoint
O endpoint do Argo CD usa o seguinte formato:
https://capability-name-hash-account-id.eks-capabilities.region-code.amazonaws.com
O hostname consiste nos seguintes componentes:
-
capability-name: o nome do recurso do Argo CD, normalizado para minúsculas com cada sublinhado (_) substituído por um hífen (-). Se o nome normalizado tiver mais de 41 caracteres, ele será truncado para 41 caracteres. -
hash: um valor hexadecimal de 8 caracteres que torna o nome do host exclusivo. São os primeiros 8 caracteres do hash SHA-256 do nome do seu recurso e do nome do cluster. Os nomes são unidos por uma barra (capability-name/cluster-name). Use os nomes exatos que você especificou ao criar o recurso. Esse valor fornece apenas exclusividade e não é um controle de segurança. -
account-id: o ID de 12 dígitos da sua conta da AWS. -
eks-capabilities.region-code.amazonaws.com: o domínio do serviço Capacidades do EKS para sua Região da AWS.
Por exemplo, um recurso chamado my-argocd no cluster my-cluster na conta 111122223333 na região us-west-2 tem um endpoint semelhante ao seguinte:
https://my-argocd-dc855fdf-111122223333.eks-capabilities.us-west-2.amazonaws.com
O nome do host usa o nome do recurso normalizado, mas o hash usa o nome bruto que você especificou. Por exemplo, o recurso Payments_GitOps no cluster my-cluster é normalizado para payments-gitops no nome do host e seu hash vem da string bruta Payments_GitOps/my-cluster:
https://payments-gitops-4ce0b382-111122223333.eks-capabilities.us-west-2.amazonaws.com
nota
Use a saída describe-capability para confirmar o endpoint exato da sua Região da AWS.
Você mesmo pode calcular o componente de hash. Use sha256sum no Linux ou shasum -a 256 no macOS. Os comandos a seguir usam o exemplo de recurso my-argocd no cluster my-cluster. Use os nomes exatos que você especificou ao criar o recurso:
# Linux printf '%s' "my-argocd/my-cluster" | sha256sum | cut -c1-8 # macOS printf '%s' "my-argocd/my-cluster" | shasum -a 256 | cut -c1-8
Ambos os comandos retornam dc855fdf.
Acesso e segurança de endpoints
O nome do host do endpoint não é um segredo e saber disso não concede acesso à sua instância do Argo CD. O nome do host expõe as mesmas informações não secretas que já aparecem no recurso nome do recurso da Amazon (ARN). As operações create-capability, describe-capability e list-capabilities retornam esse ARN. AWS A autenticação do Centro de Identidade e o controle de acesso baseado em função (RBAC) do Argo CD controlam o acesso à interface do usuário e à API do Argo CD.
Se você configurar o acesso privado ao endpoint, o nome do host será resolvido somente para endereços IP privados associados ao seu endpoint da VPC. Você pode acessar o endpoint somente de sua VPC ou de redes conectadas. Para obter mais informações, consulte Configurar o acesso privado ao endpoint para o Argo CD.
Documentação original
Para obter informações detalhadas sobre as funcionalidades do Argo CD:
-
Documentação do Argo CD
: acesse o guia do usuário completo -
Application Spec
: acesse a referência de API completa para a Application -
ApplicationSet Guide
: acesse padrões e exemplos de ApplicationSet -
Argo CD GitHub
: acesse o código-fonte e exemplos