Plugin GPU NVIDIA

Quando si abilita l'add-on cluster del plugin GPU NVIDIA, è possibile passare come argomenti le seguenti coppie chiave/valore.

Si noti che per garantire che i carichi di lavoro in esecuzione sui nodi di lavoro GPU NVIDIA non vengano interrotti in modo imprevisto, si consiglia di scegliere la versione del componente aggiuntivo del plugin GPU NVIDIA da distribuire, anziché specificare che si desidera che Oracle aggiorni automaticamente il componente aggiuntivo.

Argomenti di configurazione comuni a tutti i componenti aggiuntivi cluster
Chiave (API e CLI) Nome visualizzato chiave (console) Descrizione Obbligatorio/Facoltativo Valore predefinito Valore di esempio
affinity affinità

Gruppo di regole di pianificazione affinità.

Formato JSON in testo normale o codificato in Base64.

Facoltativo nullo nullo
nodeSelectors selettori nodi

È possibile utilizzare i selettori nodo e le etichette nodo per controllare i nodi di lavoro sui quali vengono eseguiti i pod componente aggiuntivo.

Affinché un pod venga eseguito su un nodo, il selettore nodo del pod deve avere la stessa chiave/valore dell'etichetta del nodo.

Impostare nodeSelectors su una coppia chiave/valore corrispondente sia al selettore nodo del pod che all'etichetta del nodo di lavoro.

Formato JSON in testo normale o codificato in Base64.

Facoltativo nullo {"foo":"bar", "foo2": "bar2"}

Il pod verrà eseguito solo sui nodi con l'etichetta foo=bar o foo2=bar2.

numOfReplicas numOfReplicas Numero di repliche della distribuzione del componente aggiuntivo.

Per CoreDNS, utilizzare invece nodesPerReplica.

Obbligatorio 1

Crea una replica della distribuzione del componente aggiuntivo per cluster.

2

Crea due repliche della distribuzione componente aggiuntivo per cluster.

rollingUpdate rollingUpdate

Controlla il funzionamento desiderato dell'aggiornamento in sequenza tramite maxSurge e maxUnavailable.

Formato JSON in testo normale o codificato in Base64.

Facoltativo nullo nullo
tolerations tolleranze

È possibile utilizzare le tenute e le tolleranze per controllare i nodi di lavoro sui quali vengono eseguiti i pod dei componenti aggiuntivi.

Affinché un pod venga eseguito su un nodo che presenta una torsione, il pod deve avere una tolleranza corrispondente.

Impostare tolerations su una coppia chiave/valore corrispondente sia alla tolleranza del pod che alla tendenza del nodo di lavoro.

Formato JSON in testo normale o codificato in Base64.

Facoltativo nullo [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}]

Solo i pod con questa tolleranza possono essere eseguiti sui nodi di lavoro che hanno la caratteristica tolerationKeyFoo=tolerationValBar:noSchedule.

topologySpreadConstraints topologySpreadConstraints

Come diffondere pod corrispondenti tra la topologia specificata.

Formato JSON in testo normale o codificato in Base64.

Facoltativo nullo nullo
Argomenti di configurazione specifici per questo componente aggiuntivo cluster
Chiave (API e CLI) Nome visualizzato chiave (console) Descrizione Obbligatorio/Facoltativo Valore predefinito Valore di esempio
deviceIdStrategy Strategia ID dispositivo

Strategia da utilizzare per il passaggio degli ID dispositivo al runtime sottostante.

Uno dei seguenti:

  • uuid
  • index
Facoltativo uuid
deviceListStrategy Strategia elenco dispositivi

Quale strategia utilizzare per passare l'elenco di dispositivi al runtime di base.

Valori supportati:

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

Sono supportati più valori in un elenco separato da virgole.

Facoltativo envvar
driverRoot Radice driver Percorso radice per l'installazione del driver NVIDIA. Facoltativo /
failOnInitError FailOnInitError

Indica se non eseguire il plugin in caso di errore durante l'inizializzazione.

Quando è impostato su false, il plugin viene bloccato a tempo indeterminato invece di non riuscire.

Facoltativo true
migStrategy Strategia MIG

Quale strategia utilizzare per esporre i dispositivi GPU MIG (Multi-Instance) sulle GPU che lo supportano.

Uno dei seguenti:

  • none
  • single
  • mixed
Facoltativo none
nvidia-gpu-device-plugin.ContainerResources risorse container nvidia-gpu-device-plugin

È possibile specificare le quantità di risorse richieste dai container aggiuntivi e impostare i limiti di utilizzo delle risorse che i container aggiuntivi non possono superare.

Formato JSON in testo normale o codificato in Base64.

Facoltativo nullo {"limits": {"cpu": "500m", "memory": "200Mi" }, "requests": {"cpu": "100m", "memory": "100Mi"}}

Crea container aggiuntivi che richiedono 100 millilitri di CPU e 100 mebibyte di memoria. Limita i contenitori aggiuntivi a 500 milllicires di CPU e 200 mebibyte di memoria.

passDeviceSpecs Passa specifiche dispositivo Indica se passare i percorsi e le autorizzazioni del nodo dispositivo desiderate per qualsiasi dispositivo NVIDIA allocato al contenitore. Facoltativo false
useConfigFile Usa file di configurazione da ConfigMap

Indica se utilizzare un file di configurazione per configurare il plugin dispositivo Nvidia per Kubernetes. Il file di configurazione deriva da un valore ConfigMap.

Se impostato su true, è necessario creare un ConfigMap nel cluster, assegnare un nome a ConfigMap nvidia-device-plugin-config e specificare i valori per gli argomenti di configurazione. Vedere Esempio.

Il daemonet nvidia-gpu-device-plugin fa riferimento a ConfigMap.

Facoltativo false

Esempio di 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