View a markdown version of this page

Inférence des défaillances d'installation de l'opérateur via la console SageMaker AI - Amazon SageMaker AI

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Inférence des défaillances d'installation de l'opérateur via la console SageMaker AI

Présentation : lors de l'installation de l'opérateur d'inférence via la console SageMaker AI à l'aide de l'installation rapide ou de l'installation personnalisée, les CloudFormation piles sous-jacentes peuvent échouer en raison de divers problèmes. Cette section couvre les scénarios de défaillance courants et leurs solutions.

Échec de l'installation du module complémentaire de l'opérateur d'inférence via une installation rapide ou personnalisée

Problème : La création du HyperPod cluster se termine correctement, mais l'installation du module complémentaire de l'opérateur d'inférence échoue.

Causes courantes :

  • Les limites de capacité des pods ont été dépassées sur les nœuds du cluster. L'installation de l'opérateur d'inférence nécessite un minimum de 13 modules. Le type d'instance minimum recommandé estml.c5.4xlarge.

  • Problèmes d'autorisation IAM

  • Contraintes liées aux quotas de ressources

  • Problèmes de configuration réseau ou VPC

Symptômes et diagnostic

Symptômes :

  • Le module complémentaire d'opérateur d'inférence affiche le statut CREATE_FAILED ou DEGRADED dans la console

  • CloudFormation la pile associée au module complémentaire est dans l'état CREATE_FAILED

  • La progression de l'installation s'arrête ou affiche des messages d'erreur

Étapes de diagnostic :

  1. Vérifiez l'état du module complémentaire de l'opérateur d'inférence :

    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. Vérifiez les problèmes liés au nombre de 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. Vérifiez l'état de la CloudFormation pile (si vous utilisez l'installation par console) :

    # 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

Résolution

Pour résoudre l'échec de l'installation, enregistrez la configuration actuelle, supprimez le module complémentaire défaillant, corrigez le problème sous-jacent, puis réinstallez l'opérateur d'inférence via la console SageMaker AI (recommandé) ou la AWS CLI.

Étape 1 : enregistrer la configuration actuelle

  • Extrayez et enregistrez la configuration du module complémentaire avant de la supprimer :

    # 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 '.'

Étape 2 : supprimer le module complémentaire défaillant

  • Supprimez le module complémentaire d'opérateur d'inférence :

    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

Étape 3 : résoudre le problème sous-jacent

Choisissez la résolution appropriée en fonction de la cause de l'échec :

Si le problème est un dépassement de la limite de pods :

# 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

Étape 4 : Réinstaller l'opérateur d'inférence

Après avoir résolu le problème sous-jacent, réinstallez l'opérateur d'inférence en utilisant l'une des méthodes suivantes :

Étape 5 : vérifier la réussite de l'installation

# 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

L'installation de Cert-Manager a échoué car le webhook Kueue n'est pas prêt

Problème : L'installation du module complémentaire cert-manager échoue avec une erreur webhook car le service webhook Task Governance (Kueue) n'a aucun point de terminaison disponible. Il s'agit d'une condition de course qui se produit lorsque le gestionnaire de certificats essaie de créer des ressources avant que les pods webhook de Task Governance ne soient complètement opérationnels. Cela peut se produire lorsque le module complémentaire Task Governance est installé avec l'opérateur Inference lors de la création du cluster.

Symptômes et diagnostic

Message d’erreur:

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"

Cause première :

  • Le module complémentaire Task Governance installe et enregistre un webhook mutant qui intercepte toutes les créations de déploiement

  • Le module complémentaire CERT-Manager tente de créer des ressources de déploiement avant que les pods webhook de Task Governance ne soient prêts

  • Le contrôle d'admission de Kubernetes appelle le webhook Task Governance, mais celui-ci ne possède aucun point de terminaison (les pods ne fonctionnent pas encore)

Étape diagnostique :

  1. Vérifiez l'état du module complémentaire 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

Résolution

Solution : supprimez et réinstallez cert-manager

Le webhook sur la gouvernance des tâches est prêt en 60 secondes. Supprimez et réinstallez simplement le module complémentaire cert-manager :

  1. Supprimez le module complémentaire cert-manager qui a échoué :

    aws eks delete-addon \ --cluster-name $EKS_CLUSTER_NAME \ --addon-name cert-manager \ --region $REGION
  2. Attendez 30 à 60 secondes pour que le webhook Task Governance soit prêt, puis réinstallez le module complémentaire cert-manager :

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