Ayude a mejorar esta página
Para contribuir a esta guía del usuario, elija el enlace Edit this page on GitHub que se encuentra en el panel derecho de cada página.
Solución de problemas con capacidades de Argo CD
En este tema, se proporciona una guía para la solución de problemas de la capacidad de EKS para Argo CD, lo que incluye las comprobaciones de estado de la capacidad, los problemas de sincronización de las aplicaciones, la autenticación de repositorios y las implementaciones en varios clústeres.
nota
Las capacidades de EKS son completamente administradas y se ejecutan fuera del clúster. No tiene acceso a los registros del servidor de Argo CD ni al espacio de nombres argocd. La solución de problemas se centra en el estado de la capacidad, el estado de la aplicación y la configuración.
La capacidad está ACTIVA, pero las aplicaciones no se sincronizan
Si la capacidad de Argo CD muestra el estado ACTIVE, pero las aplicaciones no se están sincronizando, compruebe el estado de la capacidad y de la aplicación.
Compruebe el estado de la capacidad:
Puede ver los problemas de estado de la capacidad en la consola de EKS o mediante la AWS CLI.
Consola:
-
Abra la consola de Amazon EKS en https://console.aws.amazon.com/eks/home#/clusters.
-
Seleccione el nombre del clúster.
-
Seleccione la pestaña Observabilidad.
-
Elija Supervisar clúster.
-
Seleccione la pestaña Capacidades para ver el estado de todas las capacidades.
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 habituales:
-
Repositorio no configurado: el repositorio de Git no se agregó a Argo CD.
-
Error de autenticación: las credenciales de la clave SSH, el token o CodeCommit no son válidas.
-
Aplicación no creada: no hay recursos de la aplicación en el clúster.
-
Política de sincronización: se requiere sincronización manual (la sincronización automática no está activada).
-
Permisos de IAM: faltan permisos para CodeCommit o Secrets Manager.
Compruebe el estado de la aplicación:
# 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}'
Compruebe las condiciones de la aplicación:
# 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}'
Aplicaciones bloqueadas en el estado “En curso”
Si una aplicación muestra Progressing, pero nunca aparece Healthy, compruebe el estado de los recursos y los eventos de la aplicación.
Compruebe el estado de los recursos:
# 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 habituales:
-
La implementación no está lista: los pods no se inician o las sondas de preparación fallan.
-
Dependencias de recursos: recursos que esperan a que otros recursos estén listos.
-
Errores al extraer imágenes: no se puede acceder a las imágenes del contenedor.
-
Recursos insuficientes: el clúster carece de CPU o memoria para los pods.
Verifique la configuración del clúster de destino (para configuraciones de varios clústeres):
# 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
Errores de autenticación de repositorios
Si Argo CD no puede acceder a los repositorios de Git, compruebe la configuración de autenticación.
Para repositorios de CodeCommit:
Compruebe que el rol de capacidad de IAM tenga permisos de 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
El rol necesita el permiso codecommit:GitPull para los repositorios.
Para repositorios de Git privados:
Compruebe que las credenciales del repositorio estén configuradas correctamente:
# Check repository secret exists kubectl get secret -n argocdrepo-secret-name-o yaml
Asegúrese de que el secreto contenga las credenciales de autenticación correctas (clave SSH, token o nombre de usuario y contraseña).
Para los repositorios que utilizan 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 en implementaciones de varios clústeres
Si las aplicaciones no se implementan en clústeres remotos, compruebe la configuración de acceso y el registro del clúster.
Compruebe el registro del clúster:
# 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
Asegúrese de que el campo server contenga el ARN del clúster de EKS, no la URL de la API de Kubernetes.
Compruebe la entrada de acceso del clúster de destino:
En el clúster de destino, compruebe que el rol de capacidad de Argo CD tenga una entrada de acceso:
# 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
Compruebe los permisos de IAM para varias cuentas:
Para las implementaciones entre cuentas, compruebe que el rol de capacidad de Argo CD tenga una entrada de acceso en el clúster de destino. La capacidad administrada utiliza las entradas de acceso de EKS para el acceso entre cuentas, no para asumir el rol de IAM.
Para obtener más información sobre la configuración de varios clústeres, consulte Registro de clústeres de destino.
Siguientes pasos
-
Consideraciones sobre Argo CD: consideraciones y prácticas recomendadas de Argo CD
-
Uso de Argo CD: creación y administración de aplicaciones de Argo CD
-
Registro de clústeres de destino: configuración de implementaciones de varios clústeres
-
Solución de problemas de capacidades de EKS: orientación general de solución de problemas de la capacidad