Plugiciel de processeur graphique NVIDIA

Lorsque vous activez le module complémentaire de grappe de plugiciels GPU NVIDIA, vous pouvez transmettre les paires clé-valeur suivantes en tant qu'arguments.

Notez que pour garantir que les charges de travail exécutées sur les nœuds de travail NVIDIA GPU ne soient pas interrompues de manière inattendue, nous vous recommandons de choisir la version du module complémentaire NVIDIA GPU Plugin à déployer, plutôt que de spécifier qu'Oracle doit mettre à jour automatiquement le module complémentaire.

Arguments de configuration communs à tous les modules complémentaires de grappes
Clé (API et interface de ligne de commande) Nom d'affichage de la clé (console) Description Obligatoire/Facultatif 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.

Facultatif null null
nodeSelectors sélecteurs de noeuds

Vous pouvez utiliser des sélecteurs de noeuds et des étiquettes de noeud pour contrôler les noeuds de travail sur lesquels les pods supplémentaires s'exécutent.

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.

Réglez nodeSelectors à une paire clé/valeur qui correspond à la fois au sélecteur de noeud du pod et à l'étiquette du noeud de travail.

Format JSON en texte brut ou encodé en Base64.

Facultatif null {"foo":"bar", "foo2": "bar2"}

Le pod s'exécutera uniquement sur les noeuds qui ont l'étiquette foo=bar ou foo2=bar2.

numOfReplicas numOfReplicas Nombre de répliques du déploiement du module complémentaire.

(Pour CoreDNS, utilisez nodesPerReplica à la place.)

Obligatoire 1

Crée une réplique du déploiement du module complémentaire par grappe.

2

Crée deux répliques du déploiement du module complémentaire par grappe.

rollingUpdate rollingUpdate

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

Format JSON en texte brut ou encodé en Base64.

Facultatif null null
tolerations tolérances

Vous pouvez utiliser des teintes et des tolérances pour contrôler les noeuds de travail sur lesquels s'exécutent les pods complémentaires.

Pour qu'un pod s'exécute sur un noeud qui a une tache, le pod doit avoir une tolérance correspondante.

Réglez tolerations à une paire clé/valeur qui correspond à la fois à la tolérance du pod et à la couleur du noeud de travail.

Format JSON en texte brut ou encodé en Base64.

Facultatif null [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}]

Seuls les pods ayant cette tolérance peuvent s'exécuter sur des noeuds de travail ayant la teinte tolerationKeyFoo=tolerationValBar:noSchedule.

topologySpreadConstraints topologySpreadConstraints

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

Format JSON en texte brut ou encodé en Base64.

Facultatif null null
Arguments de configuration propres à ce module complémentaire de grappe
Clé (API et interface de ligne de commande) Nom d'affichage de la clé (console) Description Obligatoire/Facultatif Par défaut Exemple de valeur
deviceIdStrategy Stratégie d'ID appareil

Stratégie à utiliser pour transmettre des ID périphériques à l'exécution sous-jacente.

L'une des valeurs suivantes :

  • uuid
  • index
Facultatif uuid
deviceListStrategy Stratégie de liste d'appareils

Stratégie à utiliser pour transmettre la liste des périphériques à l'exécution sous-jacente.

Valeurs prises en charge :

  • envvar
  • volume-mounts
  • cdi-annotations
  • cdi-cri

Plusieurs valeurs sont prises en charge, dans une liste séparée par des virgules.

Facultatif envvar
driverRoot Racine du pilote Chemin racine de l'installation du pilote NVIDIA. Facultatif /
failOnInitError FailOnInitError

Indique si le plugiciel doit échouer si une erreur est détectée lors de l'initialisation.

Lorsque cette option est réglée à false, le plugiciel est bloqué indéfiniment au lieu d'échouer.

Facultatif true
migStrategy Stratégie MIG

Quelle stratégie utiliser pour exposer les périphériques MIG (Multi-Instance GPU) sur les GPU qui le prennent en charge.

L'une des valeurs suivantes :

  • none
  • single
  • mixed
Facultatif none
nvidia-gpu-device-plugin.ContainerResources ressources de conteneur nvidia-gpu-device-plugin

Vous pouvez spécifier les quantités de ressources demandées par les conteneurs de module complémentaire et définir les limites d'utilisation des ressources que les conteneurs de module complémentaire ne peuvent pas dépasser.

Format JSON en texte brut ou encodé en Base64.

Facultatif null {"limits": {"cpu": "500m", "memory": "200Mi" }, "requests": {"cpu": "100m", "memory": "100Mi"}}

Créez des conteneurs complémentaires qui demandent 100 milllicores d'UC et 100 mégiboctets de mémoire. Limitez les conteneurs complémentaires à 500 milllicores d'UC et à 200 mégiboctets de mémoire.

passDeviceSpecs Transmettre les spécifications d'appareil Indique s'il faut transmettre les chemins et les autorisations de noeud de périphérique souhaitées pour tous les appareils NVIDIA affectés au conteneur. Facultatif false
useConfigFile Utiliser le fichier de configuration à partir de ConfigMap

Indique s'il faut utiliser un fichier de configuration pour configurer le plugiciel d'appareil Nvidia pour Kubernetes. Le fichier de configuration est dérivé d'un fichier ConfigMap.

Si la valeur est réglée à true, vous devez créer une valeur ConfigMap dans la grappe, nommer ConfigMap nvidia-device-plugin-config et spécifier des valeurs pour les arguments de configuration. Voir Exemple.

ConfigMap est référencé par le jeu de démons nvidia-gpu-device-plugin.

Facultatif false

Exemple de nvidia-device-plugin-config ConfigMap :

apiVersion: v1
kind: ConfigMap
metadata: 
  name: nvidia-device-plugin-config 
  namespace: kube-system
data:
  config.yaml: |
    version: v1
    flags:
      migStrategy: "none"
      failOnInitError: true
      nvidiaDriverRoot: "/"
      plugin:
        passDeviceSpecs: false
        deviceListStrategy: envvar
        deviceIDStrategy: uuid