NVIDIA-GPU-Operator

Wenn Sie das Cluster-Add-on NVIDIA GPU Operator aktivieren, können Sie die folgenden Schlüssel/Wert-Paare als Argumente übergeben.

Allgemeine Konfigurationsargumente für die meisten Cluster-Add-ons
Schlüssel (API und CLI) Anzeigename des Schlüssels (Konsole) Beschreibung Erforderlich/Optional Standardwert Beispielwert
affinity Affinität

Eine Gruppe von Affinitätsplanungsregeln.

JSON-Format im Klartext oder Base64-codiert.

Nicht verwendet von:
  • Nvidia-GPU-Operator
Mögliche Äquivalente:
  • Knotenfeature Discovery, verwenden Sie master.affinity
  • NVIDIA Network Operator, verwenden Sie operator.affinity
  • CSI-Treiber SMB, verwenden Sie contoller.affinity
  • AMD-GPU-Operator, controllerManager.affinity verwenden
Optional Null Null
nodeSelectors Knotenselektoren

Mit Knotenselektoren und Knotenlabels können Sie die Worker-Knoten steuern, auf denen Add-on-Pods ausgeführt werden.

Damit ein Pod auf einem Knoten ausgeführt werden kann, muss der Knotenselektor des Pods denselben Schlüssel/Wert wie das Label des Knotens aufweisen.

Setzen Sie nodeSelectors auf ein Schlüssel/Wert-Paar, das sowohl dem Knotenselektor des Pods als auch dem Label des Worker-Knotens entspricht.

JSON-Format im Klartext oder Base64-codiert.

Nicht verwendet von:
  • NVIDIA-GPU-Operator
  • CSI-Treiber SMB
Mögliche Äquivalente:
  • Knotenfeature Discovery, verwenden Sie worker.nodeSelector
  • NVIDIA Network Operator, verwenden Sie operator.nodeSelectors
  • AMD GPU-Operator, verwenden Sie selector oder controllerManager.nodeSelector
Optional Null {"foo":"bar", "foo2": "bar2"}

Der Pod wird nur auf Knoten ausgeführt, die das Label foo=bar oder foo2=bar2 aufweisen.

numOfReplicas numOfReplikate Die Anzahl der Replikate der Add-on-Bereitstellung.
Nicht verwendet von:
  • AMD-GPU-Plug-in
  • NVIDIA-GPU-Operator
  • NVIDIA-Netzwerkbetreiber
  • CSI-Treiber SMB
Mögliche Äquivalente:
  • CoreDNS, verwenden Sie nodesPerReplica
  • Knotenfeature Discovery, verwenden Sie master.replicaCount
  • AMD-GPU-Operator, controllerManager.replicas verwenden
Erforderlich 1

Erstellt ein Replikat des Add-on-Deployments pro Cluster.

2

Erstellt zwei Replikate des Add-on-Deployments pro Cluster.

rollingUpdate rollierende Aktualisierung

Steuert das gewünschte Verhalten der Rolling-Aktualisierung durch maxSurge und maxUnavailable.

JSON-Format im Klartext oder Base64-codiert.

Nicht verwendet von:
  • Knotenfeature-Discovery
  • NVIDIA-Netzwerkbetreiber
  • CSI-Treiber SMB
Mögliche Äquivalente:
  • NVIDIA-GPU-Operator, daemonsets.rollingUpdate.maxUnavailable verwenden
  • AMD-GPU-Operator, verwenden upgradePolicy in devicePlugin, metricsExporter, testRunner, configManager oder draDriver
Optional Null Null
tolerations Toleranzen

Mit Taints und Toleranzen können Sie die Worker-Knoten steuern, auf denen Add-on-Pods ausgeführt werden.

Damit ein Pod auf einem Knoten mit einem Taint ausgeführt werden kann, muss der Pod eine entsprechende Toleranz aufweisen.

Setzen Sie tolerations auf ein Schlüssel/Wert-Paar, das sowohl der Podtoleranz als auch dem Taint des Worker-Knotens entspricht.

JSON-Format im Klartext oder Base64-codiert.

Mögliche Äquivalente:
  • Knotenfeature Discovery, verwenden Sie master.tolerations und/oder worker.tolerations
  • NVIDIA-GPU-Operator, daemonsets.tolerations verwenden
  • NVIDIA Network Operator, verwenden Sie operator.tolerations
  • CSI-Treiber SMB, verwenden Sie controller.tolerations
  • AMD GPU-Operator, Toleranzen in devicePlugin, metricsExporter, testRunner, configManager, draDriver oder controllerManager verwenden
