Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Zum Ausführen von NVIDIA GPU-Workloads auf Azure Kubernetes Service (AKS) müssen Sie traditionell den NVIDIA GPU-Treiber, das Kubernetes-Geräte-Plug-In und einen GPU-Metrikexporteur auf jedem GPU-Knoten installieren und verwalten. Diese Komponenten ermöglichen gpu-Planung, GPU-Zugriff auf Containerebene und Telemetrie, aber die manuelle Installation oder über den NVIDIA GPU-Operator erhöht den Betriebsaufwand.
Mit vollständig verwalteten GPU-Knoten (Vorschau) installiert und verwaltet AKS den NVIDIA GPU-Treiber, das Geräte-Plug-In und den Data Center GPU Manager (DCGM)-Metrikexporteur für Sie. Die Erstellung des GPU-Knotenpools wird zu einem einzigen Schritt, und die GPU-Kapazität verhält sich wie jeder andere AKS-Knotenpool.
Sie konfigurieren einen verwalteten GPU-Knotenpool über zwei Felder unter gpuProfile.nvidia:
-
managementMode(ManagedoderUnmanaged) steuert, ob AKS den vollständig verwalteten GPU-Stapel (Treiber, Geräte-Plug-In und DCGM-Metrikexporteur) oder nur den Treiber installiert. Der Standardwert lautetUnmanaged. -
migStrategy(None,SingleoderMixed) legt die Strategie für die Multi-Instance GPU (MIG) für unterstützte GPU-SKUs wie A100 und H100 fest. Der Standardwert lautetNone.
In diesem Artikel stellen Sie einen verwalteten GPU-Knotenpool bereit, optional MIG aktivieren, den Stapel überprüfen und eine BEISPIEL-GPU-Workload ausführen.
Von Bedeutung
AKS-Vorschaufunktionen sind auf Selbstbedienungsbasis und freiwillig verfügbar. Vorschauversionen werden „im Istzustand“ und „wie verfügbar“ bereitgestellt und sind von den Service Level Agreements und der eingeschränkten Garantie ausgeschlossen. AKS-Vorschauversionen werden teilweise vom Kundensupport auf Grundlage der bestmöglichen Leistung abgedeckt. Daher sind diese Funktionen nicht für die Verwendung in der Produktion vorgesehen. Weitere Informationen finden Sie in den folgenden Supportartikeln:
Bevor Sie anfangen
- In diesem Artikel wird vorausgesetzt, dass Sie über einen AKS-Cluster verfügen. Wenn Sie keinen Cluster haben, erstellen Sie einen mithilfe der Azure CLI, der Azure PowerShell oder im Azure-Portal.
- Sie benötigen die Azure CLI Version 2.85.0 oder höher installiert. Führen Sie
az --versionaus, um die Version zu finden. Wenn Sie eine Installation oder ein Upgrade durchführen müssen, finden Sie weitere Informationen unter Azure CLI installieren. - Sie müssen die neueste Version der
aks-previewErweiterung installieren und aktualisieren. - Rufen Sie die Anmeldeinformationen für den AKS-Cluster mit
az aks get-credentialsab, bevor Sie diekubectl-Beispiele in diesem Artikel ausführen.
Verwaltete GPU-Komponenten
Ein verwalteter GPU-Knotenpool kann die folgenden Komponenten auf jedem Knoten enthalten:
| Bestandteil | Was es tut | Was AKS verwaltet |
|---|---|---|
| NVIDIA GPU-Treiber | Kernelmodule und Benutzerraumbibliotheken, mit denen das Betriebssystem und container mit der GPU-Hardware kommunizieren können. | Treiberversionauswahl, Installation bei der Knoten-Bereitstellung sowie Neuinstallation nach Knotenabbild-Upgrades. |
| NVIDIA Kubernetes Geräte-Plug-In | DaemonSet-Äquivalent, das GPU-Ressourcen (nvidia.com/gpu, nvidia.com/mig-*) für das kubelet ankündigt, damit Pods sie anfordern können. |
Bereitstellung, Konfiguration (einschließlich MIG-Strategie) und Lebenszyklus auf jedem GPU-Knoten. |
| NVIDIA DCGM- und DCGM-Metrikexporteur | Data Center GPU Manager sammelt GPU-Gesundheits- und Nutzungsdaten und macht Prometheus-Metriken (z. B. DCGM_FI_DEV_GPU_UTIL, DCGM_FI_DEV_GPU_TEMP) am Port 19400 verfügbar. |
Installation, Dienstaktivierung und die zum Auslesen von Metriken verwendete Knotenbezeichnung kubernetes.azure.com/dcgm-exporter=enabled. |
| GPU-Integritätssignale | NPD-Signale, die GPU-spezifische Knotenbedingungen wie UnhealthyNvidiaDevicePlugin und UnhealthyNvidiaDCGMServices aufzeigen. |
NPD-Überwachung und Zustandsberichte auf GPU-Knoten. |
Profile installieren
Zwei gpuProfile Felder entscheiden, welche dieser Komponenten AKS installiert:
-
gpuProfile.driver(InstalloderNone): ob AKS den NVIDIA GPU-Treiber installiert. -
gpuProfile.nvidia.managementMode(ManagedoderUnmanaged): ob AKS auch den auf Kubernetes ausgerichteten GPU-Stack über dem Treiber installiert.
Gemeinsam produzieren sie drei Installationsprofile:
| Profil installieren | CLI-Flags | Was AKS installiert und verwaltet |
|---|---|---|
| Vollständig verwalteter Stapel |
--enable-managed-gpu=true (oder keines der Flags) |
Alle vier genannten Komponenten: Treiber, Geräte-Plugin, DCGM-Metrikenexporteur und GPU-Zustandsüberwachung in NPD. |
| Nur Treiber (Standard) | --enable-managed-gpu=false |
NUR NVIDIA GPU-Treiber. Sie installieren und verwalten das Geräte-Plugin, den Metrik-Exporter und die Integritätsprüfung selbst (z. B. mit dem NVIDIA GPU Operator). |
| None (BYO) | --enable-managed-gpu=false --gpu-driver None |
Nichts. AKS installiert keine der vier Komponenten. Sie besitzen den gesamten Technologie-Stack. Siehe Bring Your Own GPU Driver. |
Standardeinstellungen und Außerkraftsetzungen
-
Standardwerte: Wenn Sie
--enable-managed-gpuoder--gpu-drivernicht übergeben, wendet AKS das Profil nur Treiber auf den Knotenpool an, der mit einer NVIDIA GPU-fähigen VM-Größe erstellt wurde. -
Außerkraftsetzung:
managementMode: Managederfordert den Treiber, daher wird--gpu-driver Noneignoriert, wenn--enable-managed-gpu=trueund der Treiber noch installiert ist. Um den Treiber zu überspringen, setzen Sie sowohl--enable-managed-gpu=falseals auch--gpu-driver None. -
Unveränderlichkeit:
managementMode,migStrategy, unddriversind alle zur Erstellungszeit festgelegt. Um das Profil zu ändern, erstellen Sie einen neuen Knotenpool.
Installieren Sie die aks-preview-Erweiterung für die Befehlszeilenschnittstelle
Installieren Sie die CLI-Erweiterung
aks-previewmit dem Befehlaz extension add. Version 19.0.0b29 oder höher ist erforderlich.az extension add --name aks-previewAktualisieren Sie die Erweiterung mit dem Befehl
az extension update, um sicherzustellen, dass Sie die neueste Version installiert haben.az extension update --name aks-preview
Registriere die ManagedGPUExperiencePreview-Feature-Flag
Registrieren Sie die Feature-Flag ManagedGPUExperiencePreview in Ihrem Abonnement mithilfe des az feature register-Befehls.
az feature register --namespace Microsoft.ContainerService --name ManagedGPUExperiencePreview
Einschränkungen
- Dieses Feature unterstützt derzeit nur NVIDIA GPU-fähige VM-Größen.This feature currently supports NVIDIA GPU-enabled virtual machine (VM) sizes only.
- Das Aktualisieren eines allgemeinen Knotenpools zum Hinzufügen einer GPU-VM-Größe wird auf AKS nicht unterstützt.
- Windows Knotenpools werden mit diesem Feature nicht unterstützt, da GPU-Metriken nicht unterstützt werden. Wenn Sie Windows GPU-Knotenpools erstellen, installiert und verwaltet AKS automatisch die Treiber und das DirectX-Geräte-Plug-In. Weitere Informationen finden Sie in der Dokumentation AKS Windows GPU.
- Das Migrieren ihrer vorhandenen GPU-Knotenpools mit mehreren Instanzen zur Verwendung dieses Features wird nicht unterstützt.
- Direkte Upgrades von einem vorhandenen NVIDIA GPU-Knotenpool zu einem verwalteten GPU-Knotenpool werden nicht unterstützt. Um Ihre vorhandenen GPU-Knoten zu migrieren, sperren und leeren Sie diese ab. Stellen Sie anschließend Ihre Workloads in einem neuen GPU-Knotenpool bereit, der mit
--enable-managed-gpu=trueerstellt wurde. Weitere Informationen finden Sie unter Ändern der Größe von Knotenpools auf AKS. - Die Felder
managementMode,migStrategyunddrivervongpuProfilesind nach der Erstellung des Knotenpools unveränderlich. Um diese Werte zu ändern, erstellen Sie einen neuen Knotenpool. - Der Cluster-Autoscaler wird in verwalteten GPU-Knotenpools während der Vorschau nicht unterstützt. Diese Pools manuell skalieren.
Hinweis
GPU-fähige virtuelle Computer verfügen über spezielle Hardware, für die höhere Preise gelten und die möglicherweise nicht in allen Regionen verfügbar ist. Weitere Informationen finden Sie im Preistool und zur regionalen Verfügbarkeit.
Erstellen eines AKS-verwalteten GPU-Knotenpools (Vorschau)
Fügen Sie einen verwalteten GPU-Knotenpool zu einem vorhandenen AKS-Cluster hinzu, indem Sie --enable-managed-gpu=true an az aks nodepool add übergeben. AKS konfiguriert automatisch gpuProfile.nvidia.managementMode auf Managed und installiert den GPU-Treiber, das Geräte-Plugin und den Exporter der DCGM-Metriken.
Um die Standardmäßige Ubuntu-Betriebssystem-SKU (OS) zu verwenden, erstellen Sie den Knotenpool, ohne eine Betriebssystem-SKU anzugeben. Der Knotenpool wird basierend auf der Kubernetes-Version des Clusters für das Standardbetriebssystem konfiguriert.
Fügen Sie Ihrem Cluster mithilfe des Befehls
az aks nodepool addund der Kennzeichnung--enable-managed-gpu=trueeinen Knotenpool hinzu.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=trueVergewissern Sie sich, dass die verwalteten NVIDIA GPU-Softwarekomponenten erfolgreich installiert werden:
az aks nodepool show \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name gpunpIhre Ausgabe sollte die folgenden Werte einschließen:
... "gpuProfile": { "driver": "Install", "driverType": "", "nvidia": { "managementMode": "Managed", "migStrategy": null } }, ...
Erstellen eines verwalteten GPU-Knotenpools mit mehreren Instanzen (MIG) (Vorschau)
Konfigurieren Sie für GPU-SKUs, die Multi-Instance-GPU (z. B. A100 und H100) unterstützen, eine MIG-Strategie beim Erstellen des Knotenpools mit dem Flag --gpu-mig-strategy. Die Strategie steuert, wie MIG-Partitionen für Kubernetes bereitgestellt werden.
-
Single: Alle MIG-Instanzen werden unter der Standardressourcenvidia.com/gpuaggregiert. -
Mixed: Jedes MIG-Profil wird als separate Ressource verfügbar gemacht, z. B.nvidia.com/mig-1g.10gb. -
None(Standard): MIG ist nicht konfiguriert.
Das migStrategy Feld ist unveränderlich, nachdem der Knotenpool erstellt wurde.
Hintergrundinformationen zur MIG-Partitionierung, unterstützten VM-Größen und GPU-Instanzprofilen finden Sie unter Erstellen eines GPU-Knotenpools mit mehreren Instanzen in AKS und NVIDIA Multi-Instance GPU.
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
Bei dieser Konfiguration fordern Pods GPU-Ressourcen mithilfe des Standardressourcennamens nvidia.com/gpu an.
Überprüfen des verwalteten GPU-Knotenpools (Vorschau)
Nachdem der Knotenpool fertig ist, führen Sie die folgenden Überprüfungen aus, um zu bestätigen, dass der vollständige verwaltete Stapel installiert und fehlerfrei ist.
Überprüfen Sie GPU-spezifische Knotenbedingungen vom Knotenproblemdetektor (NPD):
GPU_NODE=$(kubectl get nodes -l agentpool=gpunp -o jsonpath='{.items[0].metadata.name}') kubectl describe node $GPU_NODEAuf einem verwalteten GPU-Knoten sollten bei folgenden beiden Bedingungen
Falsegemeldet werden:Zustand Status Grund UnhealthyNvidiaDevicePluginFalseHealthyNvidiaDevicePluginUnhealthyNvidiaDCGMServicesFalseHealthyNvidiaDCGMServicesStellen Sie sicher, dass die verwaltete GPU-Bezeichnung auf dem Knoten vorhanden ist:
kubectl get node $GPU_NODE -o jsonpath='{.metadata.labels.kubernetes\.azure\.com/dcgm-exporter}'Erwartete Ausgabe:
enabled.Überprüfen Sie, ob GPU-Ressourcen in den zuteilbaren Ressourcen des Knotens aufgeführt werden:
kubectl get node $GPU_NODE -o jsonpath='{.status.allocatable}'Bei einem Nicht-MIG-Knotenpool enthält die Ausgabe
"nvidia.com/gpu": "1"(oder mehr, abhängig von der SKU). Für einen MIG-KnotenpoolMixedenthält die Ausgabe MIG-spezifische Ressourcen wie z. B."nvidia.com/mig-1g.10gb": "7".Führen Sie einen Beispielworkload aus, um den GPU-Zugriff innerhalb eines Containers zu bestätigen:
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: 1Sehen Sie sich in den Podprotokollen die
nvidia-smi-Ausgabe an, die das GPU-Gerät, die Treiberversion und die CUDA-Version angibt:kubectl logs managed-gpu-test
Skalieren eines verwalteten GPU-Knotenpools (Vorschau)
Manuelles Skalieren eines verwalteten GPU-Knotenpools mit az aks nodepool scale. Neue Knoten installieren den vollständig verwalteten GPU-Stapel.
az aks nodepool scale \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name gpunp \
--node-count 2
Von Bedeutung
Während der Vorschau unterstützen verwaltete GPU-Knotenpools die Cluster-Autoskaler nicht. Diese Pools manuell skalieren.
Alternative Installationsprofiloptionen
Wenn das vollständige verwaltete Stapelprofil nicht geeignet ist, unterstützt AKS zwei alternative Profile in GPU-Knotenpools.
Verwenden Sie dieses Profil, wenn AKS den NVIDIA GPU-Treiber installieren und verwalten soll, aber Sie planen, das Geräte-Plug-In und Metrikexportierer selbst bereitzustellen (z. B. mit dem NVIDIA GPU-Operator). Festlegen von --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
Mit dieser Konfiguration:
- AKS installiert und verwaltet den NVIDIA GPU-Treiber (
gpuProfile.driveristInstall). - AKS installiert kein Geräte-Plugin, keinen DCGM-Metrics-Exporter oder keine GPU-Integritätsregeln.
gpuProfile.nvidiaistnull. - Keine
nvidia.com/gpuRessource wird angekündigt, bis Sie ein Geräte-Plugin bereitstellen.
Nächste Schritte
- Stellen Sie eine Beispiel-GPU-Workload auf Ihren GPU-fähigen, von AKS verwalteten Knoten bereit.
- Erfahren Sie mehr über die GPU-Auslastung und Leistungsmetriken des verwalteten NVIDIA DCGM-Exporters im GPU-Knotenpool.
Verwandte Artikel
- Verwenden Sie NVIDIA GPUs auf AKS für die standardmäßige (nicht verwaltete) GPU-Erfahrung.
- Erstellen Sie einen GPU-Knotenpool (Multiinstanz-GPU, MIG) für Hintergrundinformationen zur MIG-Partitionierung und zu den unterstützten VM-Größen.
- NVIDIA GPU-Operator zum Verwalten von GPU-Treibern und dem Geräte-Plug-In selbst.
- Überwachen Sie GPU-Metriken aus dem verwalteten NVIDIA DCGM-Exporter.
- GPU-Integritätsüberwachung mit Node Problem Detector (NPD) in AKS.
- Verwenden von GPUs in AKS für Windows-GPU-Knotenpools.
- Azure GPU VM-Größen für die vollständige Liste der GPU-fähigen NVIDIA-VMs.
- Führen Sie verteilte Rückschlüsse auf mehrere AKS-GPU-Knoten aus.