すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:ノードプールを使用して既存ノードの NVIDIA ドライバーを更新する

最終更新日:Nov 20, 2025

Compute Unified Device Architecture (CUDA) ライブラリで新しい NVIDIA ドライバーが必要な場合は、ノード上のドライバーをアップグレードする必要があります。ノードプールを使用すると、クラスター全体のさまざまなドライバーバージョンをバッチで管理できます。このトピックでは、ノードプールを使用して既存ノードの NVIDIA ドライバーをアップグレードする方法について説明します。

制限事項

NVIDIA ドライバーをアップグレードするには、ノードを元のノードプールから削除し、新しいノードプールに追加する必要があります。既存のノードプールには変更したくない他のノードが含まれている可能性があるため、そのノードプール内の特定のノードの NVIDIA ドライバーをアップグレードすることはできません。

重要

このプロセス中に、ノードのオペレーティングシステムと指定された NVIDIA ドライバーが再インストールされます。続行する前に、ノードでワークロードが実行されておらず、重要なデータが含まれていないことを確認してください。リスクを最小限に抑えるために、まず単一のノードをアップグレードしてプロセスを確認してから、バッチでアップグレードしてください。

使用上の注意

  • ACK は、NVIDIA ドライバーバージョンと CUDA ツールキットバージョンの間の互換性を保証しません。お客様自身でそれらの互換性を確認する必要があります。

  • さまざまな NVIDIA GPU モデルの詳細なドライバーバージョン要件については、「NVIDIA 公式ドキュメント」をご参照ください。

  • GPU ドライバーや NVIDIA Container Runtime など、GPU コンポーネントがすでにインストールされているカスタムオペレーティングシステムイメージの場合、ACK はプリインストール済みのドライバーがモニタリングコンポーネントなどの他の ACK GPU コンポーネントと互換性があることを保証できません。

  • このメソッドは、新しいノードまたはスケールアウトされたノードにのみカスタムドライバーを適用します。インストールはノードの追加時にトリガーされ、既存のノードには影響しません。既存のノードに新しいドライバーを適用するには、まず「ノードを削除」し、次に「クラスターに再度追加」する必要があります。

  • インスタンスタイプ gn7 および ebmgn7 の場合、ドライバーバージョン 510.xxx および 515.xxx には互換性の問題があります。GSP を無効にした 510 より前のドライバーバージョン (例: 470.xxx.xxxx) 、またはドライバーバージョン 525.125.06 以降を使用することをお勧めします。

  • ebmgn7 または ebmgn7e インスタンスタイプの Elastic Compute Service (ECS) インスタンスは、NVIDIA ドライバーバージョン 460.32.03 以降のみをサポートします。

  • ノードプールの作成中に、指定されたドライバーバージョンが「ACK がサポートする NVIDIA ドライバーバージョン」にリストされていない場合、ACK は自動的にデフォルトのドライバーバージョンをインストールします。最新の OS と互換性のないドライバーバージョンを指定すると、ノードの追加に失敗する可能性があります。このような場合は、常にサポートされている最新のドライバーバージョンを選択してください。

  • OSS バケットにアップロードした NVIDIA ドライバーを使用する場合、NVIDIA ドライバーが OS、Elastic Compute Service (ECS) インスタンスタイプ、またはコンテナーランタイムと互換性がない可能性があります。その結果、NVIDIA ドライバーがインストールされた GPU アクセラレーションノードの追加に失敗します。ACK は、すべてのノードがクラスターに正常に追加できることを保証しません。

ユースケース

  • ノードプール A を使用してアップグレードされた NVIDIA ドライバーを持つノードを管理する場合、ワークロードの nodeselector をノードプール A のラベルに設定することで、これらのノードにワークロードをスケジュールできます。

  • クラスター内の一部のノードの NVIDIA ドライバーをバージョン 550.144.03 に、他のノードを 535.161.07 にアップグレードする必要がある場合、一方のノードグループをノードプール A に、もう一方のグループをノードプール B に追加できます。

ステップ 1: NVIDIA ドライバーバージョンを決定する

NVIDIA ドライバーバージョンを選択する前に、使用している CUDA ライブラリと互換性のある NVIDIA ドライバーバージョンを決定する必要があります。「CUDA Toolkit Release Notes」を参照して、CUDA ライブラリと NVIDIA ドライバーの互換性を確認し、適切な NVIDIA ドライバーバージョンを選択できます。

ステップ 2: ノードを削除する

  1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. クラスター ページで、変更したいクラスターの名前をクリックします。左側のナビゲーションウィンドウで、[ノード] > [ノード] を選択します。

  3. アップグレードするノードを選択し、[一括削除] をクリックします。[ノードの削除] ダイアログボックスで、[ノードのドレイン] を選択し、[OK] をクリックします。

ステップ 3: ノードプールを作成し、ドライバーバージョンを指定する

バージョンリストからドライバーを選択してノードプールを作成する