Optional Null [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}]

Nur Pods mit dieser Toleranz können auf Worker-Knoten ausgeführt werden, die den Taint tolerationKeyFoo=tolerationValBar:noSchedule aufweisen.

topologySpreadConstraints TopologieSpreadConstraints

So verteilen Sie passende Pods auf die angegebene Topologie.

JSON-Format im Klartext oder Base64-codiert.

Nicht verwendet von:
  • Knotenfeature-Discovery
  • NVIDIA-GPU-Operator
  • NVIDIA-Netzwerkbetreiber
  • CSI-Treiber SMB
  • AMD-GPU-Operator
Optional Null Null
Für dieses Cluster-Add-on spezifische Konfigurationsargumente
Schlüssel (API und CLI) Anzeigename des Schlüssels (Konsole) Beschreibung Erforderlich/Optional Standardwert Beispielwert
skipNodeFeatureDiscoveryDependencyCheck skipNodeFeatureDiscoveryDependencyCheck Abhängigkeitsprüfung für Knotenfeature Discovery überspringen. Optional false
disableNvidiaGpuPlugin deaktivierenNvidiaGpuPlugin Deaktivieren Sie das vorhandene NvidiaDevicePlugin-Add-on und die zugehörigen Ressourcen. Optional false
cdi.enabled Containergeräteschnittstelle aktivieren Kennzeichen zum Aktivieren der Containergeräteschnittstelle. Optional

false für Version 25.3.x.

true für Version 25.10.x und höher.

cdi.default CDI als Standard aktivieren Kennzeichen, mit dem die Containerlaufzeit CDI als Standardoption für die Geräteeinspritzung verwenden kann. Optional

false für Version 25.3.x.

In Version 25.10.x und höher veraltet.

