Module d'extension GPU NVIDIA
Lorsque vous activez l'extension de cluster de modules d'extension GPU NVIDIA, vous pouvez transmettre les paires clé/valeur suivantes en tant qu'arguments.
Notez que pour vous assurer que les charges de travail exécutées sur les noeuds de processus actif de GPU NVIDIA ne sont pas interrompues de manière inattendue, nous vous recommandons de choisir la version du module d'extension de GPU NVIDIA à déployer, plutôt que de spécifier que vous souhaitez qu'Oracle mette à jour le module automatiquement.
| 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é Base64. |
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 Format JSON en texte brut ou encodé Base64. |
Facultatif | NULL | {"foo":"bar", "foo2": "bar2"}Le pod s'exécutera uniquement sur les noeuds possédant le libellé |
numOfReplicas |
numOfReplicas | Nombre de répliques du déploiement de l'extension. (Pour CoreDNS, utilisez plutôt |
Requis | 1Crée une réplique du déploiement d'extension par cluster. |
2Crée deux répliques du déploiement d'extension par cluster. |
rollingUpdate |
rollingUpdate |
Contrôle le comportement souhaité de la mise à jour non simultanée par maxSurge et maxUnavailable. Format JSON en texte brut ou encodé Base64. |
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 Format JSON en texte brut ou encodé Base64. |
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 |
topologySpreadConstraints |
topologySpreadConstraints |
Comment répartir les pods correspondants entre la topologie donnée. Format JSON en texte brut ou encodé Base64. |
Facultatif | NULL | NULL |
| Clé (API et CLI) | Nom d'affichage de la clé (console) | Description | Obligatoire/Facultatif | Valeur par défaut | Exemple de valeur |
|---|---|---|---|---|---|
deviceIdStrategy
|
Stratégie d'ID de périphérique |
Stratégie à utiliser pour transmettre les ID de périphérique à l'exécution sous-jacente. L'une des options suivantes :
|
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 :
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 module d'extension doit échouer en cas d'erreur lors de l'initialisation. Lorsqu'elle est définie sur |
Facultatif |
true
|
|
migStrategy
|
Stratégie MIG |
Stratégie à utiliser pour exposer les périphériques MIG (Multi-Instance GPU) sur les GPU qui les prennent en charge. L'une des options suivantes :
|
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 d'extension et définir les limites d'utilisation des ressources que les conteneurs d'extension ne peuvent pas dépasser. Format JSON en texte brut ou encodé Base64. |
Facultatif | NULL |
{"limits": {"cpu": "500m", "memory": "200Mi" }, "requests": {"cpu": "100m", "memory": "100Mi"}}
Créez des conteneurs d'extension qui demandent 100 milllicores de CPU et 100 mégaoctets de mémoire. Limitez les conteneurs d'extension à 500 milllicores de CPU et 200 mégaoctets de mémoire. |
passDeviceSpecs
|
Transmettre les spécifications d'appareil | Indique si les chemins et les autorisations de noeud de périphérique souhaités doivent être transmis pour tous les périphériques NVIDIA alloués au conteneur. | Facultatif |
false
|
|
useConfigFile
|
Utiliser le fichier de configuration de ConfigMap |
Indique si un fichier de configuration doit être utilisé pour configurer le module d'extension de périphérique Nvidia pour Kubernetes. Le fichier de configuration est dérivé d'un fichier ConfigMap. Si la valeur est Le paramètre ConfigMap est référencé par le jeu de démons |
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