Opérateur GPU NVIDIA

Lorsque vous activez l'extension de cluster NVIDIA GPU Operator, vous pouvez transmettre les paires clé/valeur suivantes en tant qu'arguments.

Arguments de configuration communs à la plupart des modules complémentaires de cluster
Clé (API et CLI) Nom d'affichage de la clé (console) Description Obligatoire/Facultatif Valeur par défaut Exemple de valeur
affinity affinité

Groupe de règles de programmation d'affinité.

Format JSON en texte brut ou encodé en Base64.

Non utilisé par:
  • Opérateur GPU Nvidia
Equivalents possibles :
  • Repérage des fonctionnalités de noeud, utilisez master.affinity
  • Opérateur réseau NVIDIA, utilisez operator.affinity
  • Pilote CSI SMB, utilisez contoller.affinity
  • Opérateur de GPU AMD, utilisez controllerManager.affinity
Facultatif NULL NULL
nodeSelectors Sélecteurs de noeud

Vous pouvez utiliser des sélecteurs de noeud et des libellés de noeud pour contrôler les noeuds de processus actif sur lesquels les pods d'extension sont exécutés.

Pour qu'un pod s'exécute sur un noeud, le sélecteur de noeud du pod doit avoir la même clé/valeur que l'étiquette du noeud.

Définissez nodeSelectors sur une paire clé/valeur correspondant à la fois au sélecteur de noeud du pod et au libellé du noeud de processus actif.

Format JSON en texte brut ou encodé en Base64.

Non utilisé par:
  • Opérateur GPU NVIDIA
  • Pilote CSI SMB
Equivalents possibles :
  • Repérage des fonctionnalités de noeud, utilisez worker.nodeSelector
  • Opérateur réseau NVIDIA, utilisez operator.nodeSelectors
  • Opérateur de GPU AMD, utilisez selector ou controllerManager.nodeSelector
Facultatif NULL {"foo":"bar", "foo2": "bar2"}

Le pod s'exécutera uniquement sur les noeuds possédant le libellé foo=bar ou foo2=bar2.

numOfReplicas numOfReplicas Nombre de répliques du déploiement de l'extension.
Non utilisé par:
  • Module d'extension GPU AMD
  • Opérateur GPU NVIDIA
  • Opérateur réseau NVIDIA
  • Pilote CSI SMB
Equivalents possibles :
  • CoreDNS, utilisez nodesPerReplica
  • Repérage des fonctionnalités de noeud, utilisez master.replicaCount
  • Opérateur de GPU AMD, utilisez controllerManager.replicas
Requis 1

Crée une réplique du déploiement d'extension par cluster.

2

Crée deux répliques du déploiement d'extension par cluster.

rollingUpdate annulation

Contrôle le comportement souhaité de la mise à jour non simultanée par maxSurge et maxUnavailable.

Format JSON en texte brut ou encodé en Base64.

Non utilisé par:
  • Repérage des fonctionnalités du noeud
  • Opérateur réseau NVIDIA
  • Pilote CSI SMB
Equivalents possibles :
  • Opérateur de GPU NVIDIA, utilisez daemonsets.rollingUpdate.maxUnavailable
  • Opérateur de GPU AMD, utilisez upgradePolicy dans devicePlugin, metricsExporter, testRunner, configManager ou draDriver
Facultatif NULL NULL
tolerations tolérances

Vous pouvez utiliser des tolérances et des taches pour contrôler les noeuds de processus actif sur lesquels les pods d'extension s'exécutent.

Pour qu'un pod s'exécute sur un noeud présentant une entorse, le pod doit avoir une tolérance correspondante.

Définissez tolerations sur une paire clé/valeur correspondant à la fois à la tolérance du pod et à la tache du noeud de processus actif.

Format JSON en texte brut ou encodé en Base64.

Equivalents possibles :
  • Repérage des fonctionnalités de noeud, utilisez master.tolerations et/ou worker.tolerations
  • Opérateur de GPU NVIDIA, utilisez daemonsets.tolerations
  • Opérateur réseau NVIDIA, utilisez operator.tolerations
  • Pilote CSI SMB, utilisez controller.tolerations
  • Opérateur GPU AMD, utilisez les tolérances dans devicePlugin, metricsExporter, testRunner, configManager, draDriver ou controllerManager