daemonsets.labels DaemonSets-Labels Labels für alle GPU Operator DaemonSets. JSON-Text oder Base64-codierte JSON-Zuordnung. Optional null
daemonsets.annotations DaemonSets-Annotationen Anmerkungen für alle GPU Operator DaemonSets. JSON-Text oder Base64-codierte JSON-Zuordnung. Optional null
daemonsets.tolerations DaemonSets-Toleranzen Toleranzen für alle GPU Operator DaemonSets. JSON-Text oder Base64-codiertes JSON-Array. Optional null
daemonsets.rollingUpdate.maxUnavailable DaemonSets MaxUnavailable Maximale Anzahl nicht verfügbarer Pods für Rolling Update auf GPU Operator DaemonSets. Optional 1
dcgm.enabled DCGM aktivieren Aktivieren Sie NVIDIA DCGM Hostengine als separaten Pod. Optional false
dcgm.args DCGM Argumente Argumente für DCGM Hostengine. JSON-Keintext oder Base64-kodiertes JSON-Array. Optional null
dcgm.env DCGM-Umrechnung Umgebungsvariablen für DCGM Hostengine. JSON-Keintext oder Base64-kodierte JSON. Optional null
dcgm.containerResources DCGM-Ressourcen Ressourcenanforderungen und -limits für den DCGM Hostengine Pod. JSON-Keintext oder Base64-kodierte JSON. Optional null
dcgmExporter.enabled DCGM-Exporter aktivieren Aktivieren Sie das DCGM Exporter DaemonSet für Metriken. Optional true
dcgmExporter.env DCGM Exporteur - Umgebung Umgebungsvariablen für DCGM Exporter. JSON-Keintext oder Base64-kodierte JSON. Optional null
dcgmExporter.resources DCGM-Exporterressourcen Ressourcenanforderungen und -limits für den DCGM Exporter-Pod. JSON-Keintext oder Base64-kodierte JSON. Optional null
dcgmExporter.service.internalTrafficPolicy Service-Traffic-Policy für Exporteur InternalTrafficPolicy für den DCGM Exporter ClusterIP-Service. Optional Cluster
dcgmExporter.serviceMonitor.enabled ServiceMonitor aktivieren ServiceMonitor für NVIDIA DCGM Exporter aktivieren Optional false
dcgmExporter.serviceMonitor.interval ServiceMonitor-Intervall Abstreifintervall für NVIDIA DCGM Exporter. Unterstützt y, w, d, h, m, s und ms. Optional 15s
dcgmExporter.serviceMonitor.honorLabels Dienstüberwachung - Auszeichnungslabels Zielmetriklabels bei Kollisionen bevorzugen. Optional false
dcgmExporter.serviceMonitor.additionalLabels Dienstüberwachung - Zusätzliche Etiketten Zusätzliche Labels für den ServiceMonitor. JSON-Keintext oder Base64-kodierte JSON-Zuordnung. Optional null
dcgmExporter.serviceMonitor.relabelings ServiceMonitor-Umbenennungen Etikettierungsregeln für ServiceMonitor neu definieren JSON-Keintext oder Base64-kodierte JSON. Optional null
dcgmExporter.config.name Name des Exporter-ConfigMap Name der ConfigMap, die benutzerdefinierte Metrikkonfiguration für DCGM Exporter bereitstellt. Optional null
migManager.enabled MIG-Manager aktivieren Bereitstellung von NVIDIA MIG Manager aktivieren. Optional false
migManager.resources MIG-Managerressourcen Ressourcenanforderungen und -limits für jeden MIG Manager-Pod. JSON-Keintext oder Base64-kodierte JSON. Optional null
migManager.env MIG-Manager - Umgebung Umgebungsvariablen für MIG Manager. JSON-Keintext oder Base64-kodierte JSON. Optional null
migManager.config.name MIG-Konfigurationsmappenname ConfigMap-Name mit mig-parted-Konfiguration für MIG-Manager. Optional null
migManager.gpuClientsConfig.name MIG-GPU-Clients konfigurieren ConfigMap-Name mit gpu-clients-Konfiguration für MIG-Manager. Optional null
devicePlugin.enabled Geräte-Plug-in aktivieren NVIDIA Kubernetes-Geräte-Plug-in aktivieren. Optional true
devicePlugin.args Geräte-Plug-in-Argumente Argumente für das Geräte-Plug-in. JSON-Keintext oder Base64-kodiertes JSON-Array. Optional null
devicePlugin.env Geräte-Plug-in - Umgebung Umgebungsvariablen für das Geräte-Plug-in. JSON-Keintext oder Base64-kodierte JSON. Optional null
devicePlugin.resources Geräte-Plug-in-Ressourcen Ressourcenanforderungen und -limits für jeden Geräte-Plug-in-Pod. JSON-Keintext oder Base64-kodierte JSON. Optional null
devicePlugin.config.name Name der Geräte-Plug-in-Konfigurationszuordnung ConfigMap-Name, der die Konfiguration des Geräte-Plug-ins bereitstellt und gegebenenfalls mit GFD gemeinsam verwendet wird. Optional null
devicePlugin.mps.root MPS-Stamm MPS-Root-Pfad auf dem Host. Optional /run/nvidia/mps
toolkit.enabled Toolkit aktivieren Bereitstellung von NVIDIA Container Toolkit aktivieren. Optional true
toolkit.env Toolkit-Umgebung Umgebungsvariablen für das Container Toolkit. JSON-Keintext oder Base64-kodierte JSON. Optional null
toolkit.resources Toolkit-Ressourcen Ressourcenanforderungen und -limits für jeden Container Toolkit-Pod. JSON-Keintext oder Base64-kodierte JSON. Optional null
toolkit.installDir Toolkit-Installationsverzeichnis Installieren Sie das Verzeichnis der Container Toolkit-Dienstprogramme auf dem Host. Optional /usr/local/nvidia
mig.strategy MIG-Strategie MIG-Strategie für GFD und Device Plugin. Gültige Werte sind none, single und mixed. Optional single
operator.logging.level Operatorlogebene Zap-Loggingebene: debug, info, error oder eine Ganzzahl > 0 für benutzerdefinierten Ausführlichkeitsgrad. Optional info
operator.resources Operatorressourcen Ressourcenanforderungen und -limits für den GPU Operator-Pod. JSON-Keintext oder Base64-kodierte JSON. Optional null
hostPaths.rootFS Host-RootFS Host-Root-Dateisystempfad. Der Pfad muss chroot-fähig sein. Optional /
hostPaths.driverInstallDir Treiber-Installationsverzeichnis Root-Verzeichnis für NVIDIA-Treiberdateien auf dem Host. Optional /run/nvidia/driver
driver.rdma.enabled RDMA in Treiber aktivieren RDMA-Unterstützung für den NVIDIA-Treiber aktivieren Optional false
driver.rdma.useHostMofed Host-MOFED verwenden Verwenden Sie das von uns bereitgestellte Mellanox OFED anstelle des von Containern bereitgestellten Mellanox OFED. Optional false
Große Cluster – Überlegungen

