NVIDIA GPUオペレータ

NVIDIA GPU Operatorクラスタ・アドオンを有効にすると、次のキー/値ペアを引数として渡すことができます。

ほとんどのクラスタ・アドオンに共通の構成引数
キー(APIおよびCLI) キーの表示名(コンソール) 説明 必須/オプション デフォルト値 値の例
affinity affinity

アフィニティ・スケジューリング・ルールのグループ。

プレーン・テキストまたはBase64でエンコードされたJSON形式。

未使用者:
  • NVIDIA GPUオペレータ
可能な等価:
  • ノード機能の検出、master.affinityの使用
  • NVIDIA Network Operator、operator.affinityを使用
  • CSIドライバSMB、contoller.affinityを使用
  • AMD GPUオペレータ、controllerManager.affinityを使用
オプション null null
nodeSelectors ノード・セレクター

ノード・セレクタおよびノード・ラベルを使用して、アドオン・ポッドが実行されるワーカー・ノードを制御できます。

ポッドをノードで実行するには、ポッドのノード・セレクタのキー/値がノードのラベルと同じである必要があります。

nodeSelectorsを、ポッドのノード・セレクタとワーカー・ノードのラベルの両方と一致するキー/値のペアに設定します。

プレーン・テキストまたはBase64でエンコードされたJSON形式。

未使用者:
  • NVIDIA GPUオペレータ
  • CSIドライバ SMB
可能な等価:
  • ノード機能の検出、worker.nodeSelectorの使用
  • NVIDIA Network Operator、operator.nodeSelectorsを使用
  • AMD GPU演算子。selectorまたはcontrollerManager.nodeSelectorを使用します
オプション null {"foo":"bar", "foo2": "bar2"}

ポッドは、foo=barまたはfoo2=bar2ラベルを持つノードでのみ実行されます。

numOfReplicas レプリカの数 アドオン・デプロイメントのレプリカの数。
未使用者:
  • AMD GPUプラグイン
  • NVIDIA GPUオペレータ
  • NVIDIAネットワーク事業者
  • CSIドライバ SMB
可能な等価:
  • CoreDNS。nodesPerReplicaを使用します。
  • ノード機能の検出、master.replicaCountの使用
  • AMD GPUオペレータ、controllerManager.replicasを使用
必須 1

クラスタごとにアドオン・デプロイメントのレプリカを1つ作成します。

2

クラスタごとにアドオン・デプロイメントのレプリカを2つ作成します。

rollingUpdate ローリング更新

maxSurgeおよびmaxUnavailableによるローリング更新の望ましい動作を制御します。

プレーン・テキストまたはBase64でエンコードされたJSON形式。

未使用者:
  • ノード機能検出
  • NVIDIAネットワーク事業者
  • CSIドライバ SMB
可能な等価:
  • NVIDIA GPU Operator、daemonsets.rollingUpdate.maxUnavailableを使用
  • AMD GPU演算子。devicePluginmetricsExportertestRunner configManagerまたはdraDriverupgradePolicyを使用します。
オプション null null
tolerations 許容範囲

taintおよびtolerationsを使用して、アドオン・ポッドが実行されるワーカー・ノードを制御できます。

taintがあるノード上でポッドを実行するには、ポッドに対応する許容範囲が必要です。

tolerationsを、ポッドの許容範囲とワーカー・ノードのtaintの両方と一致するキー/値のペアに設定します。

プレーン・テキストまたはBase64でエンコードされたJSON形式。

可能な等価:
  • ノード機能の検出。master.tolerationsまたはworker.tolerations、あるいはその両方を使用します。
  • NVIDIA GPU Operator、daemonsets.tolerationsを使用
  • NVIDIA Network Operator、operator.tolerationsを使用
  • CSIドライバSMB、controller.tolerationsを使用
  • AMD GPUオペレータ。 devicePluginmetricsExportertestRunnerconfigManagerdraDriverまたはcontrollerManagerで許容値を使用します。
