GKE での GPU のトラブルシューティング


このページでは、Google Kubernetes Engine(GKE)の GPU に関連する問題を解決する方法について説明します。

さらにサポートが必要な場合は、Cloud カスタマーケアにお問い合わせください。

GPU ドライバのインストール

このセクションでは、GKE での NVIDIA デバイス ドライバの自動インストールに関するトラブルシューティング情報を提供します。

Ubuntu ノードでドライバのインストールが失敗する

L4 GPU または H100 GPU がアタッチされた Ubuntu ノードを使用する場合、GKE がインストールするデフォルトの GPU ドライバが、これらの GPU に必要なバージョン以上ではない可能性があります。その結果、GPU デバイス プラグイン Pod が保留中のままになり、これらのノード上の GPU ワークロードで問題が発生する可能性があります。

この問題を解決するには、次のコマンドを実行して、ドライバ バージョン 500 以降を手動でインストールします。

kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/container-engine-accelerators/master/nvidia-driver-installer/ubuntu/daemonset-preloaded-R535.yaml

GPU デバイス プラグインが CrashLoopBackOff エラーで失敗する

2023 年 1 月 25 日より前にノードプールでドライバの手動インストール方法を使用した場合、その後、ドライバの自動インストールをサポートする GKE バージョンにノードプールをアップグレードすると、次の問題が発生します。両方のインストール ワークロードが同時に存在し、競合するドライバ バージョンをノードにインストールしようとします。

GPU デバイス プラグイン init コンテナが Init:CrashLoopBackOff ステータスで失敗します。コンテナのログは次のようになります。

failed to verify installation: failed to verify GPU driver installation: exit status 18

この問題を解決するには、次の方法を試してください。

  • 手動ドライバ インストール DaemonSet をクラスタから削除します。これにより、競合するインストール ワークロードが削除され、GKE がノードにドライバを自動的にインストールできるようになります。

    kubectl delete -f https://raw.githubusercontent.com/GoogleCloudPlatform/container-engine-accelerators/master/nvidia-driver-installer/cos/daemonset-preloaded.yaml
    
  • 手動ドライバ インストール DaemonSet マニフェストをクラスタに再適用します。2023 年 1 月 25 日に、自動ドライバのインストールを使用するノードを無視するようにマニフェストを更新しました。

    kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/container-engine-accelerators/master/nvidia-driver-installer/cos/daemonset-preloaded.yaml
    
  • ノードプールの自動ドライバのインストールを無効にします。更新オペレーションが完了すると、既存のドライバ インストール DaemonSet が正常に動作するようになります。

    gcloud container node-pools update POOL_NAME \
        --accelerator=type=GPU_TYPE,count=GPU_COUNT,gpu-driver-version=disabled \
        --cluster=CLUSTER_NAME \
        --location=LOCATION
    

    次のように置き換えます。

    • POOL_NAME: ノードプールの名前。
    • GPU_TYPE: ノードプールですでに使用されている GPU タイプ。
    • GPU_COUNT: ノードプールにすでに接続されている GPU の数。
    • CLUSTER_NAME: ノードプールを含む GKE クラスタの名前。
    • LOCATION: クラスタの Compute Engine のロケーション。

次のステップ

さらにサポートが必要な場合は、Cloud カスタマーケアにお問い合わせください。