Een volledig beheerde GPU-knooppuntgroep maken op Azure Kubernetes Service (AKS)

Voor het uitvoeren van NVIDIA GPU-workloads op Azure Kubernetes Service (AKS) moet u traditioneel het NVIDIA GPU-stuurprogramma, de Kubernetes-apparaatinvoegtoepassing en een GPU-exporteur voor metrische gegevens installeren en onderhouden op elk GPU-knooppunt. Deze onderdelen maken GPU-planning, GPU-toegang op containerniveau en telemetrie mogelijk, maar als u ze handmatig installeert of via de NVIDIA GPU-operator , wordt operationele overhead toegevoegd.

Door volledig beheerde GPU-knooppunten te gebruiken, installeert en onderhoudt AKS het NVIDIA GPU-stuurprogramma, de device plugin en de Data Center GPU Manager (DCGM) metrics-exporter voor u. Het maken van gpu-knooppuntgroepen wordt één stap en GPU-capaciteit gedraagt zich net als elke andere AKS-knooppuntgroep. U kunt beheerde GPU-knooppunten gebruiken met handmatig gemaakte GPU-knooppuntgroepen en met automatische inrichting van knooppunten (NAP), inclusief AKS Automatische clusters.

U configureert een beheerde GPU-knooppuntgroep via twee velden onder gpuProfile.nvidia:

  • managementMode (Managed of Unmanaged) bepaalt of AKS de volledige beheerde GPU-stack (stuurprogramma, apparaatinvoegtoepassing en dcGM-metrische gegevensexporteur) of alleen het stuurprogramma installeert. De standaardwaarde is Unmanaged.
  • migStrategy (None, Singleof Mixed) stelt de MIG-strategie (Multi-Instance GPU) in voor ondersteunde GPU-SKU's, zoals A100 en H100. De standaardwaarde is None.

In dit artikel richt u een beheerde GPU-knooppuntgroep in, schakelt u eventueel MIG in, controleert u de stack en voert u een gpu-voorbeeldworkload uit.

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 de Azure CLI versie 2.85.0 of hoger hebben geïnstalleerd. Voer az --version uit om de versie te vinden. Als u Azure CLI wilt installeren of upgraden, raadpleegt u Azure CLI installeren.
  • Haal de inloggegevens voor uw AKS-cluster op met az aks get-credentials voordat u de voorbeelden in kubectl in dit artikel uitvoert.

Beheerde GPU-onderdelen

Een beheerde GPU-knooppuntgroep kan de volgende onderdelen op elk knooppunt bevatten:

Onderdeel Wat het doet Wat AKS beheert
NVIDIA GPU-stuurprogramma Kernelmodules en bibliotheken met gebruikersruimte waarmee het besturingssysteem en de containers kunnen communiceren met de GPU-hardware. Selectie van stuurprogrammaversie, installatie tijdens de voorziening van knooppunten, en herinstallatie na updates van knooppuntenimages.
Invoegtoepassing voor NVIDIA Kubernetes-apparaten DaemonSet-equivalent waarmee GPU-resources (nvidia.com/gpu, nvidia.com/mig-*) worden geadverteerd aan de kubelet, zodat pods deze kunnen aanvragen. Implementatie, configuratie (inclusief MIG-strategie) en levenscyclus op elk GPU-knooppunt.
NVIDIA DCGM-metriekenexporteur Data Center GPU Manager verzamelt GPU-status- en gebruiksgegevens en toont prometheus-metrische gegevens (bijvoorbeeld DCGM_FI_DEV_GPU_UTIL, DCGM_FI_DEV_GPU_TEMP) op poort 19400. Installatie, service activering en het knooplabel kubernetes.azure.com/dcgm-exporter=enabled dat wordt gebruikt voor het verzamelen van metrische gegevens.
GPU-statussignalen NPD signalen die GPU-specifieke voorwaarden voor knooppunten zoals UnhealthyNvidiaDevicePlugin en UnhealthyNvidiaDCGMServices weergeven. NPD-bewaking en -voorwaarderapportage op GPU-knooppunten.

Profielen installeren

Twee gpuProfile velden bepalen welke van deze onderdelen AKS installeert.

  • gpuProfile.driver (Install of None): of AKS het NVIDIA GPU-stuurprogramma installeert.
  • gpuProfile.nvidia.managementMode (Managed of Unmanaged): of AKS ook de Kubernetes-gerichte GPU-stack op het stuurprogramma installeert.

Samen produceren ze drie installatieprofielen:

