Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uruchamianie obciążeń procesora GPU firmy NVIDIA na Azure Kubernetes Service (AKS) tradycyjnie wymaga zainstalowania i obsługi sterownika procesora GPU FIRMY NVIDIA, wtyczki urządzenia Kubernetes oraz eksportera metryk procesora GPU w każdym węźle procesora GPU. Te składniki umożliwiają planowanie procesora GPU, dostęp do procesora GPU na poziomie kontenera i dane telemetryczne, ale instalowanie ich ręcznie lub za pośrednictwem operatora procesora GPU firmy NVIDIA zwiększa obciążenie operacyjne.
Dzięki w pełni zarządzanym węzłom procesora GPU (wersja zapoznawcza) usługa AKS instaluje i obsługuje sterownik procesora GPU FIRMY NVIDIA, wtyczkę urządzenia i eksporter metryk programu Data Center GPU Manager (DCGM). Tworzenie puli węzłów GPU staje się jednym krokiem, a pojemność GPU funkcjonuje jak każda inna pula węzłów AKS.
Zarządzana pula węzłów procesora GPU jest konfigurowana za pomocą dwóch pól w obszarze gpuProfile.nvidia:
-
managementMode(ManagedlubUnmanaged) określa, czy usługa AKS instaluje pełny zarządzany stos procesora GPU (sterownik, wtyczkę urządzenia i eksporter metryk DCGM) czy tylko sterownik. Wartość domyślna toUnmanaged. -
migStrategy(None,Single, lubMixed) ustawia strategię Multi-Instance GPU (MIG) dla obsługiwanych SKU GPU, takich jak A100 i H100. Wartość domyślna toNone.
W tym artykule konfigurujesz zarządzaną pulę węzłów GPU, opcjonalnie włączasz funkcję MIG, weryfikujesz stos i uruchamiasz przykładowe obciążenie GPU.
Ważne
Funkcje usługi AKS w wersji zapoznawczej są dostępne na zasadzie samoobsługi i wymagają zapisania się. Wersje zapoznawcze są udostępniane w wersji "as is" i "jako dostępne" i są wykluczone z umów dotyczących poziomu usług i ograniczonej gwarancji. Wersje zapoznawcze usługi AKS są częściowo objęte pomocą techniczną dla klientów, świadczoną w miarę możliwości. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego. Aby uzyskać więcej informacji, zobacz następujące artykuły pomocy technicznej:
Zanim rozpoczniesz
- W tym artykule założono, że masz już istniejący klaster AKS. Jeśli nie masz klastra, utwórz go przy użyciu interfejsu wiersza polecenia platformy Azure, programu Azure PowerShell lub witryny Azure Portal.
- Potrzebujesz zainstalowanej Azure CLI w wersji 2.85.0 lub nowszej. Aby dowiedzieć się, jaka wersja jest używana, uruchom polecenie
az --version. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure. - Musisz zainstalować i uaktualnić rozszerzenie do najnowszej
aks-previewwersji. - Najpierw pobierz poświadczenia swojego klastra AKS za pomocą
az aks get-credentials, zanim uruchomisz przykładykubectlw tym artykule.
Zarządzane składniki procesora GPU
Zarządzana pula węzłów procesora GPU może zawierać następujące składniki w każdym węźle:
| Składnik | Do czego służy | Czym zarządza usługa AKS |
|---|---|---|
| Sterownik procesora GPU firmy NVIDIA | Moduły jądra i biblioteki przestrzeni użytkownika, które pozwalają systemowi operacyjnemu i kontenerom komunikować się ze sprzętem procesora GPU. | Wybór wersji sterownika, instalacja podczas aprowizacji węzła i ponowna instalacja po uaktualnieniu obrazu węzła. |
| Wtyczka urządzenia NVIDIA Kubernetes | Odpowiednik DaemonSet, który ogłasza zasoby GPU (nvidia.com/gpu, nvidia.com/mig-*) do kubeletu, aby zasobniki mogły je zażądać. |
Wdrażanie, konfiguracja (w tym strategia MIG) i cykl życia na każdym węźle GPU. |
| Eksporter metryk NVIDIA DCGM i DCGM |
Menedżer procesora GPU centrum danych zbiera dane dotyczące kondycji i wykorzystania procesora GPU oraz uwidacznia metryki Prometheus (na przykład DCGM_FI_DEV_GPU_UTIL, DCGM_FI_DEV_GPU_TEMP) na porcie 19400. |
Instalacja, włączanie usługi i etykieta węzła kubernetes.azure.com/dcgm-exporter=enabled, której używa się do zbierania metryk. |
| Sygnały kondycji procesora GPU | NPD wskazuje na warunki węzłów specyficzne dla procesorów GPU, takie jak UnhealthyNvidiaDevicePlugin i UnhealthyNvidiaDCGMServices. |
Monitorowanie i raportowanie stanu NPD na węzłach GPU. |
Instalowanie profilów
Dwa gpuProfile pola decydują o tym, które z tych składników instaluje usługa AKS:
-
gpuProfile.driver(InstalllubNone): czy usługa AKS instaluje sterownik procesora GPU FIRMY NVIDIA. -
gpuProfile.nvidia.managementMode(ManagedlubUnmanaged): czy usługa AKS instaluje również stos procesora GPU platformy Kubernetes na górze sterownika.
Razem tworzą trzy profile instalacji:
| Instalowanie profilu | Flagi CLI | Czym instaluje i zarządza AKS |
|---|---|---|
| Pełny zarządzalny stos |
--enable-managed-gpu=true (lub żadna flaga) |
Wszystkie cztery składniki powyżej: sterownik, wtyczka urządzenia, eksporter metryk DCGM i monitorowanie kondycji procesora GPU w usłudze NPD. |
| Tylko sterownik (wartość domyślna) | --enable-managed-gpu=false |
Tylko sterownik procesora GPU firmy NVIDIA. Samodzielnie instalujesz wtyczkę urządzenia, eksportera metryk oraz monitorowanie zdrowia (na przykład za pomocą operatora GPU NVIDIA). |
| Brak (BYO) | --enable-managed-gpu=false --gpu-driver None |
Nic. Usługa AKS nie instaluje żadnego z czterech komponentów. Jesteś właścicielem pełnego stosu. Zobacz Bring your own GPU driver (Przynieś własny sterownik procesora GPU). |
Wartości domyślne i zastąpienia
-
Wartości domyślne: Jeśli nie przekażesz
--enable-managed-gpuani--gpu-driver, usługa AKS zastosuje profil Tylko sterownik w puli węzłów utworzonej przy użyciu maszyny wirtualnej z GPU marki NVIDIA. -
Przesłonięcie:
managementMode: Managedwymaga sterownika, więc--gpu-driver Nonejest pomijany, jeśli--enable-managed-gpu=truesterownik jest nadal zainstalowany. Aby pominąć sterownik, ustaw zarówno--enable-managed-gpu=false, jak i--gpu-driver None. -
Niezmienność:
managementMode,migStrategyidriversą stałe w czasie tworzenia. Aby zmienić profil, utwórz nową pulę węzłów.
Zainstaluj rozszerzenie CLI aks-preview
Zainstaluj rozszerzenie
aks-previewinterfejsu wiersza polecenia za pomocą poleceniaaz extension add. Wymagana jest wersja 19.0b29 lub nowsza.az extension add --name aks-previewZaktualizuj rozszerzenie, aby upewnić się, że masz zainstalowaną najnowszą wersję przy użyciu
az extension updatepolecenia .az extension update --name aks-preview
Zarejestruj flagę funkcji ManagedGPUExperiencePreview
Zarejestruj flagę funkcji ManagedGPUExperiencePreview w subskrypcji przy użyciu polecenia az feature register.
az feature register --namespace Microsoft.ContainerService --name ManagedGPUExperiencePreview
Ograniczenia
- Ta funkcja obsługuje obecnie tylko rozmiary maszyn wirtualnych z obsługą procesora GPU firmy NVIDIA .
- Aktualizowanie puli węzłów ogólnego przeznaczenia w celu dodania rozmiaru maszyny wirtualnej procesora GPU nie jest obsługiwane w usłudze AKS.
- Pule węzłów Windows nie są obsługiwane w tej funkcji, ponieważ metryki GPU nie są obsługiwane. Podczas tworzenia pul węzłów GPU w systemie Windows, usługa AKS automatycznie instaluje sterowniki i wtyczkę urządzenia DirectX oraz nimi zarządza. Aby uzyskać więcej informacji, zobacz dokumentację AKS Windows gpu.
- Migrowanie istniejących pul węzłów wielo-instancjowego GPU do używania tej funkcji nie jest obsługiwane.
- Aktualizacje w miejscu z istniejącej puli węzłów GPU NVIDIA do zarządzanej puli węzłów GPU nie są wspierane. Aby przeprowadzić migrację, odseparuj i opróżnij istniejące węzły GPU, a następnie ponownie wdroż obciążenia w nowej puli węzłów GPU utworzonej przy użyciu
--enable-managed-gpu=true. Aby uzyskać więcej informacji, zobacz Zmienianie rozmiaru pul węzłów w usłudze AKS. - Pola
managementMode,migStrategyidriverw obszarzegpuProfilesą niezmienne po utworzeniu puli węzłów. Aby zmienić te wartości, utwórz nową pulę węzłów. - Narzędzie do automatycznego skalowania klastra nie jest obsługiwane w zarządzanych pulach węzłów procesora GPU w wersji zapoznawczej. Ręczne skalowanie tych pul.
Uwaga / Notatka
Maszyny wirtualne z obsługą GPU zawierają wyspecjalizowany sprzęt, który wiąże się z wyższymi cenami i dostępnością w regionach. Aby uzyskać więcej informacji, zobacz narzędzie do ustalania cen i dostępność regionów .
Utwórz zarządzaną w AKS pulę węzłów GPU (wersja zapoznawcza)
Dodaj zarządzaną pulę węzłów GPU do istniejącego klastra AKS, przekazując --enable-managed-gpu=true do az aks nodepool add. Usługa AKS automatycznie ustawia gpuProfile.nvidia.managementMode do Managed i instaluje sterownik GPU, wtyczkę urządzenia oraz DCGM metrics exporter.
- Pula węzłów systemu Ubuntu Linux (domyślna jednostka SKU)
- Pula węzłów Azure Linux
- Pula węzłów dla automatycznego aprowizowania węzłów
Aby użyć domyślnej jednostki SKU systemu operacyjnego Ubuntu, należy utworzyć pulę węzłów bez określania jednostki SKU systemu operacyjnego. Pula węzłów jest skonfigurowana dla domyślnego systemu operacyjnego na podstawie wersji rozwiązania Kubernetes klastra.
Dodaj pulę węzłów do klastra przy użyciu
az aks nodepool addpolecenia z flagą--enable-managed-gpu=true.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name gpunp \ --node-count 1 \ --node-vm-size Standard_NC4as_T4_v3 \ --node-taints sku=gpu:NoSchedule \ --enable-managed-gpu=trueUpewnij się, że zarządzane składniki oprogramowania procesora GPU firmy NVIDIA zostały pomyślnie zainstalowane:
az aks nodepool show \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name gpunpDane wyjściowe powinny zawierać następujące wartości:
... "gpuProfile": { "driver": "Install", "driverType": "", "nvidia": { "managementMode": "Managed", "migStrategy": null } }, ...
Tworzenie zarządzanej puli węzłów wieloinstancyjnego GPU (MIG) (wersja beta)
W przypadku jednostek SKU GPU, które obsługują Multi-Instance GPU (MIG), takich jak A100 i H100, skonfiguruj strategię MIG przy tworzeniu puli węzłów za pomocą flagi --gpu-mig-strategy. Strategia steruje sposobem uwidaczniania partycji MIG na platformie Kubernetes:
-
Single: Wszystkie wystąpienia grupy zarządzanych instancji (MIG) są agregowane w ramach standardowego zasobunvidia.com/gpu. -
Mixed: Każdy profil MIG jest udostępniany jako oddzielny zasób, taki jaknvidia.com/mig-1g.10gb. -
None(ustawienie domyślne): MIG nie jest skonfigurowane.
Pole migStrategy jest niezmienne po utworzeniu puli węzłów.
Aby uzyskać informacje na temat partycjonowania MIG, obsługiwanych rozmiarów maszyn wirtualnych i profilów instancji GPU, zobacz Utwórz pulę węzłów GPU z wieloma instancjami w AKS i 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
W przypadku tej konfiguracji zasobniki żądają zasobów GPU za pomocą standardowej nazwy zasobu nvidia.com/gpu.
Weryfikowanie zarządzanej puli węzłów procesora GPU (wersja zapoznawcza)
Po przygotowaniu puli węzłów uruchom następujące sprawdzenia, aby potwierdzić, że cały zarządzany stos jest zainstalowany i w dobrej kondycji.
Sprawdź stan węzła specyficzne dla GPU z narzędzia Node Problem Detector (NPD):
GPU_NODE=$(kubectl get nodes -l agentpool=gpunp -o jsonpath='{.items[0].metadata.name}') kubectl describe node $GPU_NODENa zarządzanym węźle GPU następujące warunki powinny zgłaszać
Falseobie:Warunek Status Powód UnhealthyNvidiaDevicePluginFalseHealthyNvidiaDevicePluginUnhealthyNvidiaDCGMServicesFalseHealthyNvidiaDCGMServicesSprawdź, czy etykieta zarządzanego procesora GPU znajduje się w węźle:
kubectl get node $GPU_NODE -o jsonpath='{.metadata.labels.kubernetes\.azure\.com/dcgm-exporter}'Oczekiwane dane wyjściowe:
enabled.Sprawdź, czy zasoby GPU są ujęte w zasobach przydzielanych w węźle.
kubectl get node $GPU_NODE -o jsonpath='{.status.allocatable}'W przypadku puli węzłów niebędących częścią MIG dane wyjściowe zawierają
"nvidia.com/gpu": "1"(lub więcej, w zależności od SKU). W przypadku puli węzłów MIGMixeddane wyjściowe obejmują zasoby specyficzne dla zarządzanej grupy instans, takie jak"nvidia.com/mig-1g.10gb": "7".Uruchom przykładowe obciążenie, aby potwierdzić dostęp do procesora GPU z poziomu kontenera:
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: 1Aby zobaczyć dane wyjściowe pokazujące urządzenie GPU, wersję sterownika i wersję CUDA, przejrzyj dzienniki podu
nvidia-smi.kubectl logs managed-gpu-test
Skalowanie zarządzanej puli węzłów procesora GPU (wersja zapoznawcza)
Ręczne skalowanie zarządzanej puli węzłów procesora GPU za pomocą polecenia az aks nodepool scale. Nowe węzły instalują pełny zarządzany stos GPU.
az aks nodepool scale \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name gpunp \
--node-count 2
Ważne
W wersji preview zarządzane pule węzłów GPU nie obsługują narzędzia do automatycznego skalowania klastra. Ręczne skalowanie tych pul.
Alternatywne profile instalacji
Jeśli profil w pełni zarządzanego stosu nie jest odpowiedni, usługa AKS obsługuje dwa alternatywne profile w pulach węzłów GPU.
Użyj tego profilu, jeśli chcesz, aby usługa AKS zainstalowała i obsługiwała sterownik procesora GPU FIRMY NVIDIA, ale planujesz samodzielnie wdrożyć wtyczkę urządzenia i eksporter metryk (na przykład z operatorem procesora GPU firmy NVIDIA). Ustaw :--enable-managed-gpu=false
az aks nodepool add \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name gpunp \
--node-count 1 \
--node-vm-size Standard_NC4as_T4_v3 \
--node-taints sku=gpu:NoSchedule \
--enable-managed-gpu=false
W tej konfiguracji:
- Usługa AKS instaluje sterownik procesora GPU FIRMY NVIDIA i zarządza nim (
gpuProfile.drivertoInstall). - Usługa AKS nie instaluje wtyczki urządzenia, eksportera metryk DCGM ani reguł kondycji procesora GPU. Parametr
gpuProfile.nvidiama wartośćnull. - Żaden zasób nie
nvidia.com/gpujest anonsowany do momentu wdrożenia wtyczki urządzenia.
Dalsze kroki
- Wdróż przykładowe obciążenie procesora GPU na węzłach z obsługą procesora GPU zarządzanych przez usługę AKS.
- Dowiedz się więcej o wykorzystaniu GPU i metrykach wydajności z zarządzanego eksportera NVIDIA DCGM w puli węzłów GPU.
Powiązane artykuły
- Użyj procesorów GPU firmy NVIDIA w usłudze AKS dla standardowego (niezarządzanego) doświadczenia GPU.
- Utwórz pulę węzłów z wieloma wystąpieniami procesora GPU (MIG) dla zrozumienia partycjonowania MIG i obsługiwanych rozmiarów maszyn wirtualnych.
- Operator procesora GPU firmy NVIDIA do zarządzania sterownikami procesora GPU i wtyczką urządzenia samodzielnie.
- Monitorowanie metryk procesora GPU z zarządzanego eksportera NVIDIA DCGM.
- Monitorowanie kondycji procesora GPU za pomocą narzędzia Node Problem Detector (NPD) w usłudze AKS.
- Używaj procesorów GPU Windows na AKS dla pul węzłów GPU Windows.
- Rozmiary maszyn wirtualnych GPU Azure dla pełnej listy maszyn wirtualnych z obsługą GPU NVIDIA.
- Uruchom wnioskowanie rozproszone na wielu węzłach GPU AKS.