Plugin de GPU de NVIDIA

Al activar el complemento de clúster NVIDIA GPU Plugin, puede transferir los siguientes pares clave/valor como argumentos.

Tenga en cuenta que, para asegurarse de que las cargas de trabajo que se ejecutan en nodos de trabajador de GPU NVIDIA no se interrumpan de forma inesperada, le recomendamos que seleccione la versión del complemento de plugin de GPU NVIDIA que desea desplegar, en lugar de especificar que desea que Oracle actualice el complemento automáticamente.

Argumentos de configuración comunes a todos los complementos del cluster
Clave (API y CLI) Nombre mostrado de clave (consola) Descripción Necesario/Opcional Valor por defecto Valor de ejemplo
affinity afinidad

Grupo de reglas de programación de afinidad.

Formato JSON en texto sin formato o codificado con Base64.

Opcional nulo nulo
nodeSelectors selectores de nodos

Puede utilizar selectores de nodos y etiquetas de nodos para controlar los nodos de trabajador en los que se ejecutan los pods de complementos.

Para que un pod se ejecute en un nodo, el selector de nodos del pod debe tener la misma clave/valor que la etiqueta del nodo.

Defina nodeSelectors en un par clave/valor que coincida con el selector de nodos del pod y la etiqueta del nodo de trabajador.

Formato JSON en texto sin formato o codificado con Base64.

Opcional nulo {"foo":"bar", "foo2": "bar2"}

El pod solo se ejecutará en nodos que tengan la etiqueta foo=bar o foo2=bar2.

numOfReplicas numOfReplicas Número de réplicas del despliegue del complemento.

(En CoreDNS, utilice nodesPerReplica en su lugar).

Obligatorio 1

Crea una réplica del despliegue del complemento por cluster.

2

Crea dos réplicas del despliegue del complemento por cluster.

rollingUpdate rollingUpdate

Controla el comportamiento deseado de la actualización sucesiva mediante maxSurge y maxUnavailable.

Formato JSON en texto sin formato o codificado con Base64.

Opcional nulo nulo
tolerations tolerancias

Puede utilizar contaminantes y tolerancias para controlar los nodos de trabajador en los que se ejecutan los pods de complementos.

Para que un pod se ejecute en un nodo que tenga un tinte, el pod debe tener una tolerancia correspondiente.

Defina tolerations en un par clave/valor que coincida con la tolerancia del pod y el mantenimiento del nodo de trabajador.

Formato JSON en texto sin formato o codificado con Base64.

Opcional nulo [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}]

Solo los pods que tienen esta tolerancia se pueden ejecutar en nodos de trabajador que tengan el mantenimiento tolerationKeyFoo=tolerationValBar:noSchedule.

topologySpreadConstraints topologySpreadConstraints

Cómo difundir vainas coincidentes entre la topología dada.

Formato JSON en texto sin formato o codificado con Base64.

Opcional nulo nulo
Argumentos de configuración específicos de este complemento de cluster
Clave (API y CLI) Nombre mostrado de clave (consola) Descripción Necesario/Opcional Valor por defecto Valor de ejemplo
deviceIdStrategy Estrategia de ID de dispositivo

Estrategia que se debe utilizar para transferir ID de dispositivo al tiempo de ejecución subyacente.

Uno de los siguientes:

  • uuid
  • index
Opcional uuid
deviceListStrategy Estrategia de lista de dispositivos

Estrategia que se debe utilizar para transferir la lista de dispositivos al tiempo de ejecución subyacente.

Valores soportados:

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

Se admiten varios valores en una lista separada por comas.

Opcional envvar
driverRoot Raíz del controlador La ruta raíz para la instalación del controlador NVIDIA. Opcional /
failOnInitError FailOnInitError

Si se debe fallar el plugin si se encuentra un error durante la inicialización.

Cuando se define en false, bloquea el plugin indefinidamente en lugar de fallar.

Opcional true
migStrategy Estrategia MIG

Qué estrategia utilizar para exponer los dispositivos MIG (GPU de varias instancias) en las GPU que lo admiten.

Uno de los siguientes:

  • none
  • single
  • mixed
Opcional none
nvidia-gpu-device-plugin.ContainerResources Recursos de contenedor de plugin de dispositivo-gpu-nvidia

Puede especificar las cantidades de recursos que solicitan los contenedores complementarios y establecer límites de uso de recursos que los contenedores complementarios no pueden superar.

Formato JSON en texto sin formato o codificado con Base64.

Opcional nulo {"limits": {"cpu": "500m", "memory": "200Mi" }, "requests": {"cpu": "100m", "memory": "100Mi"}}

Cree contenedores complementarios que soliciten 100 millicores de CPU y 100 mebibytes de memoria. Limite los contenedores complementarios a 500 millicores de CPU y 200 mebibytes de memoria.

passDeviceSpecs Pasar especificaciones de dispositivo Si se deben transferir las rutas y los permisos de nodo de dispositivo deseados para cualquier dispositivo NVIDIA que se asigne al contenedor. Opcional false
useConfigFile Usar archivo de configuración desde ConfigMap

Si se debe utilizar un archivo de configuración para configurar el plugin de dispositivo Nvidia para Kubernetes. El archivo de configuración se deriva de ConfigMap.

Si se define en true, debe crear un ConfigMap en el cluster, asignar un nombre a ConfigMap nvidia-device-plugin-config y especificar valores para los argumentos de configuración. Consulte Ejemplo.

El daemonset nvidia-gpu-device-plugin hace referencia a ConfigMap.

Opcional false

Ejemplo 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