オプション null [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}]

この許容値を持つポッドのみが、tolerationKeyFoo=tolerationValBar:noSchedule taintを持つワーカー・ノードで実行できます。

topologySpreadConstraints topologySpreadConstraints

指定されたトポロジ間で一致するポッドを分散する方法。

プレーン・テキストまたはBase64でエンコードされたJSON形式。

未使用者:
  • ノード機能検出
  • NVIDIA GPUオペレータ
  • NVIDIAネットワーク事業者
  • CSIドライバ SMB
  • AMD GPU演算子
オプション null null
このクラスタ・アドオンに固有の構成引数
キー(APIおよびCLI) キーの表示名(コンソール) 説明 必須/オプション デフォルト値 値の例
skipNodeFeatureDiscoveryDependencyCheck スキップノード機能検出依存関係チェック ノード機能検出依存性チェックをスキップします。 オプション false
disableNvidiaGpuPlugin NvidiaGpuプラグインを無効にする 既存のNvidiaDevicePluginアドオンと関連リソースを無効にします。 オプション false
cdi.enabled コンテナ・デバイス・インタフェースの有効化 コンテナ・デバイス・インタフェースを有効にするフラグ。 オプション

false (バージョン25.3.xの場合)。

true (バージョン25.10.x以降の場合)。

cdi.default CDIをデフォルトとして有効化 コンテナ・ランタイムがデバイス・インジェクションを実行するデフォルト・オプションとしてCDIを使用できるようにするフラグ。 オプション

false (バージョン25.3.xの場合)。

バージョン25.10.x以降では非推奨です。