Facultatif NULL [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}]

Seuls les pods présentant cette tolérance peuvent être exécutés sur des noeuds de processus actif présentant la tache tolerationKeyFoo=tolerationValBar:noSchedule.

topologySpreadConstraints Contraintes de répartition de topologie

Comment répartir les pods correspondants entre la topologie donnée.

Format JSON en texte brut ou encodé en Base64.

Non utilisé par:
  • Repérage des fonctionnalités du noeud
  • Opérateur GPU NVIDIA
  • Opérateur réseau NVIDIA
  • Pilote CSI SMB
  • Opérateur de GPU AMD
Facultatif NULL NULL
Arguments de configuration propres à ce module complémentaire de cluster
Clé (API et CLI) Nom d'affichage de la clé (console) Description Obligatoire/Facultatif Valeur par défaut Exemple de valeur
skipNodeFeatureDiscoveryDependencyCheck skipNodeFeatureDiscoveryDependencyCheck Ignorer la vérification de dépendance de repérage de fonctionnalités de noeud. Facultatif false
disableNvidiaGpuPlugin DésactiverNvidiaGpuPlugin Désactivez le module complémentaire NvidiaDevicePlugin existant et les ressources associées. Facultatif false
cdi.enabled Activer l'interface de dispositif de conteneur Indicateur d'activation de l'interface de dispositif de conteneur. Facultatif

false pour la version 25.3.x.

true pour les versions 25.10.x et ultérieures.

cdi.default Activer l'Imagerie Cerner par défaut Indicateur permettant à l'exécution du conteneur d'utiliser l'Imagerie Cerner comme option par défaut pour effectuer une injection de dispositif. Facultatif

false pour la version 25.3.x.

Obsolète dans la version 25.10.x et versions ultérieures.

daemonsets.labels Libellés DaemonSets Libellés de tous les groupes de démons d'opérateur GPU. Correspondance JSON codée en Base64 ou texte JSON. Facultatif null
daemonsets.annotations Annotations DaemonSets Annotations pour tous les groupes de démons d'opérateurs GPU. Correspondance JSON codée en Base64 ou texte JSON. Facultatif null
daemonsets.tolerations Tolérances DaemonSets Tolérations pour tous les groupes de démons d'opérateurs GPU. Tableau JSON encodé en Base64 ou texte JSON. Facultatif null
daemonsets.rollingUpdate.maxUnavailable Ensembles de démons MaxUnavailable Nombre maximal de pods indisponibles pour la mise à jour non simultanée sur les jeux de démons d'opérateur GPU. Facultatif 1
dcgm.enabled Activer DCGM Activez l'hostengine NVIDIA DCGM en tant que pod distinct. Facultatif false
dcgm.args Arguments DCGM Arguments pour DCGM Hostengine. Tableau JSON encodé en Base64 ou texte brut JSON. Facultatif null
dcgm.env Env. DCGM Variables d'environnement pour DCGM Hostengine. Texte brut JSON ou JSON encodé en Base64. Facultatif null
dcgm.containerResources Ressources DCGM Demandes de ressources et limites pour le pod Hostengine DCGM. Texte brut JSON ou JSON encodé en Base64. Facultatif null
dcgmExporter.enabled Activer l'export DCGM Activez le DaemonSet de l'exportateur DCGM pour les mesures. Facultatif true
dcgmExporter.env Env. exportateur DCGM Variables d'environnement pour DCGM Exportateur. Texte brut JSON ou JSON encodé en Base64. Facultatif null
dcgmExporter.resources Ressources d'exportateur DCGM Demandes de ressources et limites pour le pod DCGM Export. Texte brut JSON ou JSON encodé en Base64. Facultatif null
dcgmExporter.service.internalTrafficPolicy Politique de trafic du service d'exportateur InternalTrafficPolicy pour le service ClusterIP de DCGM Export. Facultatif Cluster
dcgmExporter.serviceMonitor.enabled Activer ServiceMonitor Activez un ServiceMonitor pour NVIDIA DCGM Export. Facultatif false
dcgmExporter.serviceMonitor.interval Intervalle ServiceMonitor Intervalle de mise au rebut pour NVIDIA DCGM Exportateur. Prend en charge y, w, d, h, m, s et ms. Facultatif 15s
dcgmExporter.serviceMonitor.honorLabels Libellés d'honneur de ServiceMonitor Préférez les libellés de mesure cible sur les collisions. Facultatif false
dcgmExporter.serviceMonitor.additionalLabels Libellés supplémentaires ServiceMonitor Libellés supplémentaires pour ServiceMonitor. Carte JSON encodée en Base64 ou en texte brut JSON. Facultatif null
dcgmExporter.serviceMonitor.relabelings Relabelings de ServiceMonitor Modification de l'étiquette des règles pour ServiceMonitor. Texte brut JSON ou JSON encodé en Base64. Facultatif null
dcgmExporter.config.name Nom de la carte de configuration de l'exportateur Nom de ConfigMap qui fournit la configuration des mesures personnalisées pour l'exportateur DCGM. Facultatif null
migManager.enabled Activer le gestionnaire MIG Activez le déploiement de NVIDIA MIG Manager. Facultatif false
migManager.resources Ressources du gestionnaire MIG Limites et demandes de ressource pour chaque pod MIG Manager. Texte brut JSON ou JSON encodé en Base64. Facultatif null
migManager.env Env. gestionnaire MIG Variables d'environnement pour MIG Manager. Texte brut JSON ou JSON encodé en Base64. Facultatif null
migManager.config.name Nom de la correspondance de configuration MIG Nom ConfigMap avec la configuration mig-parted pour le gestionnaire MIG. Facultatif null
migManager.gpuClientsConfig.name Configuration des clients GPU MIG Nom ConfigMap avec la configuration gpu-clients pour le gestionnaire MIG. Facultatif null
devicePlugin.enabled Activer le plug-in d'appareil Activez le module d'extension de périphérique NVIDIA Kubernetes. Facultatif true
devicePlugin.args Arguments de plug-in de périphérique Arguments pour le plug-in de périphérique. Tableau JSON encodé en Base64 ou texte brut JSON. Facultatif null
devicePlugin.env Module d'extension d'appareil Variables d'environnement pour le module d'extension de périphérique. Texte brut JSON ou JSON encodé en Base64. Facultatif null
devicePlugin.resources Ressources du plug-in de périphérique Limites et demandes de ressource pour chaque pod de module d'extension de périphérique. Texte brut JSON ou JSON encodé en Base64. Facultatif null
devicePlugin.config.name Nom ConfigMap du plug-in de périphérique Nom ConfigMap qui fournit la configuration du module d'extension de périphérique, partagé avec GFD, le cas échéant. Facultatif null
devicePlugin.mps.root Racine MPS Chemin racine MPS sur l'hôte. Facultatif /run/nvidia/mps
toolkit.enabled Activer la boîte à outils Activez le déploiement de NVIDIA Container Toolkit. Facultatif true
toolkit.env Env. boîte à outils Variables d'environnement pour Container Toolkit. Texte brut JSON ou JSON encodé en Base64. Facultatif null
toolkit.resources Ressources de la boîte à outils Limites et demandes de ressources pour chaque pod Container Toolkit. Texte brut JSON ou JSON encodé en Base64. Facultatif null
toolkit.installDir Répertoire d'installation de boîte à outils Répertoire d'installation des utilitaires Container Toolkit sur l'hôte. Facultatif /usr/local/nvidia
mig.strategy Stratégie MIG Stratégie MIG pour GFD et le plug-in de périphérique. Les valeurs valides sont none, single et mixed. Facultatif single
operator.logging.level Niveau de journalisation de l'opérateur Niveau de journalisation Zap : debug, info, error ou un entier > 0 pour le niveau de détail personnalisé. Facultatif info
operator.resources Ressources de l'opérateur Limites et demandes de ressource pour le pod GPU Operator. Texte brut JSON ou JSON encodé en Base64. Facultatif null
hostPaths.rootFS Hôte RootFS Chemin du système de fichiers root de l'hôte. Le chemin doit pouvoir être chrooté. Facultatif /
hostPaths.driverInstallDir Répertoire d'installation du pilote Répertoire racine des fichiers du pilote NVIDIA sur l'hôte. Facultatif /run/nvidia/driver
driver.rdma.enabled Activer RDMA dans le pilote Activez la prise en charge RDMA pour le pilote NVIDIA. Facultatif false
driver.rdma.useHostMofed Utiliser l'hôte MOFED Utilisez le Mellanox OFED fourni par l'hôte au lieu du Mellanox OFED fourni par le conteneur. Facultatif false
Considérations relatives aux clusters volumineux

Le tableau suivant décrit les considérations relatives à la configuration de ce module complémentaire de cluster dans les clusters volumineux.

Nom d'argument Nombre de noeuds de processus métier de rôles Description à mesure que la taille du cluster augmente Risques Recommandation
devicePlugin.* Y (Oui)

Contrôle le module d'extension de périphérique NVIDIA qui expose les GPU à Kubernetes.

Le module d'extension de périphérique s'exécute sur chaque noeud de GPU et est responsable des éléments suivants :

  • Publicité nvidia.com/gpu ressources
  • Activation de la planification de GPU

La configuration affecte directement les décisions du planificateur et le placement de la charge de travail GPU.

Si cet argument est mal configuré :

  • Les GPU peuvent ne pas être visibles par Kubernetes.
  • Les pods demandant des GPU peuvent rester à l'état Pending .
  • La disponibilité des GPU peut être incohérente entre les noeuds.
  • Les échecs de planification peuvent se produire à grande échelle.
  • Définissez devicePlugin.enabled sur true .
  • Allouez suffisamment de ressources à l'aide de devicePlugin.resources .
  • Utilisez une configuration cohérente sur tous les noeuds GPU.
toolkit.* Y (Oui)

Contrôle la boîte à outils du conteneur NVIDIA, qui fournit un accès GPU à l'intérieur des conteneurs.

La boîte à outils s'exécute sur chaque noeud de GPU et est nécessaire pour que les charges de travail de GPU accèdent aux GPU dans les conteneurs.

Si cet argument est mal configuré, les pods peuvent être planifiés mais :

  • Les charges globales GPU peuvent ne pas démarrer.
  • Les conteneurs ne peuvent pas accéder aux GPU.
  • Les échecs d'exécution peuvent être difficiles à diagnostiquer.
  • Définissez toolkit.enabled sur true .
  • Assurez-vous que la boîte à outils est compatible avec l'exécution du conteneur.
  • Allouez suffisamment de ressources à l'aide de toolkit.resources .
daemonsets.tolerations Y (Oui)

Contrôle si les composants de l'opérateur GPU peuvent être exécutés sur les noeuds GPU.

Les noeuds GPU sont souvent endommagés. Tous les DaemonSets d'opérateur GPU doivent tolérer que ces taches s'exécutent sur les noeuds GPU.

Si les tolérances requises sont manquantes :

  • Les composants de l'opérateur GPU ne peuvent pas être exécutés sur les noeuds GPU.
  • Les GPU peuvent devenir inutilisables dans l'ensemble du cluster.
  • Configurer les tolérances qui correspondent aux taches appliquées aux noeuds GPU.
  • Validez les tolérances pour tous les pools de noeuds GPU.
daemonsets.rollingUpdate.maxUnavailable Y (Oui)

Contrôle le nombre de noeuds mis à jour simultanément.

Cette valeur affecte le nombre de noeuds GPU qui sont temporairement indisponibles pendant une mise à jour.

Dans un cluster de grande taille, une mise à jour peut affecter de nombreux noeuds.

Si la valeur est trop élevée :

  • Trop de noeuds GPU peuvent être indisponibles en même temps.
  • Les charges de travail GPU peuvent être interrompues.

Si la valeur est trop faible, le déploiement de la mise à jour sur des milliers de noeuds peut prendre beaucoup de temps.

Utilisez une valeur équilibrée qui n'est pas trop agressive. Définissez la valeur en fonction de la taille du cluster et de la quantité d'interruptions que les charges globales peuvent tolérer.

operator.resources Y (Oui)

Définit les ressources de CPU et de mémoire pour le contrôleur de l'opérateur GPU.