Profiel installeren CLI-vlaggen Wat AKS installeert en beheert
Volledige beheerde stack --enable-managed-gpu=true (of geen van beide vlaggen) Alle vier de bovenstaande onderdelen: stuurprogramma, apparaatinvoegtoepassing, DCGM metrische gegevensexporteur en GPU-statusbewaking in NPD.
Alleen stuurprogramma (standaard) --enable-managed-gpu=false Alleen NVIDIA GPU-stuurprogramma. U installeert en beheert de invoegtoepassing voor apparaten, de exporteur van metrische gegevens en de statuscontrole zelf (bijvoorbeeld met de NVIDIA GPU-operator).
Geen (BYO) --enable-managed-gpu=false --gpu-driver None Niets. AKS installeert geen van de vier onderdelen. U bent eigenaar van de volledige stack. Zie Bring your own GPU driver.

Standaardwaarden en overschrijvingen

  • Standaardinstellingen: Als u --enable-managed-gpu of --gpu-driver niet doorgeeft, past AKS het alleen-stuurprogrammaprofiel toe op de knooppuntenpool die met een NVIDIA GPU ingeschakelde VM-grootte is gemaakt.
  • Overschrijven: managementMode: Managed vereist het stuurprogramma, dus --gpu-driver None wordt genegeerd wanneer --enable-managed-gpu=true en het stuurprogramma nog steeds is geïnstalleerd. Als u de driver wilt overslaan, stelt u zowel --enable-managed-gpu=false als --gpu-driver None in.
  • Onveranderbaarheid: managementMode, migStrategy, en driver zijn allemaal vastgelegd tijdens het maken. Als u het profiel wilt wijzigen, maakt u een nieuwe knooppuntgroep.

Beperkingen

  • Deze functie biedt momenteel alleen ondersteuning voor VM-grootten (VIRTUELE MACHINES) met NVIDIA GPU .
  • Het bijwerken van een knooppuntgroep voor algemeen gebruik om een GPU-VM-grootte toe te voegen, wordt niet ondersteund in AKS.
  • Windows knooppuntgroepen worden niet ondersteund met deze functie, omdat GPU-metrische gegevens niet worden ondersteund. Wanneer u Windows GPU-knooppuntgroepen maakt, installeert en beheert AKS automatisch de stuurprogramma's en de DirectX-apparaatinvoegtoepassing. Zie de documentatie AKS Windows GPU voor meer informatie.
  • Het migreren van uw bestaande GPU-knooppuntgroepen met meerdere exemplaren om deze functie te gebruiken, wordt niet ondersteund.
  • In-place upgrades van een bestaande NVIDIA GPU-knooppuntgroep naar een beheerde GPU-knooppuntgroep worden niet ondersteund. Als u uw bestaande GPU-knooppunten wilt migreren, cordoneren en leegmaken, implementeert u uw workloads vervolgens opnieuw in een nieuwe GPU-knooppuntgroep die is gemaakt met --enable-managed-gpu=true. Zie Het formaat van knooppuntgroepen wijzigen in AKS voor meer informatie.
  • De velden managementMode, migStrategy, en driver onder gpuProfile zijn onveranderbaar nadat de nodepool is aangemaakt. Als u deze waarden wilt wijzigen, maakt u een nieuwe knooppuntgroep.

Opmerking

GPU-ingeschakelde virtuele machines bevatten gespecialiseerde hardware die onderhevig is aan hogere prijsstelling en beschikbaarheid per regio. Raadpleeg voor meer informatie het prijsgereedschap en de beschikbaarheid per regio.

Een door AKS beheerde GPU-knooppuntgroep maken

Voeg een beheerde GPU-knooppuntgroep toe aan een bestaand AKS-cluster door deze door te geven --enable-managed-gpu=true aan az aks nodepool add. AKS stelt gpuProfile.nvidia.managementMode in op Managed en installeert automatisch het GPU-stuurprogramma, de apparaatinvoegtoepassing en de DCGM-metrieken-exporteur.

Voor automatische AKS- of AKS Standard-clusters die GEBRUIKMAKEN van NAP, configureert u de beheerde GPU-stack in AKSNodeClass plaats van dat u deze gebruikt az aks nodepool add.

Als u de standaard Ubuntu-besturingssysteem-SKU (OS) wilt gebruiken, maakt u de knooppuntgroep zonder een SKU van het besturingssysteem op te geven. De nodepool is geconfigureerd voor het standaardbesturingssysteem op basis van de Kubernetes-versie van de cluster.

  1. Voeg een knooppuntgroep toe aan uw cluster met behulp van de az aks nodepool add opdracht met de --enable-managed-gpu=true vlag.

    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=true
    
  2. Controleer of de beheerde NVIDIA GPU-softwareonderdelen zijn geïnstalleerd:

    az aks nodepool show \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name gpunp
    

    De uitvoer moet de volgende waarden bevatten:

    ...
    "gpuProfile": {
        "driver": "Install",
        "driverType": "",
        "nvidia": {
            "managementMode": "Managed",
            "migStrategy": null
        }
    },
    ...