daemonsets.labels DaemonSetsラベル すべてのGPUオペレータ・デーモンセットのラベル。JSONテキストまたはBase64でエンコードされたJSONマップ。 オプション null
daemonsets.annotations DaemonSets注釈 すべてのGPU演算子DaemonSetsの注釈。JSONテキストまたはBase64でエンコードされたJSONマップ。 オプション null
daemonsets.tolerations DaemonSetsの許容値 すべてのGPUオペレータ・デーモン・セットの許容範囲。JSONテキストまたはBase64でエンコードされたJSON配列。 オプション null
daemonsets.rollingUpdate.maxUnavailable DaemonSets Max使用不可 GPUオペレータDaemonSetsでのローリング更新に使用できないポッドの最大数。 オプション 1
dcgm.enabled DCGMを有効化 NVIDIA DCGM Hostengineを別のポッドとして有効にします。 オプション false
dcgm.args DCGM引数 DCGM Hostengineの引数。JSONプレーン・テキストまたはBase64でエンコードされたJSON配列。 オプション null
dcgm.env DCGM環境 DCGM Hostengineの環境変数。JSONプレーン・テキストまたはBase64でエンコードされたJSON。 オプション null
dcgm.containerResources DCGMリソース DCGM Hostengineポッドのリソース・リクエストおよび制限。JSONプレーン・テキストまたはBase64でエンコードされたJSON。 オプション null
dcgmExporter.enabled DCGMエクスポーターの有効化 メトリックのDCGMエクスポータ・デーモンセットを有効にします。 オプション true
dcgmExporter.env DCGM輸出業者環境 DCGMエクスポータの環境変数。JSONプレーン・テキストまたはBase64でエンコードされたJSON。 オプション null
dcgmExporter.resources DCGMエクスポータ・リソース DCGMエクスポータ・ポッドのリソース・リクエストおよび制限。JSONプレーン・テキストまたはBase64でエンコードされたJSON。 オプション null
dcgmExporter.service.internalTrafficPolicy エクスポータ・サービス・トラフィック・ポリシー DCGMエクスポータClusterIPサービスのInternalTrafficPolicy。 オプション Cluster
dcgmExporter.serviceMonitor.enabled ServiceMonitorの有効化 NVIDIA DCGM ExporterのServiceMonitorを有効にします。 オプション false
dcgmExporter.serviceMonitor.interval ServiceMonitorの間隔 NVIDIA DCGM Exporterのスクレイプ間隔。ywdhmsおよびmsをサポートします。 オプション 15s
dcgmExporter.serviceMonitor.honorLabels ServiceMonitor表彰ラベル 衝突のターゲット・メトリック・ラベルを優先します。 オプション false
dcgmExporter.serviceMonitor.additionalLabels ServiceMonitor追加ラベル ServiceMonitorの追加ラベル。JSONプレーン・テキストまたはBase64でエンコードされたJSONマップ。 オプション null
dcgmExporter.serviceMonitor.relabelings ServiceMonitorのラベル変更 ServiceMonitorのルールのラベル変更。JSONプレーン・テキストまたはBase64でエンコードされたJSON。 オプション null
dcgmExporter.config.name エクスポータConfigMap名 DCGMエクスポータのカスタム・メトリック構成を提供するConfigMapの名前。 オプション null
migManager.enabled MIGマネージャの有効化 NVIDIA MIG Managerのデプロイメントを有効にします。 オプション false
migManager.resources MIGマネージャ・リソース 各MIGマネージャ・ポッドのリソース・リクエストおよび制限。JSONプレーン・テキストまたはBase64でエンコードされたJSON。 オプション null
migManager.env MIGマネージャ環境 MIGマネージャの環境変数。JSONプレーン・テキストまたはBase64でエンコードされたJSON。 オプション null
migManager.config.name MIG ConfigMap名 MIGマネージャのmig-parted構成を使用したConfigMap名。 オプション null
migManager.gpuClientsConfig.name MIG GPUクライアント構成 MIGマネージャのgpu-clients構成を使用したConfigMap名。 オプション null
devicePlugin.enabled デバイス・プラグインを有効化 NVIDIA Kubernetesデバイス・プラグインを有効にします。 オプション true
devicePlugin.args デバイスプラグインの引数 デバイスプラグインの引数。JSONプレーン・テキストまたはBase64でエンコードされたJSON配列。 オプション null
devicePlugin.env デバイスプラグイン環境 デバイスプラグインの環境変数。JSONプレーン・テキストまたはBase64でエンコードされたJSON。 オプション null
devicePlugin.resources デバイスプラグインリソース 各デバイス・プラグイン・ポッドのリソース・リクエストおよび制限。JSONプレーン・テキストまたはBase64でエンコードされたJSON。 オプション null
devicePlugin.config.name デバイス・プラグインConfigMap名 デバイス・プラグイン構成を提供するConfigMap名。適用可能な場合はGFDと共有されます。 オプション null
devicePlugin.mps.root MPSルート ホスト上のMPSルート・パス。 オプション /run/nvidia/mps
toolkit.enabled Toolkitの有効化 NVIDIA Container Toolkitのデプロイメントを有効にします。 オプション true
toolkit.env Toolkit環境 Container Toolkitの環境変数。JSONプレーン・テキストまたはBase64でエンコードされたJSON。 オプション null
toolkit.resources Toolkitリソース Container Toolkitポッドごとのリソース・リクエストおよび制限。JSONプレーン・テキストまたはBase64でエンコードされたJSON。 オプション null
toolkit.installDir Toolkitインストール・ディレクトリ Container Toolkitユーティリティのディレクトリをホストにインストールします。 オプション /usr/local/nvidia
mig.strategy MIG戦略 GFDおよびデバイス・プラグインのMIG戦略。有効な値は、nonesingleおよびmixedです。 オプション single
operator.logging.level オペレータログレベル Zapロギング・レベル: カスタム冗長性の場合、debuginfoerrorまたは0より大きい整数。 オプション info
operator.resources オペレータ・リソース GPUオペレータ・ポッドのリソース・リクエストおよび制限。JSONプレーン・テキストまたはBase64でエンコードされたJSON。 オプション null
hostPaths.rootFS ホストRootFS ホストルートファイルシステムパス。パスはchroot-ableである必要があります。 オプション /
hostPaths.driverInstallDir ドライバのインストールディレクトリ ホスト上のNVIDIAドライバ・ファイルのルート・ディレクトリ。 オプション /run/nvidia/driver
driver.rdma.enabled ドライバでのRDMAの有効化 NVIDIAドライバのRDMAサポートを有効にします。 オプション false
driver.rdma.useHostMofed ホストの使用MOFED コンテナ提供のMellanox OFEDではなく、ホスト提供のMellanox OFEDを使用します。 オプション false
大規模なクラスタに関する考慮事項

