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.
Instal plugin perangkat Kubernetes untuk GPUs
Plugin perangkat
Pertimbangan-pertimbangan
-
Saat menggunakan AL2 023 yang dioptimalkan EKS AMIs dengan NVIDIA GPUs, Anda harus menginstal plugin perangkat NVIDIA Kubernetes
. Anda dapat menginstal dan mengelola plugin perangkat NVIDIA Kubernetes dengan Helm, alat Kubernetes pilihan Anda, atau operator GPU NVIDIA. -
Saat menggunakan Bottlerocket yang dioptimalkan EKS AMIs dengan NVIDIA GPUs, Anda tidak perlu menginstal plugin perangkat NVIDIA Kubernetes, karena sudah termasuk dalam Bottlerocket yang dioptimalkan EKS. AMIs Ini termasuk saat Anda menggunakan instans GPU dengan Mode Otomatis EKS.
-
Saat menggunakan AL2 023 atau Bottlerocket yang dioptimalkan EKS AMIs dengan AWS Inferentia atau Trainium GPUs, maka Anda harus menginstal plugin perangkat Neuron Kubernetes, dan secara opsional menginstal ekstensi penjadwal Neuron Kubernetes.
Untuk informasi lebih lanjut, lihat dokumentasi Neuron untuk berjalan di EKS .
Instal plugin perangkat NVIDIA Kubernetes
Prosedur berikut menjelaskan cara menginstal plugin perangkat NVIDIA Kubernetes dan menjalankan pengujian sampel pada instance GPU NVIDIA.
Prasyarat
-
Kluster EKS dibuat
-
Node GPU NVIDIA berjalan di cluster menggunakan 023 NVIDIA AMI yang dioptimalkan EKS AL2
-
Helm diinstal di lingkungan baris perintah Anda, lihat instruksi Setup Helm.
Prosedur
-
Tambahkan repositori bagan
nvdpHelm.helm repo add nvdp https://nvidia.github.io/k8s-device-plugin -
Perbarui repositori Helm lokal Anda untuk memastikan bahwa Anda memiliki grafik terbaru.
helm repo update -
Dapatkan versi terbaru dari plugin perangkat NVIDIA Kubernetes
helm search repo nvdp --develNAME CHART VERSION APP VERSION DESCRIPTION nvdp/gpu-feature-discovery 0.17.4 0.17.4 ... nvdp/nvidia-device-plugin 0.17.4 0.17.4 ... -
Instal plugin perangkat NVIDIA Kubernetes di cluster Anda, ganti
0.17.4dengan versi terbaru dari perintah di atas.helm install nvdp nvdp/nvidia-device-plugin \ --namespace nvidia \ --create-namespace \ --version0.17.4\ --set gfd.enabled=true -
Verifikasi bahwa plugin perangkat NVIDIA Kubernetes berjalan di cluster Anda. Output di bawah ini menunjukkan output dengan dua node di cluster.
kubectl get ds -n nvidia nvdp-nvidia-device-pluginNAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE nvdp-nvidia-device-plugin 2 2 2 2 2 <none> 11m -
Verifikasi bahwa node Anda telah dialokasikan GPUs dengan perintah berikut.
kubectl get nodes "-o=custom-columns=NAME:.metadata.name,GPU:.status.allocatable.nvidia\.com/gpu"NAME GPU ip-192-168-11-225.us-west-2.compute.internal 1 ip-192-168-24-96.us-west-2.compute.internal 1 -
Buat file bernama
nvidia-smi.yamldengan isi berikut ini. Manifes ini meluncurkan gambar kontainer AL2 023 minimal yang berjalannvidia-smipada sebuah node.apiVersion: v1 kind: Pod metadata: name: nvidia-smi spec: restartPolicy: OnFailure containers: - name: gpu-demo image: public.ecr.aws/amazonlinux/amazonlinux:2023-minimal command: ['/bin/sh', '-c'] args: ['nvidia-smi && tail -f /dev/null'] resources: limits: nvidia.com/gpu: 1 tolerations: - key: 'nvidia.com/gpu' operator: 'Equal' value: 'true' effect: 'NoSchedule' -
Terapkan manifes dengan perintah berikut.
kubectl apply -f nvidia-smi.yaml -
Setelah Pod selesai berjalan, lihat lognya dengan perintah berikut.
kubectl logs nvidia-smiContoh output adalah sebagai berikut.
+-----------------------------------------------------------------------------------------+ | NVIDIA-SMI XXX.XXX.XX Driver Version: XXX.XXX.XX CUDA Version: XX.X | |-----------------------------------------+------------------------+----------------------+ | 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 L4 On | 00000000:31:00.0 Off | 0 | | N/A 27C P8 11W / 72W | 0MiB / 23034MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | No running processes found | +-----------------------------------------------------------------------------------------+
Instal plugin perangkat Neuron Kubernetes
Prosedur berikut menjelaskan cara menginstal plugin perangkat Neuron Kubernetes dan menjalankan pengujian sampel pada instance Inferentia.
Prasyarat
-
Kluster EKS dibuat
-
Node GPU neuron berjalan di cluster menggunakan AMI Neuron AL2 023 yang dioptimalkan EKS atau AMI Bottlerocket
-
Helm diinstal di lingkungan baris perintah Anda, lihat instruksi Setup Helm.
Prosedur
-
Instal plugin perangkat Neuron Kubernetes di cluster Anda.
helm upgrade --install neuron-helm-chart oci://public.ecr.aws/neuron/neuron-helm-chart \ --set "npd.enabled=false" -
Verifikasi bahwa plugin perangkat Neuron Kubernetes berjalan di cluster Anda. Output di bawah ini menunjukkan output dengan simpul Neuron tunggal di cluster.
kubectl get ds -n kube-system neuron-device-pluginNAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE neuron-device-plugin 1 1 1 1 1 <none> 72s -
Verifikasi bahwa node Anda telah dialokasikan NueronCores dengan perintah berikut.
kubectl get nodes "-o=custom-columns=NAME:.metadata.name,NeuronCore:.status.allocatable.aws\.amazon\.com/neuroncore"NAME NeuronCore ip-192-168-47-173.us-west-2.compute.internal 2 -
Verifikasi bahwa node Anda telah dialokasikan NueronDevices dengan perintah berikut.
kubectl get nodes "-o=custom-columns=NAME:.metadata.name,NeuronDevice:.status.allocatable.aws\.amazon\.com/neuron"NAME NeuronDevice ip-192-168-47-173.us-west-2.compute.internal 1 -
Buat file bernama
neuron-ls.yamldengan isi berikut ini. Manifes ini meluncurkan wadah Neuron Monitoryang memiliki neuron-lsalat yang diinstal.apiVersion: v1 kind: Pod metadata: name: neuron-ls spec: restartPolicy: Never containers: - name: neuron-container image: public.ecr.aws/g4h4h0b5/neuron-monitor:1.0.0 command: ["/bin/sh"] args: ["-c", "neuron-ls"] resources: limits: aws.amazon.com/neuron: 1 tolerations: - key: "aws.amazon.com/neuron" operator: "Exists" effect: "NoSchedule" -
Terapkan manifes dengan perintah berikut.
kubectl apply -f neuron-ls.yaml -
Setelah Pod selesai berjalan, lihat lognya dengan perintah berikut.
kubectl logs neuron-lsContoh output di bawah ini.
instance-type: inf2.xlarge instance-id: ... +--------+--------+--------+---------+ | NEURON | NEURON | NEURON | PCI | | DEVICE | CORES | MEMORY | BDF | +--------+--------+--------+---------+ | 0 | 2 | 32 GB | 00:1f.0 | +--------+--------+--------+---------+