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.
Solução de problemas em funcionalidades do Argo CD
Este tópico fornece orientações de solução de problemas para a funcionalidade do EKS destinada ao Argo CD, incluindo verificações de integridade da funcionalidade, problemas de sincronização de aplicações, autenticação de repositórios e implantações em vários clusters.
nota
As funcionalidades do EKS são totalmente gerenciadas e executadas de forma externa ao cluster. Você não tem acesso aos logs do servidor do Argo CD nem ao namespace argocd. A solução de problemas se concentra na integridade da funcionalidade, no status das aplicações e na configuração.
Funcionalidade está com o status ACTIVE, mas as aplicações não estão sincronizando
Se a funcionalidade do Argo CD apresentar o status ACTIVE, mas as aplicações não estiverem sincronizando, verifique a integridade da funcionalidade e o status das aplicações.
Verifique a integridade da funcionalidade:
Você pode visualizar problemas de integridade e de status da funcionalidade no console do EKS ou usando a AWS CLI.
Console do:
-
Abra o console do Amazon EKS em https://console.aws.amazon.com/eks/home#/clusters.
-
Selecione o nome do seu cluster.
-
Escolha a guia Observabilidade.
-
Escolha Monitorar cluster.
-
Escolha a guia Funcionalidades para visualizar a integridade e o status de todas as funcionalidades.
AWS CLI:
# View capability status and health aws eks describe-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-argocd # Look for issues in the health section
Causas comuns:
-
Repositório não configurado: o repositório do Git não foi adicionado ao Argo CD
-
Falha na autenticação: a chave SSH, o token ou as credenciais do CodeCommit estão inválidos
-
Aplicação não criada: não existem recursos de Application no cluster
-
Política de sincronização: a sincronização manual é necessária (sincronização automática não habilitada)
-
Permissões do IAM: as permissões estão ausentes para o CodeCommit ou o Secrets Manager
Verifique o status da aplicação:
# List applications kubectl get application -n argocd # View sync status kubectl get application my-app -n argocd -o jsonpath='{.status.sync.status}' # View application health kubectl get application my-app -n argocd -o jsonpath='{.status.health}'
Verifique as condições da aplicação:
# Describe application to see detailed status kubectl describe application my-app -n argocd # View application health kubectl get application my-app -n argocd -o jsonpath='{.status.health}'
Aplicações travadas no estado “Progressing”
Se uma aplicação estiver em Progressing mas nunca atingir Healthy, verifique o status dos recursos da aplicação e os eventos.
Verifique a integridade do recurso:
# View application resources kubectl get application my-app -n argocd -o jsonpath='{.status.resources}' # Check for unhealthy resources kubectl describe application my-app -n argocd | grep -A 10 "Health Status"
Causas comuns:
-
Implantação não está pronta: os pods não conseguem iniciar ou as sondagens de prontidão apresentam falhas
-
Dependências entre recursos: existem recursos esperando que outros recursos fiquem prontos
-
Erros ao obter imagens: as imagens de contêiner não estão acessíveis
-
Recursos insuficientes: o cluster não tem CPU ou memória suficiente para os pods
Verifique a configuração do cluster de destino (para configurações com vários clusters):
# List registered clusters kubectl get secret -n argocd -l argocd.argoproj.io/secret-type=cluster # View cluster secret details kubectl get secretcluster-secret-name-n argocd -o yaml
Falhas na autenticação do repositório
Se o Argo CD não conseguir acessar seus repositórios do Git, verifique a configuração de autenticação.
Para repositórios do CodeCommit:
Verifique se o perfil da funcionalidade do IAM tem as permissões necessárias para o CodeCommit:
# View IAM policies aws iam list-attached-role-policies --role-namemy-argocd-capability-roleaws iam list-role-policies --role-namemy-argocd-capability-role# Get specific policy details aws iam get-role-policy --role-namemy-argocd-capability-role--policy-namepolicy-name
É necessário que o perfil conte com a permissão codecommit:GitPull para os repositórios.
Para repositórios do Git privados:
Verifique se as credenciais do repositório estão configuradas corretamente:
# Check repository secret exists kubectl get secret -n argocdrepo-secret-name-o yaml
Certifique-se de que o segredo contenha as credenciais de autenticação adequadas (por exemplo, chave SSH, token ou usuário/senha).
Para repositórios que usam o Secrets Manager:
# Verify IAM Capability Role has Secrets Manager permissions aws iam list-attached-role-policies --role-namemy-argocd-capability-role# Test secret retrieval aws secretsmanager get-secret-value --secret-idarn:aws:secretsmanager:region-code:111122223333:secret:my-secret
Problemas relacionados à implantação em vários clusters
Se as aplicações não estiverem sendo implantadas em clusters remotos, verifique o registro do cluster e a configuração de acesso.
Verifique o registro do cluster:
# List registered clusters kubectl get secret -n argocd -l argocd.argoproj.io/secret-type=cluster # Verify cluster secret format kubectl get secret CLUSTER_SECRET_NAME -n argocd -o yaml
Certifique-se de que o campo server contenha o ARN do cluster EKS, e não o URL da API do Kubernetes.
Verifique a entrada de acesso do cluster de destino:
No cluster de destino, confirme que o perfil da funcionalidade do IAM destinado ao Argo CD conta com uma entrada de acesso:
# List access entries (run on target cluster or use AWS CLI) aws eks list-access-entries --cluster-nametarget-cluster# Describe specific access entry aws eks describe-access-entry \ --cluster-nametarget-cluster\ --principal-arn arn:aws:iam::[.replaceable]111122223333:role/my-argocd-capability-role
Verifique as permissões do IAM para várias contas:
Para implantações entre contas, confirme que o perfil da funcionalidade do IAM destinado ao Argo CD conta com uma entrada de acesso no cluster de destino. A funcionalidade gerenciada emprega entradas de acesso do EKS para o acesso entre contas, e não a suposição do perfil do IAM.
Para obter mais informações sobre configuração de vários clusters, consulte Registro de clusters de destino.
Próximas etapas
-
Considerações sobre o Argo CD: acesse considerações e práticas recomendadas do Argo CD
-
Como trabalhar com o Argo CD: crie e gerencie Applications do Argo CD
-
Registro de clusters de destino: configure implantações em vários clusters
-
Solução de problemas das funcionalidades do EKS: acesse orientações gerais para solução de problemas de funcionalidades