次の表に、大規模クラスタでこのクラスタ・アドオンを構成する際の考慮事項を示します。

引数名 ロールWRTノード数 説明 クラスタ・サイズが増加するにつれて リスク 推奨事項
devicePlugin.* あり

GPUをKubernetesに公開するNVIDIAデバイス・プラグインを制御します。

デバイス・プラグインは、すべてのGPUノードで実行され、次のことを担当します。

  • nvidia.com/gpu リソースの通知
  • GPUスケジューリングの有効化

この構成は、スケジューラの決定とGPUワークロードの配置に直接影響します。

この引数が正しく構成されていない場合は、次のようにします。

  • GPUがKubernetesに表示されない場合があります。
  • GPUをリクエストしているポッドは、 Pending 状態のままになる場合があります。
  • GPUの可用性がノード間で一貫していない可能性があります。
  • スケジューリングの失敗は大規模に発生する可能性があります。
  • devicePlugin.enabled true に設定します。
  • devicePlugin.resources を使用して、十分なリソースを割り当てます。
  • すべてのGPUノードで一貫性のある構成を使用します。
toolkit.* あり

コンテナ内のGPUアクセスを提供するNVIDIA Container Toolkitを制御します。

ツールキットはすべてのGPUノード上で実行され、GPUワークロードがコンテナ内のGPUにアクセスするために必要です。

この引数が正しく構成されていない場合、ポッドは正常にスケジュールされる可能性がありますが、次のようになります。

  • GPUワークロードの起動に失敗する可能性があります。
  • コンテナがGPUにアクセスできない場合があります。
  • 実行時の障害は診断が困難になる可能性があります。
  • toolkit.enabled true に設定します。
  • ツールキットがコンテナランタイムと互換性があることを確認します。
  • toolkit.resources を使用して、十分なリソースを割り当てます。
daemonsets.tolerations あり

GPUオペレータ コンポーネントをGPUノードで実行できるかどうかを制御します。

GPUノードはしばしば汚染されます。すべてのGPUオペレータDaemonSetsは、それらのtaintがGPUノードで実行されることを許容する必要があります。

必要な許容範囲がない場合:

  • GPUオペレータ・コンポーネントはGPUノードで実行できません。
  • GPUがクラスタ全体で使用できなくなる可能性があります。
  • GPUノードに適用されたテイントと一致する許容値を設定します。
  • すべてのGPUノード・プールの許容範囲を検証します。
daemonsets.rollingUpdate.maxUnavailable あり

同時に更新されるノードの数を制御します。

この値は、更新中に一時的に使用できないGPUノードの数に影響を与えます。

大規模なクラスタでは、更新が多くのノードに影響を与える可能性があります。

値が大きすぎる場合:

  • GPUノードが多すぎると同時に利用できなくなる可能性があります。
  • GPUワークロードが中断される場合があります。

値が小さすぎると、数千のノードにわたって更新をロールアウトするのに時間がかかる場合があります。

過度に攻撃的ではないバランスのとれた値を使用してください。クラスタ・サイズおよびワークロードで許容できる中断量に基づいて値を設定します。

operator.resources あり

GPUオペレータコントローラのCPUおよびメモリーリソースを定義します。