L'opérateur gère les composants, notamment :

  • Plug-in de l'appareil
  • Boîte à outils du conteneur NVIDIA
  • GPU multi-instance
  • Gestionnaire de GPU de centre de données NVIDIA

Au fur et à mesure que le nombre de noeuds augmente, l'opérateur gère plus d'objets et nécessite plus de ressources.

Si les ressources sont sous-dimensionnées :

  • La réconciliation peut être lente.
  • L'opérateur peut devenir instable.
  • Les modifications de configuration et les déploiements de composants peuvent être retardés.
  • Augmenter les ressources de CPU et de mémoire pour les clusters de grande taille.
  • Surveiller les journaux des opérateurs et l'utilisation de la mémoire.
cdi.enabled Y (Oui)

Active l'interface de dispositif de conteneur.

  • Simplifie l'injection de GPU dans les conteneurs.
  • Améliore la cohérence d'exécution entre les nœuds.

Si l'interface Container Device Interface est désactivée, l'ancienne intégration d'exécution peut :

  • Cause des incohérences.
  • Rendre le dépannage plus complexe.
  • Définissez cdi.enabled sur true .
  • Utilisez les paramètres par défaut sauf si vous avez une exigence spécifique.
mig.strategy Y (Oui)

Contrôle le partitionnement de GPU multi-instances.

Le partitionnement de GPU multi-instances permet aux charges globales de partager des GPU et affecte le comportement du planificateur.

Si cet argument est mal configuré :

  • Les ressources GPU peuvent être fragmentées.
  • Les pods peuvent ne pas trouver de partition GPU correspondante.
  • Le comportement peut être incohérent entre les noeuds.
  • Utiliser une stratégie de GPU multi-instances cohérente dans l'ensemble du cluster.
  • Évitez les configurations mixtes, sauf si elles sont requises.
dcgmExporter.* Y (Oui)

Contrôle la collecte des mesures de GPU.

L'exportateur génère des mesures GPU pour chaque noeud, ce qui augmente la charge de Prométhée et le trafic réseau à mesure que le nombre de noeuds GPU augmente.

Si cet argument est mal configuré :

  • La mise au rebut trop fréquente des mesures peut entraîner une surcharge élevée.
  • Les mesures de rebut trop rares peuvent fournir une visibilité insuffisante.
  • Réglez serviceMonitor.interval .
  • Allouez suffisamment de ressources à l'aide de dcgmExporter.resources .
dcgm.* Y (Oui)

Contrôle le moteur hôte du gestionnaire GPU du centre de données NVIDIA.

Le composant facultatif assure le suivi de l'état des GPU sur l'ensemble du cluster.

  • Si le composant est désactivé, la visibilité sur l'état du GPU est limitée.
  • Si le composant est activé avec des ressources insuffisantes, il peut devenir instable.
  • Activez le composant uniquement lorsqu'il est requis.
  • Allouer suffisamment de ressources.
skipNodeFeatureDiscoveryDependencyCheck N

Contrôle la vérification des dépendances pour le repérage des fonctionnalités de noeud.

La vérification des dépendances affecte l'étiquetage des noeuds et la détection des GPU.

Si le repérage des fonctionnalités de noeud est manquant :

  • Les noeuds GPU ne peuvent pas être étiquetés.
  • L'opérateur peut ne pas détecter les noeuds GPU.
  • Utilisez cet argument uniquement lorsque le repérage des fonctionnalités de noeud est déjà installé.
  • Assurez-vous que les étiquettes de noeud requises sont présentes et correctes.
disableNvidiaGpuPlugin Y (Oui)

Désactive le plug-in de périphérique GPU NVIDIA autonome.

La désactivation du module d'extension autonome empêche l'exécution de modules d'extension de périphérique GPU en double dans le cluster.

Si cet argument est configuré de manière incorrecte :

  • Plusieurs modules d'extension de périphérique GPU peuvent être exécutés.
  • Les plugins peuvent entrer en conflit.
  • Les ressources GPU peuvent être signalées de manière incorrecte.

Désactivez le plug-in de périphérique de GPU NVIDIA autonome lorsque vous utilisez l'opérateur de GPU NVIDIA.