GPU ノードのネットワーク トラフィック速度を向上させる


このページでは、Google Virtual NIC(gVNIC)を使用して Google Kubernetes Engine(GKE)クラスタの GPU ノードのネットワーク帯域幅を増やす方法について説明します。

Autopilot クラスタでは、GKE バージョン 1.30.2-gke.1023000 以降を実行するノードに Google Virtual NIC(gVNIC)が自動的にインストールされます。このページの手順は Standard クラスタにのみ適用されます。

CPU ノードの帯域幅を増やすには、Tier-1 帯域幅の有効化を検討してください。

始める前に

作業を始める前に、次のことを確認してください。

  • Google Kubernetes Engine API を有効にする。
  • Google Kubernetes Engine API の有効化
  • このタスクに Google Cloud CLI を使用する場合は、gcloud CLI をインストールして初期化する。すでに gcloud CLI をインストールしている場合は、gcloud components update を実行して最新のバージョンを取得する。

制限事項

要件

  • GKE ノードでは Container-Optimized OS ノードイメージを使用する必要があります。

gVNIC を有効にする

gVNIC を使用するノードプールのあるクラスタの作成、gVNIC を有効にしたノードプールの作成、gVNIC を使用するためのノードプールの更新のいずれかを行えます。

クラスタの作成

gVNIC を使用するノードプールでクラスタを作成します。

gcloud container clusters create CLUSTER_NAME \
    --accelerator type=GPU_TYPE,count=AMOUNT \
    --machine-type=MACHINE_TYPE \
    --enable-gvnic

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

  • CLUSTER_NAME: 新しいクラスタの名前。
  • GPU_TYPE: 使用する GPU アクセラレータのタイプ。例: nvidia-tesla-t4
  • AMOUNT: ノードプール内のノードに接続する GPU の数。
  • MACHINE_TYPE: 使用するマシンのタイプ。gVNIC は、メモリ最適化マシンタイプではサポートされていません。

ノードプールの作成

gVNIC を使用するノードプールを作成します。

gcloud container node-pools create NODEPOOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-gvnic

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

  • NODEPOOL_NAME: 新しいノードプールの名前。
  • CLUSTER_NAME: 既存のクラスタの名前。

ノードプールの更新

gVNIC を使用するようにノードプールを更新します。

gcloud container node-pools update NODEPOOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-gvnic

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

  • NODEPOOL_NAME: 更新するノードプールの名前
  • CLUSTER_NAME: 既存のクラスタの名前。

この変更を行うにはノードを再作成する必要があります。これにより、実行中のワークロードが中断する可能性があります。この特定の変更について詳しくは、メンテナンス ポリシーを尊重せずにノードのアップグレード戦略を使用してノードを再作成する手動変更の表で対応する行をご覧ください。ノードの更新の詳細については、ノードの更新による中断の計画をご覧ください。

gVNIC を無効にする

--no-enable-gvnic フラグを使用してノードプールを更新します。

gcloud container node-pools update NODEPOOL_NAME \
    --cluster=CLUSTER_NAME \
    --no-enable-gvnic

この変更を行うにはノードを再作成する必要があります。これにより、実行中のワークロードが中断する可能性があります。この特定の変更について詳しくは、メンテナンス ポリシーを尊重せずにノードのアップグレード戦略を使用してノードを再作成する手動変更の表で対応する行をご覧ください。ノードの更新の詳細については、ノードの更新による中断の計画をご覧ください。

トラブルシューティング

gVNIC のトラブルシューティングについては、Google Virtual NIC のトラブルシューティングをご覧ください。

次のステップ