

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

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

**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 adalah`ml.c5.4xlarge`.
+ Masalah izin IAM
+ Kendala kuota sumber daya
+ Masalah konfigurasi jaringan atau VPC

### Gejala dan diagnosis
<a name="sagemaker-hyperpod-model-deployment-ts-console-cfn-symptoms"></a>

**Gejala:**
+ Add-on operator inferensi menunjukkan status CREATE\$1FAILED atau DEGRADED di konsol
+ CloudFormation tumpukan yang terkait dengan add-on dalam status CREATE\$1FAILED
+ 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
   ```

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

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

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:
+ **SageMaker Konsol AI dengan Pemasangan Kustom (disarankan):** Gunakan kembali peran IAM dan bucket TLS yang ada dari instalasi Anda sebelumnya. Untuk langkah, lihat [Metode 1: Instal Add-on HyperPod Inferensi melalui konsol SageMaker AI (Disarankan)](sagemaker-hyperpod-model-deployment-setup.md#sagemaker-hyperpod-model-deployment-setup-ui).
+ **AWS CLI dengan konfigurasi tersimpan: Gunakan konfigurasi** yang Anda cadangkan di Langkah 1 untuk menginstal ulang add-on. Untuk langkah-langkah instalasi CLI lengkap, lihat. [Metode 2: Menginstal Operator Inferensi menggunakan 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 Konsol AI dengan Pemasangan Cepat:** Membuat peran IAM baru, bucket TLS, dan add-on ketergantungan secara otomatis. Untuk langkah, lihat [Metode 1: Instal Add-on HyperPod Inferensi melalui konsol SageMaker AI (Disarankan)](sagemaker-hyperpod-model-deployment-setup.md#sagemaker-hyperpod-model-deployment-setup-ui).

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

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

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

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

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