NVIDIA GPUプラグイン
NVIDIA GPUプラグイン・クラスタ・アドオンを有効にすると、次のキー/値のペアを引数として渡すことができます。
NVIDIA GPUワーカー・ノードで実行されているワークロードが予期せず中断されないようにするために、Oracleでアドオンを自動的に更新するように指定するのではなく、デプロイするNVIDIA GPUプラグイン・アドオンのバージョンを選択することをお薦めします。
| キー(APIおよびCLI) | キーの表示名(コンソール) | 説明 | 必須/オプション | デフォルト値 | 値の例 |
|---|---|---|---|---|---|
affinity |
affinity |
アフィニティ・スケジューリング・ルールのグループ。 プレーン・テキストまたはエンコードされたBase64のJSON形式。 |
オプション | null | null |
nodeSelectors |
ノード・セレクター |
ノード・セレクタおよびノード・ラベルを使用して、アドオン・ポッドが実行されるワーカー・ノードを制御できます。 ポッドをノードで実行するには、ポッドのノード・セレクタのキー/値がノードのラベルと同じである必要があります。
プレーン・テキストまたはエンコードされたBase64のJSON形式。 |
オプション | null | {"foo":"bar", "foo2": "bar2"}ポッドは、 |
numOfReplicas |
numOfReplicas | アドオン配備の複製の数。 (CoreDNSの場合は、かわりに |
必須 | 1クラスタごとにアドオン・デプロイメントのレプリカを1つ作成します。 |
2クラスタごとにアドオン・デプロイメントの2つのレプリカを作成します。 |
rollingUpdate |
rollingUpdate |
maxSurgeおよびmaxUnavailableによるローリング更新の望ましい動作を制御します。 プレーン・テキストまたはエンコードされたBase64のJSON形式。 |
オプション | null | null |
tolerations |
許容範囲 |
テイントおよび許容範囲を使用して、アドオン・ポッドが実行されるワーカー・ノードを制御できます。 taintがあるノード上でポッドを実行するには、ポッドに対応する許容範囲が必要です。
プレーン・テキストまたはエンコードされたBase64のJSON形式。 |
オプション | null | [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}]この許容範囲を持つポッドのみが、 |
topologySpreadConstraints |
topologySpreadConstraints |
指定されたトポロジ間で一致するポッドを分散する方法。 プレーン・テキストまたはエンコードされたBase64のJSON形式。 |
オプション | null | null |
| キー(APIおよびCLI) | キーの表示名(コンソール) | 説明 | 必須/オプション | デフォルト値 | 値の例 |
|---|---|---|---|---|---|
deviceIdStrategy
|
デバイスID戦略 |
基礎となるランタイムにデバイスIDを渡すために使用する戦略。 次のいずれかです。
|
オプション |
uuid
|
|
deviceListStrategy
|
デバイス・リスト戦略 |
基礎となるランタイムにデバイス・リストを渡すために使用する戦略。 サポートされる値:
カンマ区切りリストでは複数の値がサポートされています。 |
オプション |
envvar
|
|
driverRoot
|
ドライバ・ルート | NVIDIAドライバインストールのルートパス。 | オプション |
/
|
|
failOnInitError
|
FailOnInitError |
初期化中にエラーが発生した場合にプラグインを失敗させるかどうか。
|
オプション |
true
|
|
migStrategy
|
MIG戦略 |
MIG (マルチインスタンスGPU)デバイスをサポートしているGPUに公開する際に使用する戦略。 次のいずれかです。
|
オプション |
none
|
|
nvidia-gpu-device-plugin.ContainerResources
|
nvidia-gpu-device-pluginコンテナリソース |
アドオン・コンテナが要求するリソース数量を指定し、アドオン・コンテナが超過できないリソース使用量制限を設定できます。 プレーン・テキストまたはエンコードされたBase64のJSON形式。 |
オプション | null |
{"limits": {"cpu": "500m", "memory": "200Mi" }, "requests": {"cpu": "100m", "memory": "100Mi"}}
100ミリコアのCPUと100メビバイトのメモリーをリクエストするアドオン・コンテナを作成します。アドオンコンテナを500MバイトのCPUおよび200Mバイトのメモリーに制限します。 |
passDeviceSpecs
|
デバイス仕様を渡す | コンテナに割り当てられているNVIDIAデバイスのパスおよび目的のデバイス・ノード権限を渡すかどうか。 | オプション |
false
|
|
useConfigFile
|
ConfigMapの構成ファイルの使用 |
構成ファイルを使用してKubernetes用のNvidiaデバイス・プラグインを構成するかどうか。構成ファイルは、ConfigMapから導出されます。
ConfigMapは、 |
オプション |
false
|
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