Operador de GPU AMD

Al activar el complemento de cluster AMD GPU Operator, puede transferir los siguientes pares clave/valor como argumentos.

Argumentos de configuración comunes a la mayoría de 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 en Base64.

No utilizado por:
  • Operador de GPU de Nvidia
Posibles equivalentes:
  • Detección de funciones de nodo, utilice master.affinity
  • Operador de red NVIDIA, utilice operator.affinity
  • SMB de controlador CSI, utilice contoller.affinity
  • Operador de GPU de AMD, utilice controllerManager.affinity
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 complementarios.

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 en Base64.

No utilizado por:
  • Operador de GPU de NVIDIA
  • SMB de controlador CSI
Posibles equivalentes:
  • Detección de funciones de nodo, utilice worker.nodeSelector
  • Operador de red NVIDIA, utilice operator.nodeSelectors
  • Operador de GPU de AMD, utilice selector o controllerManager.nodeSelector
Opcional nulo {"foo":"bar", "foo2": "bar2"}

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

numOfReplicas Número de réplicas Número de réplicas del despliegue del complemento.
No utilizado por:
  • Plugin de GPU de AMD
  • Operador de GPU de NVIDIA
  • Operador de red NVIDIA
  • SMB de controlador CSI
Posibles equivalentes:
  • CoreDNS, utilice nodesPerReplica
  • Detección de funciones de nodo, utilice master.replicaCount
  • Operador de GPU de AMD, utilice controllerManager.replicas
Obligatorio 1

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

2

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

rollingUpdate actualización continua

Controla el comportamiento deseado de la actualización continua por maxSurge y maxUnavailable.

Formato JSON en texto sin formato o codificado en Base64.

No utilizado por:
  • Detección de funciones de nodo
  • Operador de red NVIDIA
  • SMB de controlador CSI
Posibles equivalentes:
  • Operador de GPU de NVIDIA, utilice daemonsets.rollingUpdate.maxUnavailable
  • Operador de GPU de AMD, utilice upgradePolicy en devicePlugin, metricsExporter, testRunner, configManager o draDriver
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 en Base64.

Posibles equivalentes:
  • Detección de funciones de nodo, utilice master.tolerations y/o worker.tolerations
  • Operador de GPU de NVIDIA, utilice daemonsets.tolerations
  • Operador de red NVIDIA, utilice operator.tolerations
  • SMB de controlador CSI, utilice controller.tolerations
  • Operador de GPU de AMD, utilice tolerancias en devicePlugin, metricsExporter, testRunner, configManager, draDriver o controllerManager
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 topologíaSpreadConstraes

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

Formato JSON en texto sin formato o codificado en Base64.

No utilizado por:
  • Detección de funciones de nodo
  • Operador de GPU de NVIDIA
  • Operador de red NVIDIA
  • SMB de controlador CSI
  • Operador de GPU AMD
Opcional nulo nulo
Argumentos de configuración específicos de este complemento de cluster

Tenga en cuenta los siguientes puntos al definir argumentos de configuración para el complemento de cluster del operador de GPU de AMD:

  • Los nombres ConfigMap de Test Runner y Device Config Manager de los valores de ejemplo hacen referencia a ConfigMaps que ha creado previamente en el espacio de nombres del operador de GPU de AMD.
  • Para activar el controlador DRA, defina draDriver.enable en true y devicePlugin.enableDevicePlugin en false en la misma actualización de complemento.
  • Para imagePullPolicy, devicePluginImagePullPolicy y nodeLabellerImagePullPolicy, los valores soportados son Always, IfNotPresent y Never.
  • Las matrices de tolerancia suministradas a través de estos parámetros se fusionan con los valores por defecto del complemento. Una tolerancia proporcionada sustituye una tolerancia por defecto por la misma clave y efecto; de lo contrario, se agrega.
Clave (API y CLI) Nombre mostrado de clave (consola) Descripción Necesario/Opcional Valor por defecto Valor de ejemplo
skipNodeFeatureDiscoveryDependencyCheck skipNodeFeatureDiscoveryDependencyCheck Controla si el complemento omite la comprobación de dependencia de detección de funciones de nodo. Opcional false true
selector selector Selecciona los nodos de Kubernetes gestionados por el operador de GPU de AMD. Opcional {"feature.node.kubernetes.io/amd-gpu":"true"} {"node.kubernetes.io/instance-type":"BM.GPU.MI300X.8"}
devicePlugin devicePlugin Configura el plugin del dispositivo AMD GPU y la etiquetadora de nodos. Opcional {"enableDevicePlugin":true,"devicePluginImagePullPolicy":"IfNotPresent","devicePluginTolerations":[{"key":"amd.com/gpu","operator":"Equal","value":"present","effect":"NoSchedule"}],"enableNodeLabeller":true,"nodeLabellerImagePullPolicy":"IfNotPresent","nodeLabellerTolerations":[{"key":"amd.com/gpu","operator":"Equal","value":"present","effect":"NoSchedule"}],"kubeletSocketPath":"/var/lib/kubelet/device-plugins","hostNetwork":false,"upgradePolicy":{"upgradeStrategy":"RollingUpdate","maxUnavailable":1}} {"enableDevicePlugin":true,"devicePluginImagePullPolicy":"Always","devicePluginTolerations":[{"key":"amd.com/gpu","operator":"Equal","value":"present","effect":"NoSchedule"}],"devicePluginArguments":{"resource_naming_strategy":"single"},"enableNodeLabeller":true,"nodeLabellerImagePullPolicy":"Always","nodeLabellerTolerations":[{"key":"amd.com/gpu","operator":"Equal","value":"present","effect":"NoSchedule"}],"nodeLabellerArguments":["compute-memory-partition","compute-partitioning-supported","memory-partitioning-supported"],"kubeletSocketPath":"/var/lib/kubelet/device-plugins","hostNetwork":true,"upgradePolicy":{"upgradeStrategy":"RollingUpdate","maxUnavailable":1}}
metricsExporter métricasExportador Configura la recopilación y la exposición de métricas de GPU de AMD. Opcional {"enable":true,"serviceType":"ClusterIP","port":5000,"nodePort":32500,"imagePullPolicy":"IfNotPresent","tolerations":[{"key":"amd.com/gpu","operator":"Equal","value":"present","effect":"NoSchedule"}],"hostNetwork":false,"upgradePolicy":{"upgradeStrategy":"RollingUpdate","maxUnavailable":1},"rbacConfig":{"enable":false,"disableHttps":false,"staticAuthorization":{"clientName":"","enable":false}},"prometheus":{"serviceMonitor":{"enable":false,"interval":"30s","honorLabels":true,"honorTimestamps":false}}} {"enable":true,"serviceType":"NodePort","port":5001,"nodePort":32501,"imagePullPolicy":"IfNotPresent","config":{},"tolerations":[{"key":"amd.com/gpu","operator":"Equal","value":"present","effect":"NoSchedule"}],"hostNetwork":true,"selector":{"feature.node.kubernetes.io/amd-gpu":"true"},"upgradePolicy":{"upgradeStrategy":"RollingUpdate","maxUnavailable":1},"rbacConfig":{"enable":true,"disableHttps":false},"prometheus":{"serviceMonitor":{"enable":false,"interval":"30s","honorLabels":true,"honorTimestamps":false}},"resource":{"limits":{"cpu":"1","memory":"1Gi"},"requests":{"cpu":"100m","memory":"128Mi"}},"podAnnotations":{"prometheus.io/scrape":"true"},"podResourceAPISocketPath":"/var/lib/kubelet/pod-resources","serviceAnnotations":{"prometheus.io/scrape":"true"}}
testRunner testRunner Configura la validación del estado de la GPU de AMD y las pruebas de diagnóstico en los nodos seleccionados. Opcional {"enable":false,"imagePullPolicy":"IfNotPresent","tolerations":[{"key":"amd.com/gpu","operator":"Equal","value":"present","effect":"NoSchedule"}],"logsLocation":{"hostPath":"/var/log/amd-test-runner","logsExportSecrets":[],"mountPath":"/var/log/amd-test-runner"},"upgradePolicy":{"upgradeStrategy":"RollingUpdate","maxUnavailable":1}} {"enable":true,"imagePullPolicy":"IfNotPresent","config":{"name":"test-runner-config-map"},"logsLocation":{"hostPath":"/var/log/amd-test-runner","mountPath":"/var/log/amd-test-runner","logsExportSecrets":[]},"upgradePolicy":{"upgradeStrategy":"RollingUpdate","maxUnavailable":1},"tolerations":[{"key":"amd.com/gpu","operator":"Equal","value":"present","effect":"NoSchedule"}],"selector":{"feature.node.kubernetes.io/amd-gpu":"true"}}
configManager Gestor de configuración Configura los perfiles de partición de GPU de AMD mediante el Administrador de configuración de dispositivos. Opcional {"enable":false,"imagePullPolicy":"IfNotPresent","configManagerTolerations":[{"key":"amd.com/gpu","operator":"Equal","value":"present","effect":"NoSchedule"}],"upgradePolicy":{"upgradeStrategy":"RollingUpdate","maxUnavailable":1}} {"enable":true,"imagePullPolicy":"IfNotPresent","config":{"name":"config-manager-config"},"selector":{"feature.node.kubernetes.io/amd-gpu":"true"},"upgradePolicy":{"upgradeStrategy":"RollingUpdate","maxUnavailable":1},"configManagerTolerations":[{"key":"amd-dcm","operator":"Equal","value":"up","effect":"NoExecute"}]}
draDriver draDriver Configura la asignación dinámica de recursos de Kubernetes para las GPU de AMD. Opcional {"enable":false,"imagePullPolicy":"IfNotPresent","tolerations":[{"key":"amd.com/gpu","operator":"Equal","value":"present","effect":"NoSchedule"}],"upgradePolicy":{"upgradeStrategy":"RollingUpdate","maxUnavailable":1}} {"enable":true,"imagePullPolicy":"IfNotPresent","tolerations":[{"key":"amd.com/gpu","operator":"Equal","value":"present","effect":"NoSchedule"}],"cmdLineArguments":{},"selector":{"feature.node.kubernetes.io/amd-gpu":"true"},"upgradePolicy":{"upgradeStrategy":"RollingUpdate","maxUnavailable":1}}
controllerManager ControllerManager Configura el despliegue del controlador de AMD GPU Operator. Opcional {"replicas":1,"resources":{"limits":{"cpu":"1000m","memory":"1Gi"},"requests":{"cpu":"100m","memory":"256Mi"}},"imagePullPolicy":"Always","nodeSelector":{},"affinity":{"nodeAffinity":{"preferredDuringSchedulingIgnoredDuringExecution":[{"weight":1,"preference":{"matchExpressions":[{"key":"node-role.kubernetes.io/control-plane","operator":"Exists"}]}}]}},"tolerations":[{"key":"amd-gpu-unhealthy","operator":"Exists","effect":"NoSchedule"},{"key":"node-role.kubernetes.io/master","operator":"Equal","effect":"NoSchedule"},{"key":"node-role.kubernetes.io/control-plane","operator":"Equal","effect":"NoSchedule"}],"simEnable":false} {"replicas":2,"resources":{"requests":{"cpu":"120m","memory":"192Mi"}},"imagePullPolicy":"IfNotPresent","nodeSelector":{"kubernetes.io/os":"linux"},"affinity":{"nodeAffinity":{"preferredDuringSchedulingIgnoredDuringExecution":[{"weight":10,"preference":{"matchExpressions":[{"key":"kubernetes.io/os","operator":"In","values":["linux"]}]}}]}},"tolerations":[{"key":"validation.amd.com/controller","operator":"Exists","effect":"NoSchedule"}],"simEnable":false}