

 **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
<a name="capabilities-troubleshooting"></a>

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
<a name="_general_troubleshooting_approach"></a>

Al solucionar problemas de las capacidades de EKS, siga este enfoque general:

1.  **Compruebe el estado de la capacidad**: utilice `aws eks describe-capability` para ver el estado de la capacidad y los problemas de estado.

1.  **Compruebe el estado de los recursos**: compruebe los eventos y las condiciones de estado de los recursos de Kubernetes (CRD) que ha creado.

1.  **Revise los permisos de IAM**: asegúrese de que el rol de capacidad tenga los permisos necesarios.

1.  **Compruebe la configuración**: compruebe que la configuración específica de la capacidad sea correcta.

## Comprobación de estado de la capacidad
<a name="_check_capability_health"></a>

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**:

1. Abra la consola de Amazon EKS en https://console.aws.amazon.com/eks/home\$1/clusters.

1. Seleccione el nombre del clúster.

1. Seleccione la pestaña **Observabilidad**.

1. Elija **Supervisar clúster**.

1. 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
<a name="_common_capability_statuses"></a>

 **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\$1FAILED** o **UPDATE\$1FAILED**: 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
<a name="_verify_kubernetes_resource_status"></a>

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 get resource-kind -A

# Describe a specific resource to see conditions and events
kubectl describe resource-kind
         resource-name -n namespace

# View resource status conditions
kubectl get resource-kind
         resource-name -n namespace -o jsonpath='{.status.conditions}'

# View events related to the resource
kubectl get events --field-selector involvedObject.name=resource-name -n namespace
```

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
<a name="_review_iam_permissions_and_cluster_access"></a>

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
<a name="_check_iam_role_permissions"></a>

Compruebe que el rol de capacidad tenga los permisos necesarios:

```
# List attached managed policies
aws iam list-attached-role-policies --role-name my-capability-role

# List inline policies
aws iam list-role-policies --role-name my-capability-role

# Get specific policy details
aws iam get-role-policy --role-name my-capability-role --policy-name policy-name

# View the role's trust policy
aws iam get-role --role-name my-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
<a name="_check_eks_access_entries_and_access_policies"></a>

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-name my-cluster \
  --region region-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-name my-cluster \
  --principal-arn arn:aws:iam::111122223333:role/my-capability-role \
  --region region-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-name target-cluster \
  --principal-arn arn:aws:iam::111122223333:role/argocd-capability-role \
  --region region-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](argocd-register-clusters.md) para obtener información detallada sobre la configuración.

## Solución de problemas específicos de la capacidad
<a name="_capability_specific_troubleshooting"></a>

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](ack-troubleshooting.md): 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](argocd-troubleshooting.md): 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](kro-troubleshooting.md): solución de problemas de ResourceGraphDefinitions, expresiones de CEL y permisos de RBAC

## Problemas comunes en todas las capacidades
<a name="_common_issues_across_all_capabilities"></a>

### La capacidad se ha bloqueado en el estado CREANDO
<a name="_capability_stuck_in_creating_state"></a>

Si una capacidad permanece en el estado `CREATING` durante más tiempo del esperado:

1. 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'
   ```

1. Compruebe si el rol de IAM existe y tiene la política de confianza correcta.

1. Asegúrese de que el clúster sea accesible y esté en buen estado.

1. 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
<a name="_resources_not_being_created_or_updated"></a>

Si la capacidad es `ACTIVE`, pero los recursos no se crean o actualizan:

1. Compruebe el estado del recurso para ver si hay condiciones de error.

1. Compruebe los permisos de IAM para los servicios de AWS (ACK) o repositorios (Argo CD) específicos.

1. Compruebe los permisos de RBAC para crear recursos subyacentes (kro).

1. Revise las especificaciones de los recursos para ver si hay errores de validación.

### El estado de la capacidad muestra problemas
<a name="_capability_health_shows_issues"></a>

Si `describe-capability` muestra problemas de estado:

1. Lea atentamente las descripciones de los problemas, ya que suelen indicar el problema específico.

1. Aborde la causa raíz (permisos de IAM, errores de configuración, etc.).

1. La capacidad se recuperará automáticamente una vez que se resuelva el problema.

## Siguientes pasos
<a name="_next_steps"></a>
+  [Uso de recursos de capacidades](working-with-capabilities.md): administración de los recursos de la capacidad
+  [Solución de problemas con capacidades de ACK](ack-troubleshooting.md): solución de problemas específicos de ACK
+  [Solución de problemas con capacidades de Argo CD](argocd-troubleshooting.md): solución de problemas específicos de Argo CD
+  [Solución de problemas con capacidades de kro](kro-troubleshooting.md): solución de problemas específicos de kro
+  [Consideraciones sobre la seguridad para las capacidades de EKS](capabilities-security.md): prácticas recomendadas de seguridad para capacidades