In der folgenden Tabelle werden die Aspekte beim Konfigurieren dieses Cluster-Add-ons in großen Clustern beschrieben.

Argumentname Rollen, Anzahl Knoten Beschreibung Bei zunehmender Clustergröße Risiken Empfehlung
devicePlugin.* J

Steuert das NVIDIA-Geräte-Plug-in, das GPUs für Kubernetes bereitstellt.

Das Geräte-Plugin läuft auf jedem GPU-Knoten und ist verantwortlich für:

  • Werbung nvidia.com/gpu Ressourcen
  • GPU-Planung aktivieren

Die Konfiguration wirkt sich direkt auf Scheduler-Entscheidungen und die GPU-Workload-Platzierung aus.

Wenn dieses Argument falsch konfiguriert ist:

  • GPUs sind möglicherweise nicht für Kubernetes sichtbar.
  • Pods, die GPUs anfordern, können den Status Pending aufweisen.
  • Die GPU-Verfügbarkeit kann auf allen Knoten inkonsistent sein.
  • Planungsfehler können in großem Maßstab auftreten.
  • Setzen Sie devicePlugin.enabled auf true .
  • Weisen Sie ausreichende Ressourcen zu, indem Sie devicePlugin.resources verwenden.
  • Verwenden Sie eine konsistente Konfiguration für alle GPU-Knoten.
toolkit.* J

Steuert das NVIDIA Container Toolkit, das GPU-Zugriff in Containern ermöglicht.

Das Toolkit wird auf jedem GPU-Knoten ausgeführt und ist für GPU-Workloads erforderlich, um auf GPUs in Containern zuzugreifen.

Wenn dieses Argument falsch konfiguriert ist, können Pods erfolgreich geplant werden, aber:

  • GPU-Workloads können möglicherweise nicht gestartet werden.
  • Container können möglicherweise nicht auf GPUs zugreifen.
  • Laufzeitfehler können schwierig zu diagnostizieren sein.
  • Setzen Sie toolkit.enabled auf true .
  • Stellen Sie sicher, dass das Toolkit mit der Containerlaufzeit kompatibel ist.
  • Weisen Sie ausreichende Ressourcen zu, indem Sie toolkit.resources verwenden.
daemonsets.tolerations J

Steuert, ob GPU-Operatorkomponenten auf GPU-Knoten ausgeführt werden können.

GPU-Knoten werden oft verfälscht. Alle GPU Operator DaemonSets müssen diese Taints tolerieren, damit sie auf den GPU-Knoten ausgeführt werden können.

Wenn die erforderlichen Toleranzen fehlen:

  • GPU-Operatorkomponenten können nicht auf GPU-Knoten ausgeführt werden.
  • GPUs können im gesamten Cluster nicht mehr verwendet werden.
  • Konfigurieren Sie Toleranzen, die den auf GPU-Knoten angewendeten Taints entsprechen.
  • Validieren Sie die Toleranzen für alle GPU-Knotenpools.
daemonsets.rollingUpdate.maxUnavailable J

Steuert, wie viele Knoten gleichzeitig aktualisiert werden.

Der Wert wirkt sich auf die Anzahl der GPU-Knoten aus, die während eines Updates vorübergehend nicht verfügbar sind.

In einem großen Cluster kann sich ein Update auf viele Knoten auswirken.

Wenn der Wert zu hoch ist:

  • Möglicherweise sind zu viele GPU-Knoten gleichzeitig nicht verfügbar.
  • GPU-Workloads können unterbrochen werden.

Wenn der Wert zu niedrig ist, kann das Rollout der Aktualisierung über Tausende von Knoten lange dauern.

Verwenden Sie einen ausgewogenen Wert, der nicht übermäßig aggressiv ist. Legen Sie den Wert basierend auf der Clustergröße und dem Umfang der Unterbrechung fest, die Workloads tolerieren können.

operator.resources J

Definiert die CPU- und Speicherressourcen für den GPU-Operatorcontroller.

Der Operator verwaltet Komponenten wie:

  • Das Geräte-Plugin
  • Das NVIDIA Container Toolkit
  • GPU mit mehreren Instanzen
  • NVIDIA Rechenzentrums-GPU-Manager

