Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Grafické procesory (GPU) se často používají pro úlohy náročné na výpočetní výkon, jako jsou grafické a vizualizační úlohy. AKS podporuje fondy uzlů s podporou GPU pro Windows a Linux pro spouštění úloh Kubernetes náročných na výpočetní výkon.
Tento článek vám pomůže zřizovat uzly Windows s novými a existujícími clustery AKS (Preview).
Podporované virtuální počítače s podporou GPU
Pokud chcete zobrazit podporované virtuální počítače s podporou GPU, podívejte se na velikosti virtuálních počítačů optimalizovaných pro GPU v Azure. Pro fondy uzlů AKS doporučujeme minimální velikost Standard_NC6s_v3. Řada NVv4 (založená na grafických procesorech AMD) není podporována v AKS.
Poznámka:
Virtuální počítače s podporou GPU obsahují specializovaný hardware, na který se vztahují vyšší ceny a dostupnost oblastí. Další informace najdete v cenovém nástroji a dostupnosti oblastí.
Omezení
- Aktualizace existujícího fondu uzlů Windows pro přidání GPU se nepodporuje.
- V Kubernetes verze 1.28 a níže se nepodporuje.
Než začnete
- Tento článek předpokládá, že máte existující cluster AKS. Pokud cluster nemáte, vytvořte ho pomocí Azure CLI, Azure PowerShellu nebo webu Azure Portal.
- Potřebujete nainstalované a nakonfigurované rozhraní příkazového řádku Azure CLI verze 2.72.2 nebo novější pro použití
--gpu-driverpole s příkazemaz aks nodepool add. Verzi zjistíte spuštěním příkazuaz --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI. - Pokud máte
aks-previewnainstalované rozšíření Azure CLI, aktualizujte prosím verzi na 18.0.0b2 nebo novější.
Získání přihlašovacích údajů pro cluster
Pomocí příkazu získejte přihlašovací údaje pro cluster
az aks get-credentialsAKS. Následující ukázkový příkaz načte přihlašovací údaje pro myAKSCluster ve skupině prostředků myResourceGroup :az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Použití Grafického procesoru Windows s automatickou instalací ovladačů
Použití grafických procesorů NVIDIA zahrnuje instalaci různých softwarových komponent NVIDIA, jako je modul plug-in zařízení DirectX pro Kubernetes, instalaci ovladače GPU a další. Když vytvoříte fond uzlů Windows s podporovaným virtuálním počítačem s podporou GPU, nainstalují se tyto komponenty a příslušné ovladače NVIDIA CUDA nebo GRID. Pro velikosti virtuálních počítačů řady NC a ND se nainstaluje ovladač CUDA. U velikostí virtuálních počítačů řady NV je nainstalován ovladač GRID.
Důležité
Funkce AKS ve verzi Preview jsou k dispozici na samoobslužné bázi. Verze Preview jsou poskytovány "tak, jak jsou" a "dostupné", a jsou vyloučené ze smluv o úrovni služeb a omezené záruky. Verze Preview AKS jsou částečně pokryty zákaznickou podporou na základě maximálního úsilí. Proto tyto funkce nejsou určené pro produkční použití. Další informace najdete v následujících článcích podpory:
aks-preview Instalace rozšíření Azure CLI
Zaregistrujte nebo aktualizujte rozšíření aks-preview pomocí
az extension addpříkazu neboaz extension updatepříkazu.# Register the aks-preview extension az extension add --name aks-preview # Update the aks-preview extension az extension update --name aks-preview
Registrace příznaku WindowsGPUPreview funkce
WindowsGPUPreviewPomocí příkazu zaregistrujte příznakaz feature registerfunkce.az feature register --namespace "Microsoft.ContainerService" --name "WindowsGPUPreview"Zobrazení stavu Zaregistrované trvá několik minut.
Pomocí příkazu ověřte stav
az feature showregistrace.az feature show --namespace "Microsoft.ContainerService" --name "WindowsGPUPreview"Jakmile se stav projeví jako zaregistrovaný, aktualizujte registraci poskytovatele prostředků Microsoft.ContainerService pomocí
az provider registerpříkazu.az provider register --namespace Microsoft.ContainerService
Vytvoření fondu uzlů s podporou GPU s Windows (Preview)
Pokud chcete vytvořit fond uzlů s podporou GPU s Windows, musíte použít podporovanou velikost virtuálního počítače s podporou GPU a zadat jako os-typeWindows. Výchozí windows je os-sku, ale všechny možnosti Windows Windows2022os-sku jsou podporovány.
Pomocí příkazu vytvořte fond
az aks nodepool adduzlů s podporou GPU systému Windows.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_v3Zkontrolujte, jestli jsou vaše grafické procesory schedovatelné.
Jakmile potvrdíte, že jsou grafické procesory dostupné, můžete spustit úlohu GPU.
Určení typu ovladače GPU (Preview)
Ve výchozím nastavení AKS určuje výchozí typ ovladače GPU pro každý podporovaný virtuální počítač s podporou GPU. Vzhledem k tomu, že pro funkční úlohy GPU jsou důležité kompatibilita úloh a ovladačů, můžete zadat typ ovladače pro uzel Gpu s Windows. Tato funkce není podporována pro fondy uzlů GPU s Linuxem.
Při vytváření fondu agentů Windows s podporou GPU máte možnost určit typ ovladače GPU pomocí příznaku --driver-type .
Dostupné jsou následující možnosti:
- GRID: Pro aplikace vyžadující podporu virtualizace.
- CUDA: Optimalizováno pro výpočetní úlohy ve vědeckých výpočetních a datových aplikacích náročných na data.
Poznámka:
Při nastavování příznaku --driver-type přebíráte odpovědnost za zajištění kompatibility vybraného typu ovladače s konkrétní velikostí a konfigurací fondu uzlů. I když se AKS pokouší ověřit kompatibilitu, existují scénáře, kdy vytvoření fondu uzlů může selhat kvůli nekompatibilitě mezi zadaným typem ovladače a základním virtuálním počítačem nebo hardwarem.
Pokud chcete vytvořit fond uzlů s podporou GPU systému Windows s konkrétním typem ovladače GPU, použijte az aks nodepool add příkaz.
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
Výše uvedený příkaz například vytvoří fond uzlů s podporou GPU pomocí GRID typu ovladače GPU. Výběrem tohoto typu ovladače se přepíše výchozí typ CUDA ovladače pro skladové položky virtuálních počítačů řady NC series.
Použití Grafického procesoru Windows s ruční instalací ovladače
Při vytváření fondu uzlů s Windows s velikostmi virtuálních počítačů řady N-series (NVIDIA GPU) v AKS se automaticky nainstaluje ovladač GPU a modul plug-in zařízení Kubernetes DirectX. Pokud chcete tuto automatickou instalaci obejít, postupujte takto:
-
Přeskočte instalaci ovladače GPU nastavením konfigurace
--gpu-driver nonev době vytvoření fondu uzlů. - Ruční instalace modulu plug-in zařízení Kubernetes DirectX
Přeskočit instalaci ovladače GPU
AKS má ve výchozím nastavení povolenou automatickou instalaci ovladače GPU. V některých případech, například instalace vlastních ovladačů, možná budete chtít přeskočit instalaci ovladače GPU.
Důležité
Od 14. srpna 2025 už Azure Kubernetes Service (AKS) nepodporuje --skip-gpu-driver-install značku fondu uzlů. Po tomto datu nebudete moct pomocí této značky zřídit fondy uzlů s podporou GPU a obejít tak automatickou instalaci ovladače GPU. Stejného chování dosáhnete nastavením --gpu-driver pole na none. Další informace o tomto vyřazení najdete v problému vyřazení na GitHubu a oznámení o vyřazení z Azure Updates. Pokud chcete mít přehled o oznámeních a aktualizacích, postupujte podle poznámek k verzi AKS.
Vytvořte fond uzlů pomocí příkazu
az aks nodepool adda nastavte pole--gpu-driverrozhraní API nanonek tomu, aby se přeskočila automatická instalace ovladače GPU.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name gpunp \ --node-count 1 \ --os-type windows \ --os-sku windows2022 \ --gpu-driver none
Poznámka:
Pokud --node-vm-size, který používáte, ještě není implementován na AKS, nemůžete použít GPU a pole --gpu-driver nefunguje.
Ruční instalace modulu plug-in zařízení Kubernetes DirectX
Pro modul plug-in zařízení Kubernetes DirectX můžete nasadit daemonSet, který na každém uzlu spouští pod, který poskytuje požadované ovladače pro gpu.
Přidejte do clusteru
az aks nodepool addfond uzlů pomocí příkazu.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name gpunp \ --node-count 1 \ --os-type windows \ --os-sku windows2022
Vytvoření oboru názvů a nasazení modulu plug-in zařízení Kubernetes DirectX
Vytvořte obor názvů pomocí
kubectl create namespacepříkazu.kubectl create namespace gpu-resourcesVytvořte soubor s názvem k8s-directx-device-plugin.yaml a vložte následující manifest YAML poskytnutý jako součást modulu plug-in zařízení NVIDIA pro projekt Kubernetes:
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-pluginsPomocí příkazu vytvořte daemonSet a potvrďte úspěšné vytvoření
kubectl applymodulu plug-in zařízení NVIDIA.kubectl apply -f nvidia-device-plugin-ds.yamlTeď, když jste úspěšně nainstalovali modul plug-in zařízení NVIDIA, můžete zkontrolovat, zda jsou vaše GPU schedlitelné.
Potvrďte, že jsou gpu schedlitelné.
Po vytvoření clusteru ověřte, že se v Kubernetes dají schedovat gpu.
Pomocí příkazu vypište uzly v clusteru
kubectl get nodes.kubectl get nodesVýstup by měl vypadat podobně jako v následujícím příkladu výstupu:
NAME STATUS ROLES AGE VERSION aks-gpunp-28993262-0 Ready agent 13m v1.20.7Pomocí příkazu ověřte, že jsou grafické procesory schednutelné
kubectl describe node.kubectl describe node aks-gpunp-28993262-0V části Kapacita by gpu měl být uveden jako
microsoft.com/directx: 1. Výstup by měl vypadat podobně jako v následujícím zhuštěném příkladu výstupu:Capacity: [...] microsoft.com.directx/gpu: 1 [...]
Vyčištění prostředků
Pomocí příkazu odeberte přidružené objekty Kubernetes, které jste vytvořili v tomto článku
kubectl delete job.kubectl delete jobs windows-gpu-workload
Další kroky
- Pokud chcete spouštět úlohy Apache Sparku, přečtěte si téma Spouštění úloh Apache Sparku v AKS.
- Další informace o funkcích plánovače Kubernetes najdete v tématu Osvědčené postupy pro pokročilé funkce plánovače v AKS.
- Další informace o službě Azure Kubernetes Service a Azure Machine Learning najdete tady: