デフォルトでは、Container Service for Kubernetes (ACK) クラスターにインストールされる NVIDIA ドライバーのバージョンは、クラスターのタイプとバージョンによって異なります。Compute Unified Device Architecture (CUDA) ツールキットが新しいバージョンの NVIDIA ドライバーとの互換性を必要とする場合、GPU ノードへの NVIDIA ドライバーのインストールをカスタマイズできます。このトピックでは、ラベルを追加してノードプール内の GPU 高速化ノードの NVIDIA ドライバーバージョンを指定する方法について説明します。
注意事項
ACK は、NVIDIA ドライバーバージョンと CUDA ツールキットバージョンの互換性を保証しません。お客様自身で互換性を確認する必要があります。
さまざまな NVIDIA モデルで必要とされる NVIDIA ドライバーバージョンの詳細については、「NVIDIA 公式ドキュメント」をご参照ください。
NVIDIA ドライバーと NVIDIA Container Runtime などの GPU コンポーネントがインストールされているカスタム OS イメージの場合、ACK は NVIDIA ドライバーとモニタリングコンポーネントなどの他の GPU コンポーネントとの互換性を保証しません。
ラベルをノードプールに追加して GPU 高速化ノードの NVIDIA ドライバーバージョンを指定すると、ノードが追加されたときにドライバーのインストールプロセスがトリガーされます。したがって、これは新しくスケールされたノードまたは新しく追加されたノードにのみ適用され、既存のノードは影響を受けません。既存のノードに新しいドライバーを適用するには、ノードを削除し、再度既存のノードを追加する必要があります。
gn7 および ebmgn7 インスタンスタイプは、NVIDIA ドライバーバージョン 510.xxx および 515.xxx と互換性がありません。これらのインスタンスタイプでは、470.xxx.xxxx のように 510.xxx より前のバージョンで GPU System Processor (GSP) が無効になっているドライバー、または 525.125.06 以降のバージョンを使用することをお勧めします。
Elastic Compute Service (ECS) インスタンスタイプの ebmgn7 または ebmgn7e は、460.32.03 より後の NVIDIA ドライバーバージョンのみをサポートします。
ノードプールの作成中に、指定されたドライバーバージョンが「ACK がサポートする NVIDIA ドライバーバージョン」にリストされていない場合、ACK は自動的にデフォルトのドライバーバージョンをインストールします。最新の OS と互換性のないドライバーバージョンを指定すると、ノードの追加に失敗する可能性があります。このような場合は、常にサポートされている最新のドライバーバージョンを選択してください。
ステップ 1: NVIDIA ドライバーバージョンを決定する
アプリケーションと互換性のある NVIDIA ドライバーバージョンを ACK でサポートされている NVIDIA ドライバーバージョン リストから選択します。この例では、NVIDIA ドライバーのバージョンは 550.144.03 です。
ステップ 2: ノードプールを作成し、ドライバーバージョンを指定する
ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
クラスター ページで、管理するクラスターを見つけてその名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
左上隅にある [ノードプールを作成] をクリックします。パラメーターの詳細については、「ノードプールの作成と管理」をご参照ください。次のセクションにパラメーターが表示されます。
[ノードラベル] セクションで、
アイコンをクリックします。[キー] を ack.aliyun.com/nvidia-driver-versionに設定し、[値] を550.144.03に設定します。
ステップ 3: 指定した NVIDIA ドライバーバージョンがインストールされているか確認する
次のコマンドを実行して、
component: nvidia-device-pluginラベルを持つ Pod をクエリします。kubectl get po -n kube-system -l component=nvidia-device-plugin -o wide予想される出力:
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES ack-nvidia-device-plugin-fnctc 1/1 Running 0 2m33s 10.117.227.43 cn-qingdao.10.117.XXX.XX <none> <none>出力は、新しく追加されたノードで実行されている Pod の名前が
ack-nvidia-device-plugin-fnctcであることを示しています。次のコマンドを実行して、ノードの NVIDIA ドライバーバージョンをクエリします。
kubectl exec -ti ack-nvidia-device-plugin-fnctc -n kube-system -- nvidia-smi予想される出力:
Mon Mar 24 08:51:55 2025 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 550.144.03 Driver Version: 550.144.03 CUDA Version: 12.6 | |-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 Tesla P4 On | 00000000:00:07.0 Off | 0 | | N/A 33C P8 7W / 75W | 0MiB / 7680MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | No running processes found | +-----------------------------------------------------------------------------------------+出力は、NVIDIA ドライバーのバージョンが 550.144.03 であることを示しています。これは、NVIDIA ドライバーが指定されたバージョンで正常にインストールされたことを示します。
その他の方法
CreateClusterNodePool を使用してノードプールを作成する場合、ノードプールの構成にラベルを追加して NVIDIA ドライバーバージョンを指定できます。次のサンプルコードに例を示します。
{
// Other fields are not shown.
......
"tags": [
{
"key": "ack.aliyun.com/nvidia-driver-version",
"value": "550.144.03"
}
],
// Other fields are not shown.
......
}