オペレータは、次のようなコンポーネントを管理します。

  • デバイスプラグイン
  • NVIDIA Container Toolkit
  • マルチインスタンスGPU
  • NVIDIAデータ・センターGPUマネージャ

ノード数が増加すると、オペレータはより多くのオブジェクトを管理し、より多くのリソースを必要とします。

リソースのサイズが小さい場合:

  • 和解は遅いかもしれません。
  • オペレータが不安定になる可能性があります。
  • 構成の変更およびコンポーネントのロールアウトが遅延する可能性があります。
  • 大規模なクラスタのCPUおよびメモリー・リソースを増やします。
  • オペレータのログとメモリー使用量を監視します。
cdi.enabled あり

コンテナ・デバイス・インタフェースを有効にします。

  • GPUをコンテナに簡単に注入できます。
  • ノード間での実行時の一貫性が向上します。

コンテナ・デバイス・インタフェースが無効になっている場合、古いランタイム統合は次のようになります。

  • 不整合の原因となります。
  • トラブルシューティングをより複雑にします。
  • cdi.enabled true に設定します。
  • 特定の要件がないかぎり、デフォルト設定を使用します。
mig.strategy あり

マルチインスタンスGPUパーティション化を制御します。

マルチインスタンスGPUパーティション化を使用すると、ワークロードでGPUを共有し、スケジューラの動作に影響を及ぼすことができます。

この引数が正しく構成されていない場合は、次のようにします。

  • GPUリソースが断片化する可能性があります。
  • ポッドが一致するGPUパーティションを検出できない可能性があります。
  • ノード間で動作が一貫していない可能性があります。
  • クラスタ全体で、一貫したマルチインスタンスGPU戦略を使用できます。
  • 必要な場合を除き、構成を混在させないでください。
dcgmExporter.* あり

GPUメトリック収集を制御します。

輸出業者は各ノードのGPUメトリックを生成し、GPUノード数が増加するとPrometheusの負荷とネットワーク・トラフィックが増加します。

この引数が正しく構成されていない場合は、次のようにします。

  • メトリックをスクレイピングしすぎると、オーバーヘッドが大きくなる可能性があります。
  • メトリックのスクレイピングが頻繁に行われないと、可視性が不十分になる場合があります。
  • serviceMonitor.interval を調整します。
  • dcgmExporter.resources を使用して、十分なリソースを割り当てます。
dcgm.* あり

NVIDIA Data Center GPU Managerホスト・エンジンを制御します。

オプション・コンポーネントは、クラスタ全体のGPUヘルスを追跡します。

  • コンポーネントが無効になっている場合、GPUのヘルスに対する可視性は制限されます。
  • コンポーネントがリソース不足で有効になっている場合は、不安定になる可能性があります。
  • コンポーネントは、必要な場合にのみ有効にします。
  • 十分なリソースを割り当てます。
skipNodeFeatureDiscoveryDependencyCheck なし

ノード機能検出の依存性チェックを制御します。

依存性チェックは、ノード・ラベリングおよびGPU検出に影響します。

ノード機能検出がない場合:

  • GPUノードにラベルが付けられていない可能性があります。
  • オペレータがGPUノードの検出に失敗する可能性があります。
  • この引数は、ノード機能検出がすでにインストールされている場合にのみ使用します。
  • 必要なノード・ラベルが存在し、正しいことを確認してください。
disableNvidiaGpuPlugin あり

スタンドアロンのNVIDIA GPUデバイスプラグインを無効にします。

スタンドアロン・プラグインを無効にすると、重複するGPUデバイス・プラグインがクラスタ内で実行されなくなります。

この引数が正しく構成されていない場合:

  • 複数のGPUデバイス・プラグインが実行される場合があります。
  • プラグインが競合する可能性があります。
  • GPUリソースが正しく報告されない可能性があります。

NVIDIA GPU Operatorを使用する場合は、スタンドアロンのNVIDIA GPUデバイスプラグインを無効にします。