説明
  • ACK でサポートされている NVIDIA ドライバーバージョン」から、ビジネスニーズに合った NVIDIA ドライバーバージョンを選択します。このトピックでは、ドライバーバージョン 550.144.03 を例として使用します。

  • このメソッドは、ドライバーをインストールする簡単な方法を提供します。ノードプール内のノードに ack.aliyun.com/nvidia-driver-version=<driver_version> ラベルを追加し、次に「ステップ 2」でクラスターから削除したノードをこのノードプールに追加します。

  1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. クラスター ページで、管理するクラスターを見つけてその名前をクリックします。左側のナビゲーションウィンドウで、[ノード] > [ノードプール] を選択します。

  3. 左上隅にある [ノードプールの作成] をクリックします。設定パラメーターの詳細については、「ノードプールの作成と管理」をご参照ください。主要なパラメーターを次のように設定します:

    [詳細オプション] の下の [ノードラベル] セクションで、ラベルを追加します。1 アイコンをクリックします。[キー] フィールドに ack.aliyun.com/nvidia-driver-version を入力します。[値] フィールドに 550.144.03 を入力します。

カスタムドライバーバージョンでノードプールを作成する

このセクションでは、ドライバーバージョン 515.86.01 を例として使用します。

パート 1: カスタムドライバーの準備

  1. 必要なドライバーバージョンが「ACK でサポートされている NVIDIA ドライバーバージョン」で利用できない場合は、ターゲットのドライバーバージョンを「NVIDIA 公式ウェブサイト」からダウンロードします。

  2. 公式の「NVIDIA YUM」リポジトリから NVIDIA Fabric Manager をダウンロードします。NVIDIA Fabric Manager のバージョンは、ドライバーのバージョンと一致している必要があります。

    wget https://developer.download.nvidia.cn/compute/cuda/repos/rhel7/x86_64/nvidia-fabric-manager-515.86.01-1.x86_64.rpm
  3. Object Storage Service (OSS) コンソールにログインし、OSS バケットを作成します。詳細な手順については、「バケットの作成」をご参照ください。

    OSS バケットは、ターゲット ACK クラスターと同じリージョンに配置することをお勧めします。これにより、ACK ノードは GPU ドライバーのインストール時に内部ネットワーク経由で OSS バケットからドライバーをプルできます。

  4. NVIDIA-Linux-x86_64-515.86.01.run ファイルと nvidia-fabric-manager-515.86.01-1.x86_64.rpm ファイルをターゲットバケットのルートディレクトリに「アップロード」します。

  5. ターゲットバケットのページで、左側のナビゲーションウィンドウにある [ファイル] > [ファイル] をクリックします。ファイルリストでアップロードしたファイルを見つけ、[アクション] 列の [詳細の表示] をクリックします。

  6. [詳細の表示] パネルで、[HTTPS] スイッチをオフにして HTTPS 設定を無効にします。

  7. ターゲットバケットの詳細ページで、左側のナビゲーションウィンドウにある [概要] をクリックします。ページの下部で、内部エンドポイントを取得します。

パート 2: カスタムドライバーでノードプールを作成する

  1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. クラスター ページで、管理するクラスターを見つけてその名前をクリックします。左側のナビゲーションウィンドウで、[ノード] > [ノードプール] を選択します。

  3. 左上隅にある [ノードプールの作成] をクリックします。設定項目の詳細については、「ノードプールの作成と管理」をご参照ください。

    [ノードラベル] セクションで、1 アイコンをクリックします。

    キー

    ack.aliyun.com/nvidia-driver-oss-endpoint

    ステップ 1.7」で取得した OSS バケットの内部エンドポイント。

    例: my-nvidia-driver.oss-cn-beijing-internal.aliyuncs.com

    ack.aliyun.com/nvidia-driver-runfile

    ステップ 1.1」でダウンロードした NVIDIA ドライバーファイルの名前。

    例: NVIDIA-Linux-x86_64-515.86.01.run

    ack.aliyun.com/nvidia-fabricmanager-rpm

    ステップ 1.2」でダウンロードした NVIDIA Fabric Manager ファイルの名前。

    例: nvidia-fabric-manager-515.86.01-1.x86_64.rpm

ステップ 4: ノードをノードプールに追加する

ノードプールが作成された後、「ステップ 2」で削除したノードをこの新しいノードプールに「追加」します。

ステップ 5: アップグレードを検証する

  1. 次のコマンドを実行して、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
    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>

    出力は、クラスターに新しく追加されたノードに対応する Pod が nvidia-device-plugin-cn-beijing.192.168.1.128 であることを示しています。

  2. 次のコマンドを実行して、ノードのドライバーバージョンを検証します:

    kubectl exec -ti nvidia-device-plugin-cn-beijing.192.168.1.128 -n kube-system -- nvidia-smi 

    期待される出力:

    Mon Mar 24 08:51:55 2025       
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI xxx.xxx.xx   Driver Version: xxx.xxx.xx   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                                                 |
    +-----------------------------------------------------------------------------+

    出力の Driver Version がターゲットと一致する場合、アップグレードは成功です。

リファレンス

ノードにカスタム NVIDIA ドライバーバージョンを指定する