View a markdown version of this page

Deduzca los errores de instalación del operador mediante una consola de SageMaker IA - Amazon SageMaker AI

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

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

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 esml.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

Síntomas:

  • El complemento Inference Operator muestra el estado CREATE_FAILED o DEGRADED en la consola

  • CloudFormation la pila asociada al complemento tiene el estado CREATE_FAILED

  • 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
  2. 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"
  3. 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

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:

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

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

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

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
  2. 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