Mit zunehmender Anzahl von Knoten verwaltet der Operator mehr Objekte und benötigt mehr Ressourcen.

Wenn die Ressourcen zu klein sind:

  • Die Abstimmung kann langsam sein.
  • Der Operator kann instabil werden.
  • Konfigurationsänderungen und Komponenten-Rollouts können verzögert werden.
  • CPU- und Speicherressourcen für große Cluster erhöhen
  • Überwachen Sie die Operatorlogs und die Speichernutzung.
cdi.enabled J

Aktiviert die Container Device Interface.

  • Vereinfacht das Injizieren von GPUs in Container.
  • Verbessert die Laufzeitkonsistenz auf allen Knoten.

Wenn die Container Device Interface deaktiviert ist, kann die ältere Laufzeitintegration:

  • Inkonsistenzen verursachen.
  • Machen Sie die Fehlerbehebung komplexer.
  • Setzen Sie cdi.enabled auf true .
  • Verwenden Sie die Standardeinstellungen, es sei denn, Sie haben eine bestimmte Anforderung.
mig.strategy J

Steuert die GPU-Partitionierung mit mehreren Instanzen.

Die Multi-Instance-GPU-Partitionierung ermöglicht Workloads die gemeinsame Nutzung von GPUs und wirkt sich auf das Scheduler-Verhalten aus.

Wenn dieses Argument falsch konfiguriert ist:

  • GPU-Ressourcen können fragmentiert werden.
  • Pods finden möglicherweise keine übereinstimmende GPU-Partition.
  • Das Verhalten kann auf allen Knoten inkonsistent sein.
  • Verwenden Sie eine konsistente Multi-Instance-GPU-Strategie im gesamten Cluster.
  • Vermeiden Sie gemischte Konfigurationen, es sei denn, sie sind erforderlich.
dcgmExporter.* J

Steuert die Erfassung von GPU-Metriken.

Der Exporteur generiert GPU-Metriken für jeden Knoten, wodurch die Prometheus-Last und der Netzwerkverkehr mit zunehmender Anzahl von GPU-Knoten erhöht werden.

Wenn dieses Argument falsch konfiguriert ist:

  • Zu häufig Ausschussmetriken können zu hohem Overhead führen.
  • Zu selten Ausschussmetriken bieten möglicherweise eine unzureichende Sichtbarkeit.
  • serviceMonitor.interval einstellen.
  • Weisen Sie ausreichende Ressourcen zu, indem Sie dcgmExporter.resources verwenden.
dcgm.* J

Steuert die NVIDIA Data Center GPU Manager-Host-Engine.

Die optionale Komponente verfolgt den GPU-Zustand im gesamten Cluster.

  • Wenn die Komponente deaktiviert ist, ist die Sichtbarkeit des GPU-Zustands begrenzt.
  • Wenn die Komponente mit unzureichenden Ressourcen aktiviert ist, kann sie instabil werden.
  • Aktivieren Sie die Komponente nur, wenn sie erforderlich ist.
  • Weisen Sie ausreichende Ressourcen zu.
skipNodeFeatureDiscoveryDependencyCheck N

Steuert die Abhängigkeitsprüfung für die Knotenfeature-Discovery.

Die Abhängigkeitsprüfung wirkt sich auf die Knotenbeschriftung und GPU-Erkennung aus.

Wenn Knotenfeature Discovery fehlt:

  • GPU-Knoten werden möglicherweise nicht beschriftet.
  • Der Operator kann möglicherweise GPU-Knoten nicht ermitteln.
  • Verwenden Sie dieses Argument nur, wenn das Knotenfeature Discovery bereits installiert ist.
  • Stellen Sie sicher, dass die erforderlichen Knotenlabels vorhanden und korrekt sind.
disableNvidiaGpuPlugin J

Deaktiviert das eigenständige NVIDIA-GPU-Geräte-Plug-in.

Wenn Sie das Standalone-Plug-in deaktivieren, wird verhindert, dass doppelte GPU-Geräte-Plug-ins im Cluster ausgeführt werden.

Wenn dieses Argument falsch konfiguriert ist:

  • Möglicherweise werden mehrere GPU-Geräte-Plug-ins ausgeführt.
  • Die Plugins können in Konflikt geraten.
  • GPU-Ressourcen werden möglicherweise falsch gemeldet.

Deaktivieren Sie das eigenständige NVIDIA-GPU-Geräte-Plug-in, wenn Sie den NVIDIA-GPU-Operator verwenden.