Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menjalankan beban kerja GPU NVIDIA pada Azure Kubernetes Service (AKS) secara tradisional mengharuskan Anda menginstal dan memelihara driver GPU NVIDIA, plugin perangkat Kubernetes, dan pengekspor metrik GPU pada setiap simpul GPU. Komponen-komponen ini memungkinkan penjadwalan GPU, akses GPU tingkat kontainer, dan telemetri, tetapi menginstalnya secara manual atau melalui Operator GPU NVIDIA menambahkan overhead operasional.
Dengan node GPU yang dikelola sepenuhnya (pratinjau), AKS akan menginstal dan memelihara driver GPU NVIDIA, plugin perangkat, serta pengekspor metrik Data Center GPU Manager (DCGM) untuk Anda. Pembuatan kumpulan simpul GPU menjadi satu langkah, dan kapasitas GPU berulah seperti kumpulan simpul AKS lainnya.
Anda mengonfigurasi kumpulan simpul GPU terkelola melalui dua bidang di bawah gpuProfile.nvidia:
-
managementMode(ManagedatauUnmanaged) mengontrol apakah AKS menginstal tumpukan GPU terkelola penuh (driver, plugin perangkat, dan pengekspor metrik DCGM) atau driver saja. Defaultnya adalahUnmanaged. -
migStrategy(None,Single, atauMixed) menetapkan strategi GPU Multi-Instans (MIG) untuk SKU GPU yang didukung seperti A100 dan H100. Defaultnya adalahNone.
Dalam artikel ini, Anda menyediakan kumpulan simpul GPU terkelola, secara opsional mengaktifkan MIG, memverifikasi tumpukan, dan menjalankan sampel beban kerja GPU.
Penting
Fitur pratinjau AKS tersedia atas dasar layanan mandiri dan pendaftaran sukarela. Pratinjau disediakan "apa adanya" dan "sebagaimana tersedia," dan pratinjau tersebut dikecualikan dari perjanjian tingkat layanan (SLA) serta garansi terbatas. Pratinjau AKS sebagian didukung oleh dukungan pelanggan berdasarkan upaya terbaik yang dapat dilakukan. Dengan demikian, fitur-fitur ini tidak dimaksudkan untuk penggunaan produksi. Untuk informasi lebih lanjut, lihat artikel dukungan berikut ini:
Sebelum Anda mulai
- Artikel ini mengasumsikan Anda memiliki kluster AKS yang sudah ada. Jika Anda tidak memiliki kluster, buat kluster menggunakan Azure CLI, Azure PowerShell, atau portal Azure.
- Anda memerlukan Azure CLI versi 2.85.0 atau yang lebih baru terinstal. Jalankan
az --versionuntuk mencari tahu versinya. Jika Anda perlu menginstal atau memperbarui, lihat Install Azure CLI. - Anda perlu menginstal ekstensi dan meningkatkan ke versi terbaru
aks-preview. - Dapatkan kredensial untuk kluster AKS Anda dengan
az aks get-credentialssebelum menjalankan contoh-contoh di artikel ini.
Komponen GPU terkelola
Kumpulan simpul GPU terkelola dapat menyertakan komponen berikut pada setiap simpul:
| Komponen | Apa fungsinya | Apa yang dikelola AKS |
|---|---|---|
| Driver GPU NVIDIA | Modul kernel dan pustaka ruang pengguna yang memungkinkan OS dan kontainer berbicara dengan perangkat keras GPU. | Pemilihan versi driver, penginstalan pada provisi simpul, dan penginstalan ulang setelah peningkatan gambar simpul. |
| Plugin perangkat NVIDIA Kubernetes | DaemonSet-equivalent yang menyediakan sumber daya GPU (nvidia.com/gpu, nvidia.com/mig-*) ke kubelet sehingga pod dapat memintanya. |
Penyebaran, konfigurasi (termasuk strategi MIG), dan siklus hidup pada setiap simpul GPU. |
| Pengekspor metrik NVIDIA DCGM dan DCGM |
Manajer GPU Pusat Data mengumpulkan data kesehatan dan pemanfaatan GPU dan mengekspos metrik Prometheus (misalnya, , DCGM_FI_DEV_GPU_UTILDCGM_FI_DEV_GPU_TEMP) pada port 19400. |
Penginstalan, aktivasi layanan, dan label node yang kubernetes.azure.com/dcgm-exporter=enabled digunakan untuk mengumpulkan metrik. |
| Sinyal kesehatan GPU | NPD memberi sinyal yang memunculkan kondisi node khusus GPU seperti UnhealthyNvidiaDevicePlugin dan UnhealthyNvidiaDCGMServices. |
Pemantauan NPD dan pelaporan kondisi pada simpul GPU. |
Pasang profil
Dua gpuProfile bidang memutuskan komponen mana yang diinstal AKS:
-
gpuProfile.driver(InstallatauNone): apakah AKS menginstal driver GPU NVIDIA. -
gpuProfile.nvidia.managementMode(ManagedatauUnmanaged): apakah AKS juga menginstal tumpukan GPU yang menghadap Kubernetes di atas driver.
Bersama-sama, mereka menghasilkan tiga profil instalasi:
| Menginstal profil | Bendera CLI | Apa yang diinstal dan dikelola AKS |
|---|---|---|
| Stack yang sepenuhnya dikelola |
--enable-managed-gpu=true (atau tidak ada bendera) |
Keempat komponen di atas: driver, plugin perangkat, pengekspor metrik DCGM, dan pemantauan kesehatan GPU di NPD. |
| Driver saja (default) | --enable-managed-gpu=false |
Driver NVIDIA GPU saja. Anda menginstal dan mengelola plugin perangkat keras, pengekspor metrik, dan pemantauan kondisi sendiri (misalnya, dengan Operator GPU NVIDIA). |
| Tidak ada (BYO) | --enable-managed-gpu=false --gpu-driver None |
Tidak apa-apa. AKS tidak menginstal salah satu dari empat komponen. Anda menguasai full stack. Lihat Membawa driver GPU Anda sendiri. |
Default dan penggantian
-
Defaults: Jika Anda tidak melewatkan
--enable-managed-gpuatau--gpu-driver, AKS menerapkan profil Hanya Pengemudi pada kumpulan simpul yang dibuat dengan ukuran VM dengan GPU NVIDIA. -
Ganti:
managementMode: Managedmemerlukan driver, jadi--gpu-driver Noneakan diabaikan jika--enable-managed-gpu=truedan driver masih terpasang. Untuk melewati driver, atur keduanya,--enable-managed-gpu=falsedan--gpu-driver None. -
Kekekalan:
managementMode,migStrategy, dandriversemuanya diperbaiki pada waktu pembuatan. Untuk mengubah profil, buat kumpulan simpul baru.
aks-preview Menginstal ekstensi CLI
Instal ekstensi CLI menggunakan perintah
aks-preview. Diperlukan versi 19.0.0b29 atau yang lebih baru.az extension add --name aks-previewPerbarui ekstensi untuk memastikan Anda memiliki versi terbaru yang terinstal menggunakan
az extension updateperintah .az extension update --name aks-preview
Daftarkan ManagedGPUExperiencePreview penanda fitur
Daftarkan ManagedGPUExperiencePreview bendera fitur di langganan Anda menggunakan az feature register perintah .
az feature register --namespace Microsoft.ContainerService --name ManagedGPUExperiencePreview
Keterbatasan
- Fitur ini saat ini hanya mendukung ukuran komputer virtual (VM) dengan dukungan GPU NVIDIA .
- Memperbarui kumpulan simpul tujuan umum untuk menambahkan ukuran VM GPU tidak didukung di AKS.
- Kumpulan simpul Windows tidak didukung dengan fitur ini, karena metrik GPU tidak didukung. Saat Anda membuat kumpulan simpul GPU Windows, AKS secara otomatis menginstal dan mengelola driver dan plugin perangkat DirectX. Untuk informasi selengkapnya, lihat dokumentasi GPU AKS Windows.
- Memigrasikan kumpulan node GPU multi-instance yang ada ke fitur ini tidak dapat didukung.
- Peningkatan di tempat dari kumpulan simpul GPU NVIDIA yang ada ke kumpulan simpul GPU terkelola tidak didukung. Untuk melakukan migrasi, isolasi dan kosongkan node GPU yang ada, lalu lakukan redeploy beban kerja Anda ke pool node GPU baru yang dibuat dengan
--enable-managed-gpu=true. Untuk informasi selengkapnya, lihat Mengubah ukuran kumpulan simpul di AKS. - Bidang
managementMode,migStrategy, dandriverdi bawahgpuProfiletidak dapat diubah setelah pembuatan kumpulan simpul. Untuk mengubah nilai-nilai ini, buat kumpulan simpul baru. - Autoscaler kluster tidak didukung pada node pool GPU terkelola selama masa pratinjau. Skalakan pool ini secara manual.
Nota
VM dengan dukungan GPU berisi perangkat keras khusus yang tunduk pada harga dan ketersediaan wilayah yang lebih tinggi. Untuk informasi selengkapnya, lihat alat penentuan harga dan ketersediaan wilayah.
Membuat kumpulan simpul GPU yang dikelola AKS (pratinjau)
Tambahkan kumpulan simpul GPU terkelola ke kluster AKS yang ada dengan meneruskan --enable-managed-gpu=true ke az aks nodepool add. AKS mengatur gpuProfile.nvidia.managementMode ke Managed dan menginstal driver GPU, plugin perangkat, dan pengekspor metrik DCGM secara otomatis.
Untuk menggunakan SKU sistem operasi (OS) Ubuntu default, Anda membuat kumpulan simpul tanpa menentukan SKU OS. Pool node dikonfigurasi untuk sistem operasi default sesuai dengan versi Kubernetes dari kluster.
Tambahkan kumpulan node ke kluster Anda menggunakan perintah
az aks nodepool adddengan flag--enable-managed-gpu=true.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name gpunp \ --node-count 1 \ --node-vm-size Standard_NC6s_v3 \ --node-taints sku=gpu:NoSchedule \ --enable-managed-gpu=trueKonfirmasikan bahwa komponen perangkat lunak GPU NVIDIA terkelola berhasil diinstal:
az aks nodepool show \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name gpunpOutput Anda harus menyertakan nilai berikut:
... "gpuProfile": { "driver": "Install", "driverType": "", "nvidia": { "managementMode": "Managed", "migStrategy": null } }, ...
Membuat kumpulan simpul GPU Multi-Instans (MIG) terkelola (pratinjau)
Untuk SKU GPU yang mendukung GPU Multi-Instansi (seperti A100 dan H100), konfigurasikan strategi MIG pada saat pembuatan kumpulan nodus dengan pengaturan --gpu-mig-strategy. Strategi ini mengontrol bagaimana partisi MIG diekspos ke Kubernetes:
-
Single: Semua instans MIG digabungkan di bawah sumber daya standarnvidia.com/gpu. -
Mixed: Setiap profil MIG diekspos sebagai sumber daya terpisah, sepertinvidia.com/mig-1g.10gb. -
None(default): MIG tidak dikonfigurasi.
Bidang migStrategy tidak dapat diubah setelah kumpulan simpul dibuat.
Untuk latar belakang partisi MIG, ukuran VM yang didukung, dan profil instans GPU, lihat Membuat kumpulan simpul GPU multi-instans di AKS dan GPU Multi-Instans NVIDIA.
az aks nodepool add \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mignp \
--node-count 1 \
--node-vm-size Standard_NC24ads_A100_v4 \
--node-taints sku=gpu:NoSchedule \
--enable-managed-gpu=true \
--gpu-instance-profile MIG1g \
--gpu-mig-strategy Single
Dengan konfigurasi ini, pod meminta sumber daya GPU menggunakan nama sumber daya standar nvidia.com/gpu .
Verifikasi kumpulan simpul GPU terkelola (pratinjau)
Setelah node pool siap, jalankan pemeriksaan berikut untuk mengonfirmasi bahwa stack terkelola penuh telah diinstal dan berfungsi dengan baik.
Verifikasi kondisi simpul khusus GPU dari Node Problem Detector (NPD):
GPU_NODE=$(kubectl get nodes -l agentpool=gpunp -o jsonpath='{.items[0].metadata.name}') kubectl describe node $GPU_NODEPada simpul GPU terkelola, kedua kondisi berikut harus menunjukkan
False:Keadaan Status Alasan UnhealthyNvidiaDevicePluginFalseHealthyNvidiaDevicePluginUnhealthyNvidiaDCGMServicesFalseHealthyNvidiaDCGMServicesVerifikasi bahwa label GPU terkelola ada pada simpul:
kubectl get node $GPU_NODE -o jsonpath='{.metadata.labels.kubernetes\.azure\.com/dcgm-exporter}'Output yang diharapkan:
enabled.Verifikasi bahwa sumber daya GPU dicantumkan dalam sumber daya yang dapat dialokasikan dari node.
kubectl get node $GPU_NODE -o jsonpath='{.status.allocatable}'Untuk kumpulan simpul non-MIG, output mencakup
"nvidia.com/gpu": "1"(atau lebih, tergantung pada SKU). Untuk kumpulan simpul MIGMixed, output mencakup sumber daya khusus MIG seperti"nvidia.com/mig-1g.10gb": "7".Jalankan sampel beban kerja untuk mengonfirmasi akses GPU dari dalam kontainer:
apiVersion: v1 kind: Pod metadata: name: managed-gpu-test spec: restartPolicy: Never tolerations: - key: "sku" operator: "Equal" value: "gpu" effect: "NoSchedule" containers: - name: gpu-test image: mcr.microsoft.com/azuredocs/samples-tf-mnist-demo:gpu command: ["nvidia-smi"] resources: limits: nvidia.com/gpu: 1Lihat log pod untuk melihat
nvidia-smioutput yang menunjukkan perangkat GPU, versi driver, dan versi CUDA:kubectl logs managed-gpu-test
Menskalakan kumpulan simpul GPU terkelola (pratinjau)
Skalakan kumpulan simpul GPU terkelola secara manual dengan az aks nodepool scale. Node baru menginstal tumpukan GPU sepenuhnya terkelola.
az aks nodepool scale \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name gpunp \
--node-count 2
Penting
Selama pratinjau, kumpulan simpul GPU terkelola tidak mendukung autoscaler kluster. Sesuaikan ukuran kumpulan ini secara manual.
Profil penginstalan alternatif
Jika profil Tumpukan terkelola penuh tidak cocok, AKS mendukung dua profil alternatif pada kumpulan simpul GPU.
Gunakan profil ini ketika Anda ingin AKS menginstal dan memelihara driver GPU NVIDIA, tetapi Anda berencana untuk menyebarkan plugin perangkat dan pengekspor metrik sendiri (misalnya, dengan Operator GPU NVIDIA). Atur --enable-managed-gpu=false:
az aks nodepool add \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name gpunp \
--node-count 1 \
--node-vm-size Standard_NC6s_v3 \
--node-taints sku=gpu:NoSchedule \
--enable-managed-gpu=false
Dengan konfigurasi ini:
- AKS menginstal dan mengelola driver GPU NVIDIA (
gpuProfile.driveradalahInstall). - AKS tidak menginstal plugin perangkat, pengekspor metrik DCGM, atau aturan kesehatan GPU.
gpuProfile.nvidiaadalahnull. - Tidak ada
nvidia.com/gpusumber daya yang diiklankan sampai Anda menerapkan plugin perangkat.
Langkah selanjutnya
- Sebarkan sampel beban kerja GPU pada simpul yang didukung GPU yang dikelola AKS Anda.
- Pelajari tentang pemanfaatan GPU dan metrik performa dari pengekspor NVIDIA DCGM terkelola pada kumpulan simpul GPU Anda.
Artikel terkait
- Gunakan GPU NVIDIA pada AKS untuk pengalaman GPU standar (tidak terkelola).
- Buat kumpulan node GPU multi-instans (MIG) sebagai latar belakang mengenai partisi MIG dan ukuran VM yang didukung.
- Operator GPU NVIDIA untuk mengelola driver GPU dan plugin perangkat sendiri.
- Pantau metrik GPU dari eksportir NVIDIA DCGM terkelola.
- Pemantauan kesehatan GPU dengan Node Problem Detector (NPD) di AKS.
- Gunakan GPU Windows pada AKS untuk kumpulan simpul GPU Windows.
- Ukuran VM GPU Azure untuk daftar lengkap VM dengan GPU NVIDIA.
- Jalankan inferensi terdistribusi pada beberapa simpul GPU AKS.