View a markdown version of this page

Inférence des échecs 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 échecs d'installation de l'opérateur via la console SageMaker AI

Aperçu : 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 s'est terminée correctement, mais l'installation du module complémentaire de l'opérateur d'inférence échoue.

Causes courantes :

  • Les limites de capacité des pods sont 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 relatives 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 à l'état CREATE_FAILED

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

Étapes du 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 à la limite des 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 qui a échoué, corrigez le problème sous-jacent, puis réinstallez l'opérateur d'inférence via la console SageMaker AI (recommandé) ou l' AWS interface de ligne de commande.

Étape 1 : enregistrer la configuration actuelle

  • Extrayez et enregistrez la configuration du module complémentaire avant de le 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 qui a échoué

  • 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 : Corrigez le problème sous-jacent

Choisissez la résolution appropriée en fonction de la cause de la panne :

Si le problème est dû au dépassement de la limite des 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éinstallez l'opérateur d'inférence

Après avoir résolu le problème sous-jacent, réinstallez l'opérateur d'inférence à l'aide de 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

Cert-manager l'installation 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 de webhook car le service webhook Task Governance (Kueue) n'a aucun point de terminaison disponible. Il s'agit d'une situation de concurrence qui se produit lorsque cert-manager essaie de créer des ressources avant que les pods webhook Task Governance ne soient complètement exécutés. Cela peut se produire lorsque le module complémentaire Task Governance est installé avec l'opérateur d'inférence 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 fondamentale :

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

  • Cert-manager le module complémentaire essaie 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 Kubernetes appelle le webhook Task Governance, mais il n'a aucun point de terminaison (les pods ne fonctionnent pas encore)

Étape de diagnostic :

  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 : supprimer et réinstaller cert-manager

Le webhook Task Governance est prêt en 60 secondes. Il vous suffit de supprimer et de réinstaller 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 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