Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
NVIDIA GPU iş yüklerini geleneksel olarak Azure Kubernetes Hizmeti'nde (AKS) çalıştırmak, her GPU düğümüne NVIDIA GPU sürücüsü, Kubernetes cihaz eklentisi ve bir GPU metrikleri dışa aktarıcı yüklenmesini ve bunların korunmasını gerektirir. Bu bileşenler GPU zamanlamasını, kapsayıcı düzeyinde GPU erişimini ve telemetriyi etkinleştirir, ancak bunları el ile veya NVIDIA GPU Operatörü aracılığıyla yüklemek işlem yükü ekler.
Tam yönetilen GPU düğümleri (önizleme) ile AKS, NVIDIA GPU sürücüsünü, cihaz eklentisini ve Veri Merkezi GPU Yöneticisi (DCGM) metrik dışa aktarıcısını sizin için yükler ve korur. GPU düğümü havuzu oluşturma işlemi tek bir adıma dönüşür ve GPU kapasitesi diğer AKS düğüm havuzları gibi davranır.
gpuProfile.nvidia altında iki alan kullanarak yönetilen bir GPU düğümü havuzu yapılandırabilirsiniz.
-
managementMode(ManagedveyaUnmanaged) AKS'nin tam yönetilen GPU yığınını (sürücü, cihaz eklentisi ve DCGM ölçümleri veren) veya yalnızca sürücüyü yükleyip yüklemediğini denetler. Varsayılan değer:Unmanaged. -
migStrategy(None,SingleveyaMixed) A100 ve H100 gibi desteklenen GPU SKU'ları için Çok Örnekli GPU (MIG) stratejisini ayarlar. Varsayılan değer:None.
Bu makalede yönetilen bir GPU düğüm havuzu sağlar, isteğe bağlı olarak MIG'yi etkinleştirir, yığını doğrular ve örnek bir GPU iş yükü çalıştırırsınız.
Önemli
AKS önizleme özellikleri self servis ve kabul temelinde kullanılabilir. Önizlemeler "olduğu gibi" ve "mevcut olduğu şekilde" sağlanmakta olup, hizmet seviyesi anlaşmalarına ve sınırlı garantilere dahil edilmemektedir. AKS önizlemeleri, müşteri desteği ekibi tarafından maksimum çaba gösterilerek kısmen ele alınmaktadır. Bu nedenle, bu özellikler üretim kullanımı için tasarlanmamıştır. Daha fazla bilgi için aşağıdaki destek makalelerine bakın:
Başlamadan önce
- Bu makale, mevcut bir AKS kümeniz olduğunu varsayar. Kümeniz yoksa Azure CLI, Azure PowerShell veya Azure portalını kullanarak bir küme oluşturun.
- Azure CLI sürüm 2.85.0 veya üzerinin yüklü olması gerekir. Sürümü bulmak için
az --versionkomutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekiyorsa bkz. Azure CLI'yı yükleme. -
Uzantının en son sürümünü
aks-previewyüklemeniz ve yükseltmeniz gerekir. - Bu makaledeki örnekleri çalıştırmadan önce AKS kümeniz için kimlik bilgilerini
az aks get-credentialsalınkubectl.
Yönetilen GPU bileşenleri
Yönetilen GPU düğüm havuzu her düğümde aşağıdaki bileşenleri içerebilir:
| Bileşen | Ne yapar? | AKS'nin yönettiği şeyler |
|---|---|---|
| NVIDIA GPU sürücüsü | İşletim sisteminin ve kapsayıcıların GPU donanımıyla konuşmasına olanak sağlayan çekirdek modülleri ve kullanıcı alanı kitaplıkları. | Sürücü sürümü seçimi, düğüm sağlama sırasında yükleme ve düğüm görüntüsü yükseltmelerinden sonra yeniden yükleme. |
| NVIDIA Kubernetes cihaz eklentisi | Podların bunları isteyebilmesi için GPU kaynaklarını (nvidia.com/gpu, nvidia.com/mig-*) kubelet'e tanıtan DaemonSet eşdeğeri. |
Her GPU düğümünde dağıtım, yapılandırma (MIG stratejisi dahil) ve yaşam döngüsü. |
| NVIDIA DCGM ve DCGM metrikleri dışa aktarıcısı |
Veri Merkezi GPU Yöneticisi, GPU sistem durumu ve kullanım verilerini toplar ve bağlantı noktasında DCGM_FI_DEV_GPU_UTILPrometheus ölçümlerini (örneğin , DCGM_FI_DEV_GPU_TEMP19400) kullanıma sunar. |
Yükleme, hizmet etkinleştirme ve kubernetes.azure.com/dcgm-exporter=enabled ölçümleri toplamak için kullanılan düğüm etiketi. |
| GPU sistem durumu sinyalleri | NPD sinyalleri, UnhealthyNvidiaDevicePlugin ve UnhealthyNvidiaDCGMServices gibi GPU'ya özgü düğüm koşullarını ortaya çıkartır. |
GPU düğümlerinde NPD izleme ve koşul raporlama. |
Profilleri yükleme
AKS'nin bu bileşenlerden hangisini yükleyeceğine iki gpuProfile alan karar verir:
-
gpuProfile.driver(InstallveyaNone): AKS'nin NVIDIA GPU sürücüsünü yükleyip yüklemediği. -
gpuProfile.nvidia.managementMode(ManagedveyaUnmanaged): AKS'nin sürücünün üzerine Kubernetes'e yönelik GPU yığınını da yükleyip yüklemediği.
Birlikte üç yükleme profili oluşturur:
| Profili yükleme | CLI bayrakları | AKS'nin yüklediği ve yönettiği şeyler |
|---|---|---|
| Tam yönetilen yığın |
--enable-managed-gpu=true (veya bayrak olmaması) |
Yukarıdaki dört bileşenin tümü: sürücü, cihaz eklentisi, DCGM ölçümlerini dışa aktaran ve NPD'de GPU sağlığını izleyen. |
| Yalnızca sürücü (varsayılan) | --enable-managed-gpu=false |
Yalnızca NVIDIA GPU sürücüsü. Cihaz eklentisini, ölçümler vereni ve sistem durumu izlemeyi kendiniz yükler ve yönetirsiniz (örneğin, NVIDIA GPU Operatörü ile). |
| Hiçbiri (BYO) | --enable-managed-gpu=false --gpu-driver None |
Hiçbir şey. AKS dört bileşenin hiçbirini yüklemez. Tam yığının sahibi sizsiniz. Bkz . Kendi GPU sürücünüzü getirme. |
Varsayılanlar ve geçersiz kılmalar
-
Varsayılanlar:
--enable-managed-gpuveya--gpu-drivergeçmezseniz, AKS yalnızca Sürücü profilini NVIDIA GPU özellikli bir VM boyutuyla oluşturulan düğüm havuzuna uygular. -
Geçersiz kılma:
managementMode: Managedsürücü gerektirir, bu nedenle sürücü hala yüklüyken--gpu-driver Noneve--enable-managed-gpu=trueyoksayılır. Sürücüyü atlamak için hem--enable-managed-gpu=falsehem de--gpu-driver Noneayarını yapın. -
Değişmezlik:
managementMode,migStrategyvedriveroluşturma zamanında düzeltilir. Profili değiştirmek için yeni bir düğüm havuzu oluşturun.
CLI uzantısını aks-preview yükleme
aks-previewkomutu ileaz extension addCLI uzantısını yükleyin. Sürüm 19.0.0b29 veya üzeri gereklidir.az extension add --name aks-previewkomutunu kullanarak en son sürümü yüklediğinizden emin olmak için uzantıyı güncelleştirin
az extension update.az extension update --name aks-preview
Özellik bayrağını ManagedGPUExperiencePreview kaydetme
ManagedGPUExperiencePreview komutunu kullanarak aboneliğinize özellik bayrağını az feature register kaydedin.
az feature register --namespace Microsoft.ContainerService --name ManagedGPUExperiencePreview
Sınırlamalar
- Bu özellik şu anda yalnızca NVIDIA GPU özellikli sanal makine (VM) boyutlarını destekler.
- GENEL amaçlı düğüm havuzunu GPU VM boyutu eklemek için güncelleştirmek AKS'de desteklenmez.
- GPU ölçümleri desteklenmediğinden Windows düğüm havuzları bu özellikte desteklenmez. Windows GPU düğüm havuzları oluşturduğunuzda AKS, sürücüleri ve DirectX cihaz eklentisini otomatik olarak yükler ve yönetir. Daha fazla bilgi için AKS Windows GPU belgelerine bakın.
- Bu özelliği kullanmak için mevcut çok örnekli GPU düğümü havuzlarınızı geçirmeniz desteklenmez.
- Mevcut bir NVIDIA GPU düğüm havuzundan yönetilen GPU düğüm havuzuna yerinde yükseltmeler desteklenmez. Mevcut GPU düğümlerinizi kordonlayın ve boşaltın, ardından iş yüklerinizi
--enable-managed-gpu=trueile oluşturulan yeni bir GPU düğümü havuzuna yeniden dağıtın. Daha fazla bilgi için bkz. AKS'de düğüm havuzlarını yeniden boyutlandırma. -
managementModealtındakimigStrategy,drivervegpuProfilealanları düğüm havuzu oluşturulduktan sonra sabittir. Bu değerleri değiştirmek için yeni bir düğüm havuzu oluşturun. - Küme otomatik ölçeklendiricisi, önizleme sırasında yönetilen GPU düğümü havuzlarında desteklenmez. Bu havuzları el ile ölçeklendirin.
Uyarı
GPU özellikli VM'ler, daha yüksek fiyatlandırma ve bölge kullanılabilirliğine tabi özel donanımlar içerir. Daha fazla bilgi için fiyatlandırma aracı ve bölge kullanılabilirliği konularına bakın.
AKS tarafından yönetilen GPU düğüm havuzu oluşturma (önizleme)
Var olan bir AKS kümesine --enable-managed-gpu=true'yü az aks nodepool add kullanarak yönetilen bir GPU düğüm havuzu ekleyin.
gpuProfile.nvidia.managementMode
Managed AKS, GPU sürücüsünü, cihaz eklentisini ve DCGM ölçümlerini otomatik olarak verir ve yükler.
Varsayılan Ubuntu işletim sistemi (OS) SKU'su kullanmak için, bir işletim sistemi SKU'su belirtmeden düğüm havuzunu oluşturursunuz. Düğüm havuzu, kümenin Kubernetes sürümü temel alınarak varsayılan işletim sistemi için yapılandırılmıştır.
bayrağıyla
az aks nodepool addkomutunu kullanarak--enable-managed-gpu=truekümenize bir düğüm havuzu ekleyin.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=trueYönetilen NVIDIA GPU yazılım bileşenlerinin başarıyla yüklendiğini onaylayın:
az aks nodepool show \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name gpunpÇıkışınız aşağıdaki değerleri içermelidir:
... "gpuProfile": { "driver": "Install", "driverType": "", "nvidia": { "managementMode": "Managed", "migStrategy": null } }, ...
Yönetilen Çok Örnekli GPU (MIG) düğüm havuzu oluşturma (önizleme)
Çok Örnekli GPU'yu destekleyen GPU SKU'ları için (A100 ve H100 gibi), düğüm havuzu oluşturma sırasında --gpu-mig-strategy bayrağıyla bir MIG stratejisi yapılandırın. Strateji, MIG bölümlerinin Kubernetes'e nasıl açık olduğunu denetler:
-
Single: Tüm MIG örnekleri standartnvidia.com/gpukaynak altında toplanır. -
Mixed: Her bir MIG profili,nvidia.com/mig-1g.10gbgibi ayrı bir kaynak olarak sunulmaktadır. -
None(varsayılan): MIG yapılandırılmadı.
migStrategy Düğüm havuzu oluşturulduktan sonra alan sabittir.
MIG bölümleme, desteklenen VM boyutları ve GPU örneği profilleri hakkında bilgi almak için AKS'te çok örnekli GPU düğümü havuzu oluşturma ve NVIDIA Çok Örnekli GPU belgelerine bakın.
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
Bu yapılandırmayla podlar standart nvidia.com/gpu kaynak adını kullanarak GPU kaynakları istemektedir.
Yönetilen GPU düğüm havuzunu doğrulama (önizleme)
Düğüm havuzu hazır olduktan sonra, tam yönetilen yığının yüklendiğini ve sağlıklı olduğunu onaylamak için aşağıdaki kontrolleri gerçekleştirin.
Düğüm Sorun Algılayıcısı'ndan (NPD) GPU'ya özgü düğüm koşullarını doğrulayın:
GPU_NODE=$(kubectl get nodes -l agentpool=gpunp -o jsonpath='{.items[0].metadata.name}') kubectl describe node $GPU_NODEYönetilen bir GPU düğümünde, aşağıdaki koşulların her ikisi de şunu bildirmelidir
False:Condition Statü Nedeni UnhealthyNvidiaDevicePluginFalseHealthyNvidiaDevicePluginUnhealthyNvidiaDCGMServicesFalseHealthyNvidiaDCGMServicesYönetilen GPU etiketinin düğümde mevcut olduğunu doğrulayın:
kubectl get node $GPU_NODE -o jsonpath='{.metadata.labels.kubernetes\.azure\.com/dcgm-exporter}'Beklenen çıkış:
enabled.GPU kaynaklarının düğümün tahsis edilebilir kaynaklarında tanıtıldığını doğrulayın.
kubectl get node $GPU_NODE -o jsonpath='{.status.allocatable}'MIG olmayan bir düğüm havuzu için çıktıda
"nvidia.com/gpu": "1"(veya SKU'ya bağlı olarak daha fazlası) bulunur. Bir MIGMixeddüğüm havuzu için çıkış,"nvidia.com/mig-1g.10gb": "7"gibi MIG'ye özgü kaynakları içerir.Bir kapsayıcının içinden GPU erişimini onaylamak için örnek bir iş yükü çalıştırın:
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: 1GPU cihazı, sürücü sürümü ve CUDA sürümünü gösteren çıkışı görmek
nvidia-smiiçin pod günlüklerini görüntüleyin:kubectl logs managed-gpu-test
Yönetilen GPU düğüm havuzunu ölçeklendirme (önizleme)
Yönetilen bir GPU düğüm havuzunu az aks nodepool scale ile elle ölçeklendirin. Yeni düğümler tam yönetilen GPU yığınını yükler.
az aks nodepool scale \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name gpunp \
--node-count 2
Önemli
Önizleme sırasında yönetilen GPU düğüm havuzları küme otomatik ölçeklendiricisini desteklemez. Bu havuzları el ile ölçeklendirin.
Alternatif yükleme profilleri
Tam yönetilen yığın profili uygun değilse AKS, GPU düğüm havuzlarında iki alternatif profili destekler.
AKS'nin NVIDIA GPU sürücüsünü yüklemesini ve bakımını kullanmasını istediğinizde, ancak cihaz eklentisini ve ölçümler vereni kendiniz dağıtmayı planlıyorsanız (örneğin, NVIDIA GPU Operatörü ile) bu profili kullanın. Ayarla --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
Bu yapılandırmayla:
- AKS, NVIDIA GPU sürücüsünü (
gpuProfile.driver)Installyükler ve yönetir. - AKS bir cihaz eklentisi, DCGM ölçüm verme veya GPU sistem durumu kuralları yüklemez.
gpuProfile.nvidia,null'e eşittir. -
nvidia.com/gpuBir cihaz eklentisi dağıtılana kadar hiçbir kaynak yayınlanmaz.
Sonraki Adımlar
- AKS tarafından yönetilen GPU özellikli düğümlerinize örnek bir GPU iş yükü dağıtın.
- GPU düğüm havuzunuzda yönetilen NVIDIA DCGM dışarı aktarmasından GPU kullanımı ve performans ölçümleri hakkında bilgi edinin.
İlgili makaleler
- Standart (yönetilmeyen) GPU deneyimi için AKS üzerinde NVIDIA GPU'larını kullanın.
- Çoklu örnekli GPU (MIG) düğüm havuzu oluşturun, MIG bölümleme ve desteklenen VM boyutları hakkında bilgi verir.
- GPU sürücülerini ve cihaz eklentisini kendiniz yönetmek için NVIDIA GPU Operatörü.
- Yönetilen NVIDIA DCGM ihracatçısının GPU ölçümlerini izleyin.
- AKS üzerinde Düğüm Sorun Algılayıcısı (NPD) ile GPU sistem durumunu izleme.
- Windows GPU düğüm havuzları için AKS üzerinde Windows GPU'ları kullanın.
- NVIDIA GPU özellikli VM'lerin tam listesi için Azure GPU VM boyutları.
- Birden çok AKS GPU düğümünde dağıtılmış çıkarım çalıştırın.