

 **Bantu tingkatkan halaman ini** 

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

Untuk berkontribusi pada panduan pengguna ini, pilih **Edit halaman ini pada GitHub** tautan yang terletak di panel kanan setiap halaman.

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

# Menerapkan beban kerja yang dipercepat
<a name="auto-accelerated"></a>

Tutorial ini menunjukkan bagaimana Amazon EKS Auto Mode menyederhanakan peluncuran beban kerja yang dipercepat perangkat keras. Amazon EKS Auto Mode merampingkan operasi di luar klaster itu sendiri dengan mengotomatiskan komponen infrastruktur utama yang menyediakan kemampuan komputasi, jaringan, penyeimbangan beban, penyimpanan, dan Akses Identitas dan Manajemen di luar kotak.

Amazon EKS Auto Mode menyertakan driver dan plugin perangkat yang diperlukan untuk jenis instans tertentu, seperti driver NVIDIA dan AWS Neuron. Anda tidak perlu menginstal atau memperbarui komponen ini.

Mode Otomatis EKS secara otomatis mengelola driver untuk akselerator ini:
+  [AWS Trainium](https://aws.amazon.com/ai/machine-learning/trainium/) 
+  [AWS Inferensia](https://aws.amazon.com/ai/machine-learning/inferentia/) 
+  [NVIDIA GPUs di Amazon EC2 mempercepat instans](https://docs.aws.amazon.com/ec2/latest/instancetypes/ac.html) 

**catatan**  
Mode Otomatis EKS menyertakan plugin perangkat NVIDIA untuk Kubernetes. Plugin ini berjalan secara otomatis dan tidak terlihat sebagai daemon yang disetel di cluster Anda.

Dukungan jaringan tambahan:
+  [Adaptor Kain Elastis (EFA)](https://aws.amazon.com/hpc/efa/) 

Amazon EKS Auto Mode menghilangkan kerja keras driver akselerator dan manajemen plugin perangkat.

Anda juga bisa mendapatkan keuntungan dari penghematan biaya dengan menskalakan cluster ke nol. Anda dapat mengonfigurasi Mode Otomatis EKS untuk menghentikan instance saat tidak ada beban kerja yang berjalan. Ini berguna untuk beban kerja inferensi berbasis batch.

Berikut ini memberikan contoh cara meluncurkan beban kerja yang dipercepat dengan Amazon EKS Auto Mode.

## Prasyarat
<a name="_prerequisites"></a>
+ Cluster Kubernetes dengan Amazon EKS Auto Mode dikonfigurasi.
+ Kelas `default` EKS Node seperti yang dibuat saat `general-purpose` atau `system` Managed Node Pools diaktifkan.

## Langkah 1: Menyebarkan beban kerja GPU
<a name="_step_1_deploy_a_gpu_workload"></a>

Dalam contoh ini, Anda akan membuat beban kerja berbasis NVIDIA NodePool untuk yang membutuhkan memori GPU 45GB. Dengan Mode Otomatis EKS, Anda menggunakan batasan penjadwalan Kubernetes untuk menentukan persyaratan instans Anda.

Untuk menerapkan Amazon EKS Auto Mode `NodePool` dan sampel`workload`, tinjau definisi berikut NodePool dan Pod dan simpan sebagai `nodepool-gpu.yaml` dan`pod.yaml`:

 **nodepool-gpu.yaml** 

```
apiVersion: karpenter.sh/v1
kind: NodePool
metadata:
  name: gpu
spec:
  disruption:
    budgets:
    - nodes: 10%
    consolidateAfter: 1h
    consolidationPolicy: WhenEmpty
  template:
    metadata: {}
    spec:
      nodeClassRef:
        group: eks.amazonaws.com
        kind: NodeClass
        name: default
      requirements:
        - key: "karpenter.sh/capacity-type"
          operator: In
          values: ["on-demand"]
        - key: "kubernetes.io/arch"
          operator: In
          values: ["amd64"]
        - key: "eks.amazonaws.com/instance-family"
          operator: In
          values:
          - g6e
          - g6
      taints:
        - key: nvidia.com/gpu
          effect: NoSchedule
      terminationGracePeriod: 24h0m0s
```

 **pod.yaml** 

```
apiVersion: v1
kind: Pod
metadata:
  name: nvidia-smi
spec:
  nodeSelector:
    eks.amazonaws.com/compute-type: auto
  restartPolicy: OnFailure
  containers:
  - name: nvidia-smi
    image: public.ecr.aws/amazonlinux/amazonlinux:2023-minimal
    args:
    - "nvidia-smi"
    resources:
      requests:
        memory: "30Gi"
        cpu: "3500m"
        nvidia.com/gpu: 1
      limits:
        memory: "30Gi"
        nvidia.com/gpu: 1
  tolerations:
  - key: nvidia.com/gpu
    effect: NoSchedule
    operator: Exists
```

Perhatikan bahwa `eks.amazonaws.com/compute-type: auto` pemilih mengharuskan beban kerja diterapkan pada node Mode Otomatis Amazon EKS. Ini NodePool juga menetapkan taint yang hanya memungkinkan pod dengan toleransi untuk Nvidia GPUs dijadwalkan.

Terapkan NodePool dan beban kerja ke cluster Anda.

```
kubectl apply -f nodepool-gpu.yaml
kubectl apply -f pod.yaml
```

Anda akan melihat output berikut:

```
nodepool.karpenter.sh/gpu configured created
pod/nvidia-smi created
```

Tunggu beberapa detik, dan periksa node di cluster Anda. Anda sekarang akan melihat node baru yang disediakan di kluster Mode Otomatis Amazon EKS Anda:

```
> kubectl get nodes

NAME        TYPE          CAPACITY    ZONE         NODE                  READY   AGE
gpu-dnknr   g6e.2xlarge   on-demand   us-west-2b   i-02315c7d7643cdee6   True    76s
```

## Langkah 2: Validasi
<a name="_step_2_validate"></a>

Anda dapat melihat Amazon EKS Auto Mode meluncurkan a, `g6e.2xlarge` bukan `g6.2xlarge` karena beban kerja memerlukan instance dengan l40s`GPU`, menurut batasan penjadwalan Kubernetes berikut:

```
...
  nodeSelector:
    eks.amazonaws.com/instance-gpu-name: l40s
...
    requests:
        memory: "30Gi"
        cpu: "3500m"
        nvidia.com/gpu: 1
      limits:
        memory: "30Gi"
        nvidia.com/gpu: 1
```

Sekarang, lihat log kontainer, dengan menjalankan perintah berikut:

```
kubectl logs nvidia-smi
```

Contoh output:

```
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.230.02             Driver Version: 535.230.02   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA L40S                    On  | 00000000:30:00.0 Off |                    0 |
| N/A   27C    P8              23W / 350W |      0MiB / 46068MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+
```

Anda dapat melihat bahwa penampung telah mendeteksi itu berjalan pada instance dengan `NVIDIA` GPU dan Anda tidak perlu menginstal driver perangkat apa pun, karena ini dikelola oleh Amazon EKS Auto Mode.

## Langkah 3: Membersihkan
<a name="_step_3_clean_up"></a>

Untuk menghapus semua objek yang dibuat, gunakan `kubectl` untuk menghapus penyebaran sampel NodePool sehingga node dihentikan:

```
kubectl delete -f nodepool-gpu.yaml
kubectl delete -f pod.yaml
```

## Contoh NodePools Referensi
<a name="_example_nodepools_reference"></a>

### Buat NVIDIA NodePool
<a name="_create_an_nvidia_nodepool"></a>

Berikut ini NodePool mendefinisikan:
+ Hanya meluncurkan contoh `g6e` dan keluarga `g6`
+ Konsolidasikan node saat kosong selama 1 jam
  + Nilai 1 jam untuk `consolodateAfter` mendukung beban kerja runcing dan mengurangi churn node. Anda dapat menyetel `consolidateAfter` berdasarkan persyaratan beban kerja Anda.

 **Contoh NodePool dengan keluarga instans GPU dan konsolidasi** 

```
apiVersion: karpenter.sh/v1
kind: NodePool
metadata:
  name: gpu
spec:
  disruption:
    budgets:
    - nodes: 10%
    consolidateAfter: 1h
    consolidationPolicy: WhenEmpty
  template:
    metadata: {}
    spec:
      nodeClassRef:
        group: eks.amazonaws.com
        kind: NodeClass
        name: default
      requirements:
        - key: "karpenter.sh/capacity-type"
          operator: In
          values: ["on-demand"]
        - key: "kubernetes.io/arch"
          operator: In
          values: ["amd64"]
        - key: "eks.amazonaws.com/instance-family"
          operator: In
          values:
          - g6e
          - g6
      terminationGracePeriod: 24h0m0s
```

Alih-alih menyetel yang mungkin `eks.amazonaws.com/instance-gpu-name` Anda gunakan `eks.amazonaws.com/instance-family` untuk menentukan keluarga instance. Untuk label terkenal lainnya yang memengaruhi tinjauan penjadwalan, lihat[Label yang Didukung Mode Otomatis EKS](create-node-pool.md#auto-supported-labels).

Jika Anda memiliki persyaratan penyimpanan khusus, Anda dapat menyetel penyimpanan singkat node`iops`, `size` dan `throughput` dengan membuat sendiri [NodeClass](create-node-class.md)untuk referensi di. NodePool Pelajari lebih lanjut tentang [ NodeClass opsi yang dapat dikonfigurasi](create-node-class.md).

 **Contoh konfigurasi penyimpanan untuk NodeClass** 

```
apiVersion: eks.amazonaws.com/v1
kind: NodeClass
metadata:
  name: gpu
spec:
  ephemeralStorage:
    iops: 3000
    size: 80Gi
    throughput: 125
```

### Tentukan AWS Trainium dan AWS Inferensia NodePool
<a name="define_an_shared_aws_trainium_and_shared_aws_inferentia_nodepool"></a>

Berikut ini NodePool memiliki `eks.amazonaws.com/instance-category` satu set yang mengatakan, hanya meluncurkan contoh keluarga Inferentia dan Trainium:

```
        - key: "eks.amazonaws.com/instance-category"
          operator: In
          values:
            - inf
            - trn
```