

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Deduzca los errores de instalación del operador mediante una consola de SageMaker IA
<a name="sagemaker-hyperpod-model-deployment-ts-console-cfn-failures"></a>

**Descripción general:** Al instalar el operador de inferencia a través de la consola de SageMaker IA mediante una instalación rápida o una instalación personalizada, es posible que las CloudFormation pilas subyacentes fallen debido a varios problemas. En esta sección se describen los escenarios de error más comunes y sus soluciones.

## Deduzca el error en la instalación del complemento por parte del operador mediante una instalación rápida o personalizada
<a name="sagemaker-hyperpod-model-deployment-ts-console-cfn-stack-failed"></a>

**Problema:** la creación del HyperPod clúster se completa correctamente, pero se produce un error al instalar el complemento del operador de inferencia.

**Causas habituales:**
+ Se han superado los límites de capacidad del pod en los nodos del clúster. La instalación del operador de inferencia requiere un mínimo de 13 pods. El tipo de instancia mínimo recomendado es`ml.c5.4xlarge`.
+ Problemas con los permisos de IAM
+ Restricciones de cuota de recursos
+ Problemas de configuración de red o VPC

### Síntomas y diagnóstico
<a name="sagemaker-hyperpod-model-deployment-ts-console-cfn-symptoms"></a>

**Síntomas:**
+ El complemento Inference Operator muestra el estado CREATE\$1FAILED o DEGRADED en la consola
+ CloudFormation la pila asociada al complemento tiene el estado CREATE\$1FAILED
+ El progreso de la instalación se detiene o muestra mensajes de error

**Pasos de diagnóstico:**

1. Compruebe el estado del complemento del operador de inferencia:

   ```
   aws eks describe-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name amazon-sagemaker-hyperpod-inference \
       --region $REGION \
       --query "addon.{Status:status,Health:health,Issues:issues}" \
       --output json
   ```

1. Compruebe si hay problemas con el límite de los pods:

   ```
   # Check current pod count per node
   kubectl get nodes -o json | jq '.items[] | {name: .metadata.name, allocatable: .status.allocatable.pods, capacity: .status.capacity.pods}'
   
   # Check pods running on each node
   kubectl get pods --all-namespaces -o wide | awk '{print $8}' | sort | uniq -c
   
   # Check for pod evictions or failures
   kubectl get events --all-namespaces --sort-by='.lastTimestamp' | grep -i "pod\|limit\|quota"
   ```

1. Comprueba el estado de la CloudFormation pila (si utilizas la instalación de la consola):

   ```
   # List CloudFormation stacks related to the cluster
   aws cloudformation list-stacks \
       --region $REGION \
       --query "StackSummaries[?contains(StackName, '$EKS_CLUSTER_NAME') && StackStatus=='CREATE_FAILED'].{Name:StackName,Status:StackStatus,Reason:StackStatusReason}" \
       --output table
   
   # Get detailed stack events
   aws cloudformation describe-stack-events \
       --stack-name <stack-name> \
       --region $REGION \
       --query "StackEvents[?ResourceStatus=='CREATE_FAILED']" \
       --output table
   ```

### Resolución
<a name="sagemaker-hyperpod-model-deployment-ts-console-cfn-resolution"></a>

Para resolver el error de instalación, guarde la configuración actual, elimine el complemento fallido, corrija el problema subyacente y, a continuación, vuelva a instalar el operador de inferencia a través de la consola de SageMaker IA (se recomienda) o la AWS CLI.

**Paso 1: Guarde la configuración actual**
+ Extraiga y guarde la configuración del complemento antes de eliminarla:

  ```
  # Save the current configuration
  aws eks describe-addon \
      --cluster-name $EKS_CLUSTER_NAME \
      --addon-name amazon-sagemaker-hyperpod-inference \
      --region $REGION \
      --query 'addon.configurationValues' \
      --output text > addon-config-backup.json
  
  # Verify the configuration was saved
  cat addon-config-backup.json
  
  # Pretty print for readability
  cat addon-config-backup.json | jq '.'
  ```

**Paso 2: Eliminar el complemento fallido**
+ Elimine el complemento del operador de inferencia:

  ```
  aws eks delete-addon \
      --cluster-name $EKS_CLUSTER_NAME \
      --addon-name amazon-sagemaker-hyperpod-inference \
      --region $REGION
  
  # Wait for deletion to complete
  echo "Waiting for add-on deletion..."
  aws eks wait addon-deleted \
      --cluster-name $EKS_CLUSTER_NAME \
      --addon-name amazon-sagemaker-hyperpod-inference \
      --region $REGION 2>/dev/null || sleep 60
  ```

**Paso 3: Solucione el problema subyacente**

Elija la solución adecuada en función de la causa del error:

Si se ha superado el límite de cápsulas del problema:

```
# The inference operator requires a minimum of 13 pods.
# The minimum recommended instance type is ml.c5.4xlarge.
#
# Option 1: Add instance group with higher pod capacity
# Different instance types support different maximum pod counts
# For example: m5.large (29 pods), m5.xlarge (58 pods), m5.2xlarge (58 pods)
aws sagemaker update-cluster \
    --cluster-name $HYPERPOD_CLUSTER_NAME \
    --region $REGION \
    --instance-groups '[{"InstanceGroupName":"worker-group-2","InstanceType":"ml.m5.xlarge","InstanceCount":2}]'

# Option 2: Scale existing node group to add more nodes
aws eks update-nodegroup-config \
    --cluster-name $EKS_CLUSTER_NAME \
    --nodegroup-name <nodegroup-name> \
    --scaling-config minSize=2,maxSize=10,desiredSize=5 \
    --region $REGION

# Option 3: Clean up unused pods
kubectl delete pods --field-selector status.phase=Failed --all-namespaces
kubectl delete pods --field-selector status.phase=Succeeded --all-namespaces
```

**Paso 4: Vuelva a instalar el operador de inferencia**

Tras solucionar el problema subyacente, vuelva a instalar el operador de inferencia mediante uno de los métodos siguientes:
+ **SageMaker Consola de IA con instalación personalizada (recomendada):** reutilice las funciones de IAM y el depósito de TLS existentes de la instalación anterior. Para ver los pasos, consulte [Método 1: instalar el complemento HyperPod Inference a través de una consola de SageMaker IA (recomendado)](sagemaker-hyperpod-model-deployment-setup.md#sagemaker-hyperpod-model-deployment-setup-ui).
+ **AWS CLI con configuración guardada:** utilice la configuración de la que hizo una copia de seguridad en el paso 1 para volver a instalar el complemento. Para ver todos los pasos de instalación de la CLI, consulte[Método 2: Instalación del operador de inferencia mediante la CLI AWS](sagemaker-hyperpod-model-deployment-setup.md#sagemaker-hyperpod-model-deployment-setup-addon).

  ```
  aws eks create-addon \
      --cluster-name $EKS_CLUSTER_NAME \
      --addon-name amazon-sagemaker-hyperpod-inference \
      --addon-version v1.0.0-eksbuild.1 \
      --configuration-values file://addon-config-backup.json \
      --region $REGION
  ```
+ **SageMaker Consola de IA con instalación rápida:** crea automáticamente nuevas funciones de IAM, un depósito de TLS y complementos de dependencia. Para ver los pasos, consulte [Método 1: instalar el complemento HyperPod Inference a través de una consola de SageMaker IA (recomendado)](sagemaker-hyperpod-model-deployment-setup.md#sagemaker-hyperpod-model-deployment-setup-ui).

**Paso 5: Compruebe que la instalación se ha realizado correctamente**

```
# Check add-on status
aws eks describe-addon \
    --cluster-name $EKS_CLUSTER_NAME \
    --addon-name amazon-sagemaker-hyperpod-inference \
    --region $REGION \
    --query "addon.{Status:status,Health:health}" \
    --output table

# Verify pods are running
kubectl get pods -n hyperpod-inference-system

# Check operator logs
kubectl logs -n hyperpod-inference-system deployment/hyperpod-inference-controller-manager --tail=50
```

## La instalación de Cert-Manager falló debido a que el webhook de Kueue no estaba listo
<a name="sagemaker-hyperpod-model-deployment-ts-console-kueue-webhook-race"></a>

**Problema:** la instalación del complemento cert-manager falla y se produce un error de webhook porque el servicio de webhook de Task Governance (Kueue) no tiene puntos de enlace disponibles. Se trata de una condición de carrera que se produce cuando cert-manager intenta crear recursos antes de que los módulos de webhook de Task Governance estén en pleno funcionamiento. Esto puede ocurrir cuando se instala el complemento Task Governance junto con el operador de inferencia durante la creación del clúster.

### Síntomas y diagnóstico
<a name="sagemaker-hyperpod-model-deployment-ts-console-kueue-symptoms"></a>

**Mensaje de error:**

```
AdmissionRequestDenied
Internal error occurred: failed calling webhook "mdeployment.kb.io": failed to call webhook: 
Post "https://kueue-webhook-service.kueue-system.svc:443/mutate-apps-v1-deployment?timeout=10s": 
no endpoints available for service "kueue-webhook-service"
```

**Causa raíz:**
+ El complemento Task Governance instala y registra un webhook mutante que intercepta todas las creaciones de Deployment
+ El complemento Cert-Manager intenta crear recursos de despliegue antes de que los webhooks de Task Governance estén listos
+ El control de admisión de Kubernetes llama webhook a Task Governance, pero no tiene puntos de conexión (los pods aún no se están ejecutando)

**Paso de diagnóstico:**

1. Compruebe el estado del complemento cert-manager:

   ```
   aws eks describe-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name cert-manager \
       --region $REGION \
       --query "addon.{Status:status,Health:health,Issues:issues}" \
       --output json
   ```

### Resolución
<a name="sagemaker-hyperpod-model-deployment-ts-console-kueue-resolution"></a>

**Solución: elimine y vuelva a instalar cert-manager**

El webhook de Task Governance estará listo en 60 segundos. Simplemente elimina y vuelve a instalar el complemento cert-manager:

1. Elimine el complemento cert-manager fallido:

   ```
   aws eks delete-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name cert-manager \
       --region $REGION
   ```

1. Espere entre 30 y 60 segundos hasta que el webhook de Task Governance esté listo y, a continuación, vuelva a instalar el complemento cert-manager:

   ```
   sleep 60
   
   aws eks create-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name cert-manager \
       --region $REGION
   ```