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.
Grafik işleme birimleri (GPU' lar) genellikle grafikler ve görselleştirme iş yükleri gibi yoğun işlem gücü kullanan iş yükleri için kullanılır. AKS, yoğun işlem gücü kullanan Kubernetes iş yüklerini çalıştırmak için GPU özellikli Windows ve Linux düğüm havuzlarını destekler.
Bu makale, Windows düğümlerini yeni ve mevcut AKS kümelerinde zamanlanabilir GPU'larla (önizleme) hazırlamanıza yardımcı olur.
Desteklenen GPU özellikli sanal makineler (VM'ler)
Desteklenen GPU özellikli VM'leri görüntülemek için Azure'da GPU'ya özel VM boyutlarına bakın. AKS düğüm havuzları için en düşük Standard_NC6s_v3 boyutu önerilir. NVv4 serisi (AMD GPU'ları temel alınarak) AKS'de desteklenmez.
Not
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 bkz . fiyatlandırma aracı ve bölge kullanılabilirliği.
Sınırlamalar
- GPU eklemek için mevcut bir Windows düğüm havuzunu güncelleştirme desteklenmez.
- Kubernetes sürüm 1.28 ve altında desteklenmez.
Başlamadan önce
- Bu makalede, mevcut bir AKS kümeniz olduğu varsayılır. Kümeniz yoksa Azure CLI, Azure PowerShell veya Azure portalını kullanarak bir küme oluşturun.
- Azure CLI sürüm 2.72.2 veya üzeri bir sürümün yüklü ve
--gpu-driverkomutunu kullanmak içinaz aks nodepool addalanı ile yapılandırılmış olması gerekir. Sürümü bulmak içinaz --versionkomutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme. -
aks-previewAzure CLI uzantısı yüklüyse lütfen sürümü 18.0.0b2 veya sonraki bir sürüme güncelleştirin.
Kümenizin kimlik bilgilerini alma
komutunu kullanarak
az aks get-credentialsAKS kümenizin kimlik bilgilerini alın. Aşağıdaki örnek komut, myResourceGroup kaynak grubundaki myAKSCluster için kimlik bilgilerini alır:az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Otomatik sürücü yüklemesiyle Windows GPU kullanma
NVIDIA GPU'larının kullanılması Kubernetes için DirectX cihaz eklentisi, GPU sürücü yüklemesi ve daha fazlası gibi çeşitli NVIDIA yazılım bileşenlerinin yüklenmesini içerir. Desteklenen GPU özellikli vm ile bir Windows düğüm havuzu oluşturduğunuzda, bu bileşenler ve uygun NVIDIA CUDA veya GRID sürücüleri yüklenir. NC ve ND serisi VM boyutları için CUDA sürücüsü yüklenir. NV serisi VM boyutları için GRID sürücüsü yüklenir.
Önemli
AKS önizleme özellikleri self servis ve kabul temelinde kullanılabilir. Önizlemeler "olduğu gibi" ve "kullanılabilir" olarak sağlanır ve hizmet düzeyi sözleşmelerinin ve sınırlı garantinin dışında tutulur. AKS önizlemeleri, müşteri desteği tarafından kısmen mümkün olan en iyi şekilde 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:
Azure CLI uzantısını aks-preview yükleme
aks-preview uzantısını
az extension addveyaaz extension updatekomutlarını kullanarak kaydedin veya güncelleştirin.# Register the aks-preview extension az extension add --name aks-preview # Update the aks-preview extension az extension update --name aks-preview
Özellik bayrağını WindowsGPUPreview kaydetme
WindowsGPUPreviewkomutunu kullanarak özellik bayrağınıaz feature registerkaydedin.az feature register --namespace "Microsoft.ContainerService" --name "WindowsGPUPreview"Durumun Kayıtlı olarak gösterilmesi birkaç dakika sürer.
komutunu kullanarak
az feature showkayıt durumunu doğrulayın.az feature show --namespace "Microsoft.ContainerService" --name "WindowsGPUPreview"Durum Kayıtlı olarak yansıtıldığında, komutunu kullanarak
az provider registerkaynak sağlayıcısının kaydını yenileyin.az provider register --namespace Microsoft.ContainerService
Windows GPU özellikli düğüm havuzu oluşturma (önizleme)
Windows GPU özellikli bir düğüm havuzu oluşturmak için, desteklenen bir GPU özellikli VM boyutu kullanmanız ve os-type'yi Windows olarak belirtmeniz gerekir. Varsayılan Windows os-sku şeklindedir Windows2022, ancak tüm Windows os-sku seçenekleri desteklenir.
komutunu kullanarak
az aks nodepool addWindows GPU özellikli bir düğüm havuzu oluşturun.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name gpunp \ --node-count 1 \ --os-type Windows \ --kubernetes-version 1.29.0 \ --node-vm-size Standard_NC6s_v3GPU'larınızın zamanlanabilir olup olmadığını denetleyin.
GPU'larınızın zamanlanabilir olduğunu onayladıktan sonra GPU iş yükünüzü çalıştırabilirsiniz.
GPU Sürücü Türünü Belirtme (önizleme)
Varsayılan olarak AKS, desteklenen gpu özellikli her VM için varsayılan bir GPU sürücü türü belirtir. İş yükü ve sürücü uyumluluğu GPU iş yüklerinin çalışması için önemli olduğundan, Windows GPU düğümünüzün sürücü türünü belirtebilirsiniz. Bu özellik Linux GPU düğüm havuzları için desteklenmez.
GPU desteğine sahip bir Windows aracı havuzu oluştururken, bayrağını kullanarak --driver-type GPU sürücüsünün türünü belirtme seçeneğiniz vardır.
Sunduğumuz seçenekler şunlardır:
- GRID: Sanallaştırma desteği gerektiren uygulamalar için.
- CUDA: Bilimsel bilgi işlem ve yoğun veri kullanımı gerektiren uygulamalarda hesaplama görevleri için iyileştirilmiştir.
Not
Bayrağı ayarladığınızda --driver-type , seçilen sürücü türünün düğüm havuzunuzun belirli VM boyutu ve yapılandırmasıyla uyumlu olduğundan emin olunmasının sorumluluğunu üstlenirsiniz. AKS uyumluluğu doğrulamaya çalışırken, düğüm havuzu oluşturma işleminin belirtilen sürücü türüyle temel alınan VM veya donanım arasındaki uyumsuzluklar nedeniyle başarısız olabileceği senaryolar vardır.
Belirli bir GPU Sürücüsü türüyle Windows GPU özellikli bir düğüm havuzu oluşturmak için komutunu kullanın az aks nodepool add .
az aks nodepool add \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name gpunp \
--node-count 1 \
--os-type Windows \
--kubernetes-version 1.29.0 \
--node-vm-size Standard_NC6s_v3 \
--driver-type GRID
Örneğin, yukarıdaki komut GPU sürücü türünü kullanarak GRID GPU özellikli bir düğüm havuzu oluşturur. Bu sürücü türünün seçilmesi, NC serisi VM sku'ları için varsayılan CUDA sürücü türünü geçersiz kılar.
Windows GPU'larını el ile sürücü yükleme ile kullanma
AKS'de N serisi (NVIDIA GPU) VM boyutlarına sahip bir Windows düğüm havuzu oluştururken, GPU sürücüsü ve Kubernetes DirectX cihaz eklentisi otomatik olarak yüklenir. Bu otomatik yüklemeyi atlamak için aşağıdaki adımları kullanın:
- Yapılandırmayı düğüm kümesi oluşturma zamanında ayarlayarak
--gpu-driver none. - Kubernetes DirectX cihaz eklentisinin el ile yüklenmesi.
GPU sürücüsü yüklemesini atlama
AKS'de varsayılan olarak otomatik GPU sürücüsü yüklemesi etkindir. Kendi sürücülerinizi yükleme gibi bazı durumlarda GPU sürücüsü yüklemesini atlamak isteyebilirsiniz.
Önemli
Azure Kubernetes Service (AKS), 14 Ağustos 2025 tarihinden itibaren düğüm havuzu etiketini desteklememektedir --skip-gpu-driver-install . Bu tarihten sonra, otomatik GPU sürücüsü yüklemesini atlamak için bu etiketi kullanarak GPU özellikli düğüm havuzları sağlayamazsınız.
--gpu-driver alanını none olarak ayarlayarak aynı davranışı elde edebilirsiniz. Bu kullanımdan kaldırma hakkında daha fazla bilgi için GitHub Kullanımdan Kaldırma Sorunu ve Azure Güncelleştirmeleri kullanımdan kaldırma duyurusu başlıklarına bakın. Duyurular ve güncelleştirmeler hakkında bilgi sahibi olmak için AKS sürüm notlarını izleyin.
az aks nodepool addkomutunu kullanarak bir düğüm havuzu oluşturun ve API alanını, otomatik GPU sürücüsü yüklemesini atlamak için--gpu-driverdeğerinenoneolarak ayarlayın.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name gpunp \ --node-count 1 \ --os-type windows \ --os-sku windows2022 \ --gpu-driver none
Not
--node-vm-size Kullandığınız değer HENÜZ AKS'ye eklenmemişse GPU'ları kullanamazsınız ve --gpu-driver alan çalışmaz.
Kubernetes DirectX cihaz eklentisini el ile yükleme
GPU'lar için gerekli sürücüleri sağlamak üzere her düğümde bir pod çalıştıran Kubernetes DirectX cihaz eklentisi için bir DaemonSet dağıtabilirsiniz.
komutunu kullanarak
az aks nodepool addkümenize bir düğüm havuzu ekleyin.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name gpunp \ --node-count 1 \ --os-type windows \ --os-sku windows2022
Ad alanı oluşturma ve Kubernetes DirectX cihaz eklentisini dağıtma
komutunu kullanarak
kubectl create namespacebir ad alanı oluşturun.kubectl create namespace gpu-resourcesk8s-directx-device-plugin.yaml adlı bir dosya oluşturun ve Kubernetes için NVIDIA cihaz eklentisi projesi kapsamında sağlanan aşağıdaki YAML bildirimini yapıştırın:
apiVersion: apps/v1 kind: DaemonSet metadata: name: nvidia-device-plugin-daemonset namespace: gpu-resources spec: selector: matchLabels: name: nvidia-device-plugin-ds updateStrategy: type: RollingUpdate template: metadata: # Mark this pod as a critical add-on; when enabled, the critical add-on scheduler # reserves resources for critical add-on pods so that they can be rescheduled after # a failure. This annotation works in tandem with the toleration below. annotations: scheduler.alpha.kubernetes.io/critical-pod: "" labels: name: nvidia-device-plugin-ds spec: tolerations: # Allow this pod to be rescheduled while the node is in "critical add-ons only" mode. # This, along with the annotation above marks this pod as a critical add-on. - key: CriticalAddonsOnly operator: Exists - key: nvidia.com/gpu operator: Exists effect: NoSchedule - key: "sku" operator: "Equal" value: "gpu" effect: "NoSchedule" containers: - image: mcr.microsoft.com/aks/aks-windows-gpu-device-plugin:0.0.17 name: nvidia-device-plugin-ctr securityContext: allowPrivilegeEscalation: false capabilities: drop: ["ALL"] volumeMounts: - name: device-plugin mountPath: /var/lib/kubelet/device-plugins volumes: - name: device-plugin hostPath: path: /var/lib/kubelet/device-pluginsDaemonSet'i oluşturun ve komutunu kullanarak NVIDIA cihaz eklentisinin başarıyla oluşturulduğunu
kubectl applyonaylayın.kubectl apply -f nvidia-device-plugin-ds.yamlArtık NVIDIA cihaz eklentisini başarıyla yüklediğinize göre GPU'larınızın zamanlanabilir olup olmadığını kontrol edebilirsiniz.
GPU'ların zamanlanabilir olduğunu onaylayın
Kümenizi oluşturduktan sonra GPU'ların Kubernetes'te zamanlanabilir olduğunu onaylayın.
komutunu kullanarak kümenizdeki düğümleri listeleyin
kubectl get nodes.kubectl get nodesÇıkışınız aşağıdaki örnek çıkışa benzer olmalıdır:
NAME STATUS ROLES AGE VERSION aks-gpunp-28993262-0 Ready agent 13m v1.20.7komutunu kullanarak
kubectl describe nodeGPU'ların zamanlanabilir olduğunu onaylayın.kubectl describe node aks-gpunp-28993262-0Kapasite bölümünün altında GPU olarak
microsoft.com/directx: 1listelenmelidir. Çıkışınız aşağıdaki daraltılmış örnek çıkışa benzer olmalıdır:Capacity: [...] microsoft.com.directx/gpu: 1 [...]
Kaynakları temizleme
komutunu kullanarak
kubectl delete jobbu makalede oluşturduğunuz ilişkili Kubernetes nesnelerini kaldırın.kubectl delete jobs windows-gpu-workload
Sonraki adımlar
- Apache Spark işlerini çalıştırmak için bkz . AKS üzerinde Apache Spark işleri çalıştırma.
- Kubernetes zamanlayıcısının özellikleri hakkında daha fazla bilgi için bkz . AKS'de gelişmiş zamanlayıcı özellikleri için en iyi yöntemler.
- Azure Kubernetes Service ve Azure Machine Learning hakkında daha fazla bilgi için bkz:
- ML modeli eğitimi veya dağıtımı için bir Kubernetes kümesi yapılandırın.
- Çevrimiçi bir uç nokta kullanarak model dağıtma.
- Triton Çıkarım Sunucusu ile yüksek performanslı hizmet.
- Kubernetes ve Kubeflow için laboratuvarlar.