View a markdown version of this page

Fehler bei der Installation von Inference Operatoren über die SageMaker KI-Konsole - Amazon SageMaker KI

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Fehler bei der Installation von Inference Operatoren über die SageMaker KI-Konsole

Überblick: Bei der Installation des Inferenzoperators über die SageMaker KI-Konsole mithilfe von Quick Install oder Custom Install können die zugrunde liegenden CloudFormation Stacks aufgrund verschiedener Probleme ausfallen. In diesem Abschnitt werden häufig auftretende Fehlerszenarien und deren Lösungen behandelt.

Fehler bei der Installation des Inference Operator-Add-ons über die Schnellinstallation oder benutzerdefinierte Installation

Problem: Die HyperPod Clustererstellung wurde erfolgreich abgeschlossen, aber die Installation des Inferenzoperator-Add-ons schlägt fehl.

Häufige Ursachen:

  • Die Kapazitätsgrenzen der Pods wurden auf den Clusterknoten überschritten. Für die Installation des Inferenzoperators sind mindestens 13 Pods erforderlich. Der empfohlene Mindestinstanztyp istml.c5.4xlarge.

  • Probleme mit IAM-Berechtigungen

  • Einschränkungen beim Ressourcenkontingent

  • Netzwerk- oder VPC-Konfigurationsprobleme

Symptome und Diagnose

Symptome:

  • Das Inferenzoperator-Add-on zeigt in der Konsole den Status CREATE_FAILED oder DEGRADED an

  • CloudFormation Der dem Add-on zugeordnete Stack befindet sich im Status CREATE_FAILED

  • Der Installationsvorgang wird gestoppt oder es werden Fehlermeldungen angezeigt

Diagnoseschritte:

  1. Überprüfen Sie den Status des Add-ons für den Inferenzoperator:

    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. Suchen Sie nach Problemen mit dem Pod-Limit:

    # 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. Überprüfen Sie den CloudFormation Stack-Status (wenn Sie die Konsoleninstallation verwenden):

    # 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

Auflösung

Um den Installationsfehler zu beheben, speichern Sie die aktuelle Konfiguration, löschen Sie das fehlgeschlagene Add-on, beheben Sie das zugrunde liegende Problem und installieren Sie dann den Inferenzoperator über die SageMaker AI-Konsole (empfohlen) oder die AWS CLI erneut.

Schritt 1: Speichern Sie die aktuelle Konfiguration

  • Extrahieren und speichern Sie die Add-On-Konfiguration vor dem Löschen:

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

Schritt 2: Löschen Sie das fehlgeschlagene Add-on

  • Löschen Sie das Add-on für den Inferenzoperator:

    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

Schritt 3: Beheben Sie das zugrunde liegende Problem

Wählen Sie je nach Fehlerursache die passende Lösung aus:

Wenn das Problem darin besteht, dass das Pod-Limit überschritten wurde:

# 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

Schritt 4: Installieren Sie den Inferenzoperator erneut

Nachdem Sie das zugrunde liegende Problem behoben haben, installieren Sie den Inferenzoperator erneut mit einer der folgenden Methoden:

Schritt 5: Überprüfen Sie die erfolgreiche 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

Die Installation von CERT-Manager ist fehlgeschlagen, da der Kueue-Webhook nicht bereit ist

Problem: Die Installation des Cert-Manager-Add-ons schlägt mit einem Webhook-Fehler fehl, da für den Task Governance (Kueue) -Webhook-Dienst keine verfügbaren Endpunkte verfügbar sind. Dies ist eine Race-Bedingung, die auftritt, wenn der Cert-Manager versucht, Ressourcen zu erstellen, bevor die Task Governance-Webhook-Pods vollständig ausgeführt werden. Dies kann passieren, wenn das Task Governance-Add-on zusammen mit dem Inferenzoperator während der Clustererstellung installiert wird.

Symptome und Diagnose

Fehlermeldung:

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"

Grundursache:

  • Das Task Governance-Add-on installiert und registriert einen mutierenden Webhook, der alle Deployment-Erstellungen abfängt

  • Das CERT-Manager-Add-on versucht, Bereitstellungsressourcen zu erstellen, bevor die Task Governance-Webhook-Pods bereit sind

  • Die Kubernetes-Zugangssteuerung ruft den Task Governance-Webhook auf, hat aber keine Endpunkte (Pods laufen noch nicht)

Diagnoseschritt:

  1. Überprüfen Sie den Status des Cert-Manager-Add-ons:

    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

Auflösung

Lösung: Löschen Sie den Cert-Manager und installieren Sie ihn erneut

Der Task Governance-Webhook ist innerhalb von 60 Sekunden bereit. Löschen Sie einfach das Cert-Manager-Add-on und installieren Sie es erneut:

  1. Löschen Sie das fehlgeschlagene Cert-Manager-Add-On:

    aws eks delete-addon \ --cluster-name $EKS_CLUSTER_NAME \ --addon-name cert-manager \ --region $REGION
  2. Warten Sie 30-60 Sekunden, bis der Task Governance-Webhook bereit ist, und installieren Sie dann das cert-manager-Add-on erneut:

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