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é est
ml.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 :
-
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 -
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" -
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 :
-
SageMaker Console AI avec installation personnalisée (recommandé) : réutilisez les rôles IAM et le bucket TLS existants lors de votre installation précédente. Pour les étapes, consultez Méthode 1 : installer l' HyperPod inférence Add-on via la console SageMaker AI (recommandé).
-
AWS CLI avec configuration enregistrée : utilisez la configuration que vous avez sauvegardée à l'étape 1 pour réinstaller le module complémentaire. Pour les étapes complètes d'installation de l'interface de ligne de commande, consultezMéthode 2 : Installation de l'opérateur d'inférence à l'aide du AWS INTERFACE DE LIGNE DE COMMANDE (CLI).
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 Console AI avec installation rapide : crée automatiquement de nouveaux rôles IAM, un compartiment TLS et des modules complémentaires de dépendance. Pour les étapes, consultez Méthode 1 : installer l' HyperPod inférence Add-on via la console SageMaker AI (recommandé).
É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 :
-
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 :
-
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 -
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