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 de capacidades de EKS
En este tema, se proporciona una guía general de solución de problemas para las capacidades de EKS, lo que incluye las comprobaciones de estado de las capacidades, los problemas comunes y los enlaces a la solución de problemas específicos de las capacidades.
nota
Las capacidades de EKS son completamente administradas y se ejecutan fuera del clúster. No tiene acceso a los registros ni a los espacios de nombres de los controladores. La solución de problemas se centra en el estado de la capacidad, el estado de los recursos y la configuración.
Enfoque general para la solución de problemas
Al solucionar problemas de las capacidades de EKS, siga este enfoque general:
-
Compruebe el estado de la capacidad: utilice
aws eks describe-capabilitypara ver el estado de la capacidad y los problemas de estado. -
Compruebe el estado de los recursos: compruebe los eventos y las condiciones de estado de los recursos de Kubernetes (CRD) que ha creado.
-
Revise los permisos de IAM: asegúrese de que el rol de capacidad tenga los permisos necesarios.
-
Compruebe la configuración: compruebe que la configuración específica de la capacidad sea correcta.
Comprobación de estado de la capacidad
Todas las capacidades de EKS proporcionan información sobre el estado a través de la consola de EKS y la API describe-capability.
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.
La pestaña Capacidades muestra lo siguiente:
-
Nombre y tipo de capacidad
-
Estado actual
-
Problemas de estado, con descripción
AWS CLI:
aws eks describe-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-capability-name
La respuesta incluye:
-
estado: estado actual de la capacidad (
CREATING,ACTIVE,UPDATING,DELETING,CREATE_FAILED,UPDATE_FAILED) -
estado: información sobre el estado, incluidos los problemas detectados por la capacidad
Estados de capacidad comunes
CREANDO: Se está configurando la capacidad.
ACTIVA: la capacidad está en ejecución y lista para usarse. Si los recursos no funcionan según lo esperado, compruebe el estado de los recursos y los permisos de IAM.
ACTUALIZANDO: se están aplicando cambios en la configuración. Espere a que el estado vuelva a ser ACTIVE.
CREATE_FAILED o UPDATE_FAILED: la configuración o la actualización detectaron un error. Consulte la sección sobre el estado para obtener más información. Causas comunes:
-
Falta la política de confianza del rol de IAM o no se encuentra
-
El rol de IAM no existe o no se puede acceder a él
-
Problemas de acceso al clúster
-
Parámetros de configuración no válidos
Comprobación del estado de los recursos de Kubernetes
Las capacidades de EKS crean y administran definiciones de recursos personalizados (CRD) de Kubernetes en el clúster. Al solucionar problemas, compruebe el estado de los recursos que creó:
# List resources of a specific type kubectl getresource-kind-A # Describe a specific resource to see conditions and events kubectl describeresource-kindresource-name-nnamespace# View resource status conditions kubectl getresource-kindresource-name-nnamespace-o jsonpath='{.status.conditions}' # View events related to the resource kubectl get events --field-selector involvedObject.name=resource-name-nnamespace
Las condiciones de estado de los recursos proporcionan información sobre:
-
Si el recurso está listo
-
Cualquier error encontrado
-
Estado de conciliación actual
Revisión de los permisos de IAM y el acceso al clúster
Muchos problemas de las capacidades se deben a problemas con los permisos de IAM o a la falta de una configuración de acceso al clúster. Compruebe los permisos del rol de capacidad y las entradas de acceso al clúster.
Comprobación de los roles de IAM
Compruebe que el rol de capacidad tenga los permisos necesarios:
# List attached managed policies aws iam list-attached-role-policies --role-namemy-capability-role# List inline policies aws iam list-role-policies --role-namemy-capability-role# Get specific policy details aws iam get-role-policy --role-namemy-capability-role--policy-namepolicy-name# View the role's trust policy aws iam get-role --role-namemy-capability-role--query 'Role.AssumeRolePolicyDocument'
La política de confianza debe permitir la entidad principal de servicio capabilities.eks.amazonaws.com:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "capabilities.eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Comprobación de las entradas y políticas de acceso de EKS
Todas las capacidades requieren entradas de acceso y políticas de acceso de EKS adecuadas en el clúster en el que operan.
Compruebe que la entrada de acceso exista:
aws eks list-access-entries \ --cluster-namemy-cluster\ --regionregion-code
Busque el ARN del rol de capacidad en la lista. Si falta, la capacidad no puede acceder al clúster.
Compruebe las políticas de acceso adjuntas a la entrada:
aws eks list-associated-access-policies \ --cluster-namemy-cluster\ --principal-arnarn:aws:iam::111122223333:role/my-capability-role\ --regionregion-code
Todas las capacidades requieren políticas de acceso adecuadas:
-
ACK: necesita permisos para crear y administrar los recursos de Kubernetes.
-
kro: necesita permisos para crear y administrar los recursos de Kubernetes.
-
Argo CD: necesita permisos para crear y administrar aplicaciones, así como entradas de acceso en clústeres de destino remotos para implementaciones de varios clústeres.
Para las implementaciones de varios clústeres de Argo CD:
Si se implementa en clústeres remotos, compruebe que el rol de capacidad tenga una entrada de acceso en cada clúster de destino:
# Check Access Entry on target cluster aws eks describe-access-entry \ --cluster-nametarget-cluster\ --principal-arnarn:aws:iam::111122223333:role/argocd-capability-role\ --regionregion-code
Si falta la entrada de acceso en un clúster de destino, Argo CD no podrá implementar aplicaciones en él. Consulte Registro de clústeres de destino para obtener información detallada sobre la configuración.
Solución de problemas específicos de la capacidad
Para obtener una guía detallada de solución de problemas específica para cada tipo de capacidad:
-
Solución de problemas con capacidades de ACK: solución de problemas relacionados con la creación de recursos de ACK, los permisos de IAM y el acceso entre cuentas
-
Solución de problemas con capacidades de Argo CD: solución de problemas de sincronización de aplicaciones, autenticación de repositorios e implementaciones de varios clústeres
-
Solución de problemas con capacidades de kro: solución de problemas de ResourceGraphDefinitions, expresiones de CEL y permisos de RBAC
Problemas comunes en todas las capacidades
La capacidad se ha bloqueado en el estado CREANDO
Si una capacidad permanece en el estado CREATING durante más tiempo del esperado:
-
Verifique el estado de la capacidad para identificar problemas específicos en la consola (Observabilidad > Supervisar clúster > pestaña Capacidades) o mediante la CLI de AWS.
aws eks describe-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-capability-name \ --query 'capability.health' -
Compruebe si el rol de IAM existe y tiene la política de confianza correcta.
-
Asegúrese de que el clúster sea accesible y esté en buen estado.
-
Compruebe si hay algún problema en el clúster que pueda impedir la configuración de la capacidad.
Los recursos no se crean o actualizan
Si la capacidad es ACTIVE, pero los recursos no se crean o actualizan:
-
Compruebe el estado del recurso para ver si hay condiciones de error.
-
Compruebe los permisos de IAM para los servicios de AWS (ACK) o repositorios (Argo CD) específicos.
-
Compruebe los permisos de RBAC para crear recursos subyacentes (kro).
-
Revise las especificaciones de los recursos para ver si hay errores de validación.
El estado de la capacidad muestra problemas
Si describe-capability muestra problemas de estado:
-
Lea atentamente las descripciones de los problemas, ya que suelen indicar el problema específico.
-
Aborde la causa raíz (permisos de IAM, errores de configuración, etc.).
-
La capacidad se recuperará automáticamente una vez que se resuelva el problema.
Siguientes pasos
-
Uso de recursos de capacidades: administración de los recursos de la capacidad
-
Solución de problemas con capacidades de ACK: solución de problemas específicos de ACK
-
Solución de problemas con capacidades de Argo CD: solución de problemas específicos de Argo CD
-
Solución de problemas con capacidades de kro: solución de problemas específicos de kro
-
Consideraciones sobre la seguridad para las capacidades de EKS: prácticas recomendadas de seguridad para capacidades