View a markdown version of this page

Kegagalan instalasi operator inferensi melalui konsol SageMaker AI - Amazon SageMaker AI

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Kegagalan instalasi operator inferensi melalui konsol SageMaker AI

Ikhtisar: Saat menginstal operator inferensi melalui konsol SageMaker AI menggunakan Penginstalan Cepat atau Pemasangan Kustom, CloudFormation tumpukan yang mendasarinya mungkin gagal karena berbagai masalah. Bagian ini mencakup skenario kegagalan umum dan resolusinya.

Kegagalan instalasi add-on operator inferensi melalui instalasi Cepat atau Kustom

Masalah: Pembuatan HyperPod cluster berhasil diselesaikan, tetapi instalasi add-on operator inferensi gagal.

Penyebab umum:

  • Batas kapasitas pod terlampaui pada node cluster. Instalasi operator inferensi membutuhkan minimal 13 pod. Jenis instans minimum yang disarankan adalahml.c5.4xlarge.

  • Masalah izin IAM

  • Kendala kuota sumber daya

  • Masalah konfigurasi jaringan atau VPC

Gejala dan diagnosis

Gejala:

  • Add-on operator inferensi menunjukkan status CREATE_FAILED atau DEGRADED di konsol

  • CloudFormation tumpukan yang terkait dengan add-on dalam status CREATE_FAILED

  • Kemajuan instalasi berhenti atau menampilkan pesan kesalahan

Langkah-langkah diagnostik:

  1. Periksa status add-on operator inferensi:

    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. Periksa masalah batas pod:

    # 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. Periksa status CloudFormation tumpukan (jika menggunakan instalasi konsol):

    # 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

Resolusi

Untuk mengatasi kegagalan penginstalan, simpan konfigurasi saat ini, hapus add-on yang gagal, perbaiki masalah mendasar, lalu instal ulang operator inferensi melalui konsol SageMaker AI (disarankan) atau CLI. AWS

Langkah 1: Simpan konfigurasi saat ini

  • Ekstrak dan simpan konfigurasi add-on sebelum penghapusan:

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

Langkah 2: Hapus add-on yang gagal

  • Hapus add-on operator inferensi:

    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

Langkah 3: Perbaiki masalah yang mendasarinya

Pilih resolusi yang sesuai berdasarkan penyebab kegagalan:

Jika masalahnya adalah batas pod terlampaui:

# 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

Langkah 4: Instal ulang operator inferensi

Setelah memperbaiki masalah mendasar, instal ulang operator inferensi menggunakan salah satu metode berikut:

Langkah 5: Verifikasi instalasi yang berhasil

# 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

Instalasi cert-manager gagal karena webhook Kueue belum siap

Masalah: Instalasi add-on cert-manager gagal dengan kesalahan webhook karena layanan webhook Task Governance (Kueue) tidak memiliki titik akhir yang tersedia. Ini adalah kondisi balapan yang terjadi ketika cert-manager mencoba membuat sumber daya sebelum pod webhook Task Governance berjalan sepenuhnya. Ini dapat terjadi ketika add-on Tata Kelola Tugas sedang diinstal bersama dengan operator Inferensi selama pembuatan cluster.

Gejala dan diagnosis

Pesan kesalahan:

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"

Akar penyebab:

  • Add-on Tata Kelola Tugas menginstal dan mendaftarkan webhook bermutasi yang mencegat semua kreasi Deployment

  • Add-on Cert-manager mencoba membuat sumber daya Deployment sebelum pod webhook Task Governance siap

  • Kontrol penerimaan Kubernetes memanggil webhook Task Governance, tetapi tidak memiliki titik akhir (pod belum berjalan)

Langkah diagnostik:

  1. Periksa status add-on 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

Resolusi

Solusi: Hapus dan instal ulang cert-manager

Webhook Tata Kelola Tugas menjadi siap dalam waktu 60 detik. Cukup hapus dan instal ulang add-on cert-manager:

  1. Hapus add-on cert-manager yang gagal:

    aws eks delete-addon \ --cluster-name $EKS_CLUSTER_NAME \ --addon-name cert-manager \ --region $REGION
  2. Tunggu 30-60 detik hingga webhook Tata Kelola Tugas siap, lalu instal ulang add-on cert-manager:

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