デフォルトでは、Container Service for Kubernetes (ACK) クラスターにインストールされているNVIDIAドライバーのバージョンは、クラスターのタイプとバージョンによって異なります。 使用するCompute Unified Device Architecture (CUDA) ツールキットでNVIDIAドライバーの更新が必要な場合は、クラスターノードにNVIDIAドライバーを手動でインストールする必要があります。 このトピックでは、ノードプールにラベルを追加することにより、ノードプール内のGPU高速化ノードのNVIDIAドライバーバージョンを指定する方法について説明します。
注意事項
ACKは、NVIDIAドライバーとCUDAツールキットの互換性を保証するものではありません。 それらの互換性を確認する必要があります。
NVIDIAドライバーとNVIDIAコンテナランタイムなどのGPUコンポーネントと共にインストールされているカスタムOSイメージの場合、ACKはNVIDIAドライバーとモニタリングコンポーネントなどの他のGPUコンポーネントとの互換性を保証しません。
ノードプールにラベルを追加して、GPU高速化ノードのNVIDIAドライバーのバージョンを指定すると、新しいノードがノードプールに追加された場合にのみ、指定されたNVIDIAドライバーがインストールされます。 ノードプール内の既存のノードにはNVIDIAドライバーがインストールされていません。 既存のノードにNVIDIAドライバーをインストールする場合は、これらのノードをノードプールから削除し、ノードプールに再追加する必要があります。 詳細については、「ノードの削除」および「既存のECSインスタンスをACKクラスターに追加」をご参照ください。
ecs.gn7.xxxxxおよびecs.ebmgn7.xxxxインスタンスタイプは、NVIDIAドライバーバージョン510.xxxおよび515.xxxと互換性がありません。 ecs.gn7.xxxxxおよびecs.ebmgn7.xxxxインスタンスタイプの場合、470.xxx. xxxx、または525.125.06以降のバージョンなど、510.xxxより前でGPUシステムプロセッサ (GSP) が無効になっているドライバーバージョンを使用することを推奨します。
P100、T4、V100、A10など、さまざまなNVIDIAモデルで必要なNVIDIAドライバーのバージョンの詳細については、「NVIDIA公式ドキュメント」をご参照ください。
ステップ1: NVIDIAドライバーのバージョンを照会する
アプリケーションと互換性のあるNVIDIAドライバーのバージョンを [ACKでサポートされているNVIDIAドライバーのバージョン] リストから選択します。 詳細については、「ノードのNVIDIAドライバーバージョンの選択」をご参照ください。
ステップ2: ノードプールを作成し、NVIDIAドライバーのバージョンを指定
この例では、NVIDIAドライバのバージョンは418.181.07です。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
右上隅の [ノードプールの作成] をクリックします。 [ノードプールの作成] ダイアログボックスで、ノードプールのパラメーターを設定します。
次の表に、主要なパラメーターを示します。 パラメーターの詳細については、「ACK管理クラスターの作成」をご参照ください。
クリック高度なオプションを表示.
[ノードラベル] セクションで、アイコンをクリックします。 Keyを
ack.aliyun.com/nvidia-driver-version
に設定し、Valueを418.181.07
に設定します。ACKでサポートされているNVIDIAドライバーのバージョンの詳細については、「ACKでサポートされているNVIDIAドライバーのバージョン」をご参照ください。
重要Elastic Compute Service (ECS) インスタンスタイプecs.ebmgn7およびecs.ebmgn7eは、460.32.03以降のNVIDIAドライバーバージョンのみをサポートしています。
パラメーターを設定したら、注文の確認.
ステップ3: 指定されたNVIDIAドライバのバージョンがインストールされているかどうかを確認する
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
ACKコンソールで、管理するクラスターを選択し、[操作] 列の
を選択します。次のコマンドを実行して、component: nvidia-device-pluginラベルを持つポッドを照会します。
kubectl get po -n kube-system -l component=nvidia-device-plugin -o wide
期待される出力:
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nvidia-device-plugin-cn-beijing.192.168.1.127 1/1 Running 0 6d 192.168.1.127 cn-beijing.192.168.1.127 <none> <none> nvidia-device-plugin-cn-beijing.192.168.1.128 1/1 Running 0 17m 192.168.1.128 cn-beijing.192.168.1.128 <none> <none> nvidia-device-plugin-cn-beijing.192.168.8.12 1/1 Running 0 9d 192.168.8.12 cn-beijing.192.168.8.12 <none> <none> nvidia-device-plugin-cn-beijing.192.168.8.13 1/1 Running 0 9d 192.168.8.13 cn-beijing.192.168.8.13 <none> <none> nvidia-device-plugin-cn-beijing.192.168.8.14 1/1 Running 0 9d 192.168.8.14 cn-beijing.192.168.8.14 <none> <none>
NODE列をチェックして、クラスターに新しく追加されたノードを見つけることができます。 ノードで実行されるポッドの名前はnvidia-device-plugin-cn-beijing.192.168.1.128です。
次のコマンドを実行して、ノードのNVIDIAドライバーバージョンを照会します。
kubectl exec -ti nvidia-device-plugin-cn-beijing.192.168.1.128 -n kube-system -- nvidia-smi
期待される出力:
Sun Feb 7 04:09:01 2021 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 418.181.07 Driver Version: 418.181.07 CUDA Version: N/A | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla V100-SXM2... On | 00000000:00:07.0 Off | 0 | | N/A 27C P0 40W / 300W | 0MiB / 16130MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 1 Tesla V100-SXM2... On | 00000000:00:08.0 Off | 0 | | N/A 27C P0 40W / 300W | 0MiB / 16130MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 2 Tesla V100-SXM2... On | 00000000:00:09.0 Off | 0 | | N/A 31C P0 39W / 300W | 0MiB / 16130MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 3 Tesla V100-SXM2... On | 00000000:00:0A.0 Off | 0 | | N/A 27C P0 41W / 300W | 0MiB / 16130MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+
出力は、NVIDIAドライバのバージョンが418.181.07であることを示しています。 これは、NVIDIAドライバが更新されたことを示します。
その他の方法
APIを呼び出してACKクラスターを作成またはスケールアウトするときに、ノードプール設定にラベルを追加して、NVIDIAドライバーのバージョンを指定できます。 サンプルコード:
{
// Other fields are not shown.
......
"tags": [
{
"key": "ack.aliyun.com/nvidia-driver-version",
"value": "418.181.07"
}
],
// Other fields are not shown.
......
}