AMD-GPU-Operator

Wenn Sie das AMD GPU Operator Cluster-Add-on aktivieren, können Sie die folgenden Schlüssel/Wert-Paare als Argumente übergeben.

Allgemeine Konfigurationsargumente für die meisten Cluster-Add-ons
Schlüssel (API und CLI) Anzeigename des Schlüssels (Konsole) Beschreibung Erforderlich/Optional Standardwert Beispielwert
affinity Affinität

Eine Gruppe von Affinitätsplanungsregeln.

JSON-Format im Klartext oder Base64-codiert.

Nicht verwendet von:
  • Nvidia-GPU-Operator
Mögliche Äquivalente:
  • Knotenfeature Discovery, verwenden Sie master.affinity
  • NVIDIA Network Operator, verwenden Sie operator.affinity
  • CSI-Treiber SMB, verwenden Sie contoller.affinity
  • AMD-GPU-Operator, controllerManager.affinity verwenden
Optional Null Null
nodeSelectors Knotenselektoren

Mit Knotenselektoren und Knotenlabels können Sie die Worker-Knoten steuern, auf denen Add-on-Pods ausgeführt werden.

Damit ein Pod auf einem Knoten ausgeführt werden kann, muss der Knotenselektor des Pods denselben Schlüssel/Wert wie das Label des Knotens aufweisen.

Setzen Sie nodeSelectors auf ein Schlüssel/Wert-Paar, das sowohl dem Knotenselektor des Pods als auch dem Label des Worker-Knotens entspricht.

JSON-Format im Klartext oder Base64-codiert.

Nicht verwendet von:
  • NVIDIA-GPU-Operator
  • CSI-Treiber SMB
Mögliche Äquivalente:
  • Knotenfeature Discovery, verwenden Sie worker.nodeSelector
  • NVIDIA Network Operator, verwenden Sie operator.nodeSelectors
  • AMD GPU-Operator, verwenden Sie selector oder controllerManager.nodeSelector
Optional Null {"foo":"bar", "foo2": "bar2"}

Der Pod wird nur auf Knoten ausgeführt, die das Label foo=bar oder foo2=bar2 aufweisen.

numOfReplicas numOfReplikate Die Anzahl der Replikate der Add-on-Bereitstellung.
Nicht verwendet von:
  • AMD-GPU-Plug-in
  • NVIDIA-GPU-Operator
  • NVIDIA-Netzwerkbetreiber
  • CSI-Treiber SMB
Mögliche Äquivalente:
  • CoreDNS, verwenden Sie nodesPerReplica
  • Knotenfeature Discovery, verwenden Sie master.replicaCount
  • AMD-GPU-Operator, controllerManager.replicas verwenden
Erforderlich 1

Erstellt ein Replikat des Add-on-Deployments pro Cluster.

2

Erstellt zwei Replikate des Add-on-Deployments pro Cluster.

rollingUpdate rollierende Aktualisierung

Steuert das gewünschte Verhalten der Rolling-Aktualisierung durch maxSurge und maxUnavailable.

JSON-Format im Klartext oder Base64-codiert.

Nicht verwendet von:
  • Knotenfeature-Discovery
  • NVIDIA-Netzwerkbetreiber
  • CSI-Treiber SMB
Mögliche Äquivalente:
  • NVIDIA-GPU-Operator, daemonsets.rollingUpdate.maxUnavailable verwenden
  • AMD-GPU-Operator, verwenden upgradePolicy in devicePlugin, metricsExporter, testRunner, configManager oder draDriver
Optional Null Null
tolerations Toleranzen

Mit Taints und Toleranzen können Sie die Worker-Knoten steuern, auf denen Add-on-Pods ausgeführt werden.

Damit ein Pod auf einem Knoten mit einem Taint ausgeführt werden kann, muss der Pod eine entsprechende Toleranz aufweisen.

Setzen Sie tolerations auf ein Schlüssel/Wert-Paar, das sowohl der Podtoleranz als auch dem Taint des Worker-Knotens entspricht.

JSON-Format im Klartext oder Base64-codiert.

Mögliche Äquivalente:
  • Knotenfeature Discovery, verwenden Sie master.tolerations und/oder worker.tolerations
  • NVIDIA-GPU-Operator, daemonsets.tolerations verwenden
  • NVIDIA Network Operator, verwenden Sie operator.tolerations
  • CSI-Treiber SMB, verwenden Sie controller.tolerations
  • AMD GPU-Operator, Toleranzen in devicePlugin, metricsExporter, testRunner, configManager, draDriver oder controllerManager verwenden
Optional Null [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}]

Nur Pods mit dieser Toleranz können auf Worker-Knoten ausgeführt werden, die den Taint tolerationKeyFoo=tolerationValBar:noSchedule aufweisen.

topologySpreadConstraints TopologieSpreadConstraints

So verteilen Sie passende Pods auf die angegebene Topologie.

JSON-Format im Klartext oder Base64-codiert.

Nicht verwendet von:
  • Knotenfeature-Discovery
  • NVIDIA-GPU-Operator
  • NVIDIA-Netzwerkbetreiber
  • CSI-Treiber SMB
  • AMD-GPU-Operator
Optional Null Null
Für dieses Cluster-Add-on spezifische Konfigurationsargumente

Beachten Sie die folgenden Punkte, wenn Sie Konfigurationsargumente für das AMD GPU Operator-Cluster-Add-on festlegen:

  • Die Test Runner- und Device ConfigMap-Namen in den Beispielwerten beziehen sich auf ConfigMaps, die Sie im AMD GPU Operator Namespace vorab erstellt haben.
  • Um den DRA-Treiber zu aktivieren, setzen Sie draDriver.enable in demselben Add-on-Update auf true und devicePlugin.enableDevicePlugin auf false.
  • Unterstützte Werte für imagePullPolicy, devicePluginImagePullPolicy und nodeLabellerImagePullPolicy sind Always, IfNotPresent und Never.
  • Toleranzarrays, die über diese Parameter bereitgestellt werden, werden mit den Add-on-Standardwerten zusammengeführt. Eine mitgelieferte Toleranz ersetzt eine Standardtoleranz durch denselben Schlüssel und Effekt. Andernfalls wird sie angehängt.
Schlüssel (API und CLI) Anzeigename des Schlüssels (Konsole) Beschreibung Erforderlich/Optional Standardwert Beispielwert
skipNodeFeatureDiscoveryDependencyCheck skipNodeFeatureDiscoveryDependencyCheck Steuert, ob das Add-on die Abhängigkeitsprüfung für die Knotenfeature-Discovery überspringt. Optional false true
selector Selektor Wählt die von AMD GPU Operator verwalteten Kubernetes-Knoten aus. Optional {"feature.node.kubernetes.io/amd-gpu":"true"} {"node.kubernetes.io/instance-type":"BM.GPU.MI300X.8"}
devicePlugin GerätPlugin Konfiguriert das AMD GPU-Geräte-Plug-in und den Knoten-Labeller. Optional {"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 MetrikenExporter Konfiguriert die Erfassung und Exposition von AMD-GPU-Metriken. Optional {"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 Konfiguriert AMD-GPU-Zustandsvalidierung und Diagnosetests auf ausgewählten Knoten. Optional {"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 Konfigurationsmanager Konfiguriert AMD-GPU-Partitionierungsprofile über den Device Config Manager. Optional {"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 Konfiguriert die dynamische Kubernetes-Ressourcenzuweisung für AMD-GPUs. Optional {"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 Controller-Manager Konfiguriert das AMD GPU Operator Controller-Deployment. Optional {"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}