

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
<a name="sagemaker-hyperpod-model-deployment-ts-console-cfn-failures"></a>

**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
<a name="sagemaker-hyperpod-model-deployment-ts-console-cfn-stack-failed"></a>

**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é est`ml.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
<a name="sagemaker-hyperpod-model-deployment-ts-console-cfn-symptoms"></a>

**Symptômes :**
+ Le module complémentaire d'opérateur d'inférence affiche le statut CREATE\$1FAILED ou DEGRADED dans la console
+ CloudFormation la pile associée au module complémentaire est dans l'état CREATE\$1FAILED
+ 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
   ```

1. 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"
   ```

1. 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
<a name="sagemaker-hyperpod-model-deployment-ts-console-cfn-resolution"></a>

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 :
+ **SageMaker Console AI avec installation personnalisée (recommandée) :** réutilisez les rôles IAM et le bucket TLS existants de votre installation précédente. Pour les étapes, consultez [Méthode 1 : installer le module complémentaire HyperPod d'inférence via la console SageMaker AI (recommandé)](sagemaker-hyperpod-model-deployment-setup.md#sagemaker-hyperpod-model-deployment-setup-ui).
+ **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 la CLI, voir[Méthode 2 : Installation de l'opérateur d'inférence à l'aide de 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 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 le module complémentaire HyperPod d'inférence via la console SageMaker AI (recommandé)](sagemaker-hyperpod-model-deployment-setup.md#sagemaker-hyperpod-model-deployment-setup-ui).

**É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
<a name="sagemaker-hyperpod-model-deployment-ts-console-kueue-webhook-race"></a>

**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
<a name="sagemaker-hyperpod-model-deployment-ts-console-kueue-symptoms"></a>

**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
<a name="sagemaker-hyperpod-model-deployment-ts-console-kueue-resolution"></a>

**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
   ```

1. 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
   ```