Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Grafische verwerkingseenheden (GPU's) worden vaak gebruikt voor rekenintensieve workloads, zoals afbeeldingen en visualisatieworkloads. AKS biedt ondersteuning voor Windows- en Linux-knooppuntgroepen met GPU om rekenintensieve Kubernetes-workloads uit te voeren.
Dit artikel helpt u bij het inrichten van Windows-knooppunten met gefaseerde GPU's op nieuwe en bestaande AKS-clusters (preview).
Ondersteunde virtuele machines met GPU (VM's)
Zie voor GPU geoptimaliseerde VM-grootten in Azure om ondersteunde VM-vm's met GPU weer te geven. Voor AKS-knooppuntgroepen raden we een minimale grootte van Standard_NC6s_v3 aan. De NVv4-serie (gebaseerd op AMD GPU's) wordt niet ondersteund op AKS.
Notitie
VM's met GPU-functionaliteit bevatten speciale hardware waarvoor hogere prijzen en beschikbaarheid van regio's gelden. Zie het prijshulpprogramma en de beschikbaarheid van regio's voor meer informatie.
Beperkingen
- Het bijwerken van een bestaande Windows-knooppuntgroep om GPU toe te voegen, wordt niet ondersteund.
- Niet ondersteund in Kubernetes versie 1.28 en lager.
Voordat u begint
- In dit artikel wordt ervan uitgegaan dat u een bestaand AKS-cluster hebt. Als u geen cluster hebt, maakt u er een met behulp van de Azure CLI, Azure PowerShell of Azure Portal.
- U moet Azure CLI versie 2.72.2 of hoger hebben geïnstalleerd en geconfigureerd voor het gebruik van het
--gpu-driverveld met deaz aks nodepool addopdracht. Voeraz --versionuit om de versie te bekijken. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren. - Als u de
aks-previewAzure CLI-extensie hebt geïnstalleerd, werkt u de versie bij naar 18.0.0b2 of hoger.
De referenties voor uw cluster ophalen
Haal de referenties voor uw AKS-cluster op met behulp van de
az aks get-credentialsopdracht. Met de volgende voorbeeldopdracht worden de referenties voor het myAKSCluster in de resourcegroep myResourceGroup ophaalt:az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Windows GPU gebruiken met automatische installatie van stuurprogramma's
Het gebruik van NVIDIA GPU's omvat de installatie van verschillende NVIDIA-softwareonderdelen, zoals de DirectX-apparaatinvoegtoepassing voor Kubernetes, installatie van GPU-stuurprogramma's en meer. Wanneer u een Windows-knooppuntgroep maakt met een ondersteunde VM met GPU, worden deze onderdelen en de juiste NVIDIA CUDA- of GRID-stuurprogramma's geïnstalleerd. Voor VM-grootten uit de NC- en ND-serie wordt het CUDA-stuurprogramma geïnstalleerd. Voor VM-grootten uit de NV-serie wordt het GRID-stuurprogramma geïnstalleerd.
Belangrijk
AKS preview-functies zijn beschikbaar op selfservice, opt-in basis. Previews worden geleverd 'zoals is' en 'als beschikbaar' en ze worden uitgesloten van de serviceovereenkomsten en beperkte garantie. AKS-previews worden gedeeltelijk gedekt door klantondersteuning op basis van best effort. Daarom zijn deze functies niet bedoeld voor productiegebruik. Zie de volgende ondersteuningsartikelen voor meer informatie:
aks-preview De Azure CLI-extensie installeren
Registreer of werk de aks-preview-extensie bij met behulp van de
az extension addofaz extension updateopdracht.# Register the aks-preview extension az extension add --name aks-preview # Update the aks-preview extension az extension update --name aks-preview
WindowsGPUPreview De functievlag registreren
Registreer de
WindowsGPUPreviewfunctievlag met behulp van deaz feature registeropdracht.az feature register --namespace "Microsoft.ContainerService" --name "WindowsGPUPreview"Het duurt enkele minuten voordat de status Geregistreerd wordt weergegeven.
Controleer de registratiestatus met behulp van de
az feature showopdracht.az feature show --namespace "Microsoft.ContainerService" --name "WindowsGPUPreview"Wanneer de status Geregistreerd weergeeft, vernieuwt u de registratie van de Microsoft.ContainerService-resourceprovider met behulp van de
az provider registeropdracht.az provider register --namespace Microsoft.ContainerService
Een knooppuntgroep met Windows GPU maken (preview)
Als u een Windows GPU-knooppuntgroep wilt maken, moet u een ondersteunde VM-grootte met GPU gebruiken en de os-type als Windows. De standaardversie van Windows os-sku is Windows2022, maar alle Windows-opties os-sku worden ondersteund.
Maak een windows GPU-knooppuntgroep met behulp van de
az aks nodepool addopdracht.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_v3Controleer of uw GPU's kunnen worden geschacht.
Zodra u hebt bevestigd dat uw GPU's beschikbaar zijn, kunt u uw GPU-workload uitvoeren.
Type GPU-stuurprogramma opgeven (preview)
Standaard geeft AKS een standaard gpu-stuurprogrammatype op voor elke ondersteunde VM met GPU. Omdat workload- en stuurprogrammacompatibiliteit belangrijk zijn voor werkende GPU-workloads, kunt u het stuurprogrammatype opgeven voor uw Windows GPU-knooppunt. Deze functie wordt niet ondersteund voor Linux GPU-knooppuntgroepen.
Wanneer u een Windows-agentgroep maakt met GPU-ondersteuning, kunt u het type GPU-stuurprogramma opgeven met behulp van de --driver-type vlag.
De beschikbare opties zijn:
- GRID: Voor toepassingen waarvoor ondersteuning voor virtualisatie is vereist.
- CUDA: Geoptimaliseerd voor rekentaken in wetenschappelijke computing en gegevensintensieve toepassingen.
Notitie
Wanneer u de --driver-type vlag instelt, neemt u de verantwoordelijkheid om ervoor te zorgen dat het geselecteerde stuurprogrammatype compatibel is met de specifieke VM-grootte en -configuratie van uw knooppuntgroep. Hoewel AKS compatibiliteit probeert te valideren, zijn er scenario's waarin het maken van de knooppuntgroep kan mislukken vanwege incompatibiliteit tussen het opgegeven stuurprogrammatype en de onderliggende VM of hardware.
Gebruik de az aks nodepool add opdracht om een windows GPU-knooppuntgroep te maken met een specifiek TYPE GPU-stuurprogramma.
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
Met de bovenstaande opdracht maakt u bijvoorbeeld een gpu-knooppuntgroep met behulp van het GRID type GPU-stuurprogramma. Als u dit stuurprogrammatype selecteert, wordt het standaardstuurprogrammatype voor VM-SKU's uit CUDA de NC-serie overschreven.
Windows GPU gebruiken met handmatige installatie van stuurprogramma's
Bij het maken van een Windows-knooppuntgroep met N-serie VM-grootten (NVIDIA GPU) in AKS, worden het GPU-stuurprogramma en de invoegtoepassing voor Kubernetes DirectX-apparaten automatisch geïnstalleerd. Gebruik de volgende stappen om deze automatische installatie te omzeilen:
-
Sla de installatie van GPU-stuurprogramma's over door de configuratie
--gpu-driver nonein te stellen bij het maken van een knooppuntgroep. - Handmatige installatie van de Kubernetes DirectX-apparaatinvoegtoepassing.
Installatie van GPU-stuurprogramma overslaan
AKS heeft standaard automatische installatie van GPU-stuurprogramma's ingeschakeld. In sommige gevallen, zoals het installeren van uw eigen stuurprogramma's, wilt u de installatie van GPU-stuurprogramma's overslaan.
Notitie
Het gpu-driver API-veld is een voorgesteld alternatief voor klanten die eerder gebruikmaakten van de --skip-gpu-driver-install knooppuntpool-tag.
- De tag van de
--skip-gpu-driver-installknooppuntgroep op AKS wordt op 14 augustus 2025 buiten gebruik gesteld. Als u het bestaande gedrag van het overslaan van automatische installatie van GPU-stuurprogramma's wilt behouden, voert u een upgrade uit van uw knooppuntpools naar de meest recente versie van de knooppuntinstallatiekopieën en stelt u het--gpu-driverveld in opnone. Na 14 augustus 2025 kunt u geen AKS GPU-knooppuntgroepen inrichten met de tag van de--skip-gpu-driver-installknooppuntgroep om dit standaardgedrag te omzeilen. Voor meer informatie, zie verwijdering van de tagskip-gpu-driver.
Maak een knooppuntgroep met behulp van de
az aks nodepool addopdracht en stel het API-veld--gpu-driverin om de automatische installatie van GPU-stuurprogramma's over tenoneslaan.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name gpunp \ --node-count 1 \ --os-type windows \ --os-sku windows2022 \ --gpu-driver none
Notitie
Als de --node-vm-size functie die u gebruikt, nog niet is geïmplementeerd op AKS, kunt u geen GPU's gebruiken en werkt het --gpu-driver veld niet.
De Kubernetes DirectX-apparaatinvoegtoepassing handmatig installeren
U kunt een DaemonSet implementeren voor de Kubernetes DirectX-apparaatinvoegtoepassing, die een pod op elk knooppunt uitvoert om de vereiste stuurprogramma's voor de GPU's te bieden.
Voeg een knooppuntgroep toe aan uw cluster met behulp van de
az aks nodepool addopdracht.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name gpunp \ --node-count 1 \ --os-type windows \ --os-sku windows2022
Een naamruimte maken en de Kubernetes DirectX-apparaatinvoegtoepassing implementeren
Maak een naamruimte met behulp van de
kubectl create namespaceopdracht.kubectl create namespace gpu-resourcesMaak een bestand met de naam k8s-directx-device-plugin.yaml en plak het volgende YAML-manifest dat is opgegeven als onderdeel van de NVIDIA-apparaatinvoegtoepassing voor het Kubernetes-project:
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-pluginsMaak de DaemonSet en controleer of de NVIDIA-apparaatinvoegtoepassing is gemaakt met behulp van de
kubectl applyopdracht.kubectl apply -f nvidia-device-plugin-ds.yamlNu u de NVIDIA-apparaatinvoegtoepassing hebt geïnstalleerd, kunt u controleren of uw GPU's kunnen worden geschuleerbaar.
Controleer of GPU's kunnen worden gescheerd
Nadat u het cluster hebt gemaakt, controleert u of GPU's beschikbaar zijn in Kubernetes.
Vermeld de knooppunten in uw cluster met behulp van de
kubectl get nodesopdracht.kubectl get nodesDe uitvoer moet er ongeveer uitzien als in de volgende voorbeelduitvoer:
NAME STATUS ROLES AGE VERSION aks-gpunp-28993262-0 Ready agent 13m v1.20.7Controleer of de GPU's beschikbaar zijn met behulp van de
kubectl describe nodeopdracht.kubectl describe node aks-gpunp-28993262-0Onder de sectie Capaciteit moet de GPU worden weergegeven als
microsoft.com/directx: 1. De uitvoer moet er ongeveer uitzien als in de volgende verkorte voorbeelduitvoer:Capacity: [...] microsoft.com.directx/gpu: 1 [...]
Resources opschonen
Verwijder de bijbehorende Kubernetes-objecten die u in dit artikel hebt gemaakt met behulp van de
kubectl delete jobopdracht.kubectl delete jobs windows-gpu-workload
Volgende stappen
- Zie Apache Spark-taken uitvoeren op AKS als u Apache Spark-taken wilt uitvoeren.
- Zie Best practices voor geavanceerde scheduler-functies in AKS voor meer informatie over functies van de Kubernetes-planner.
- Zie voor meer informatie over Azure Kubernetes Service en Azure Machine Learning: