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


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

始める前に

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

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

制限事項

  • Compute Engine の制限事項が適用されます。
  • gVNIC API は GPU ノードでのみサポートされています。非 GPU ノードの帯域幅を増やすには、Tier-1 帯域幅の有効化を検討してください。

要件

  • 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 タイプ。次のいずれか 1 つを指定できます。
    • nvidia-tesla-k80
    • nvidia-tesla-p100
    • nvidia-tesla-p4
    • nvidia-tesla-v100
    • nvidia-tesla-t4
    • nvidia-tesla-a100
    • nvidia-a100-80gb
    • nvidia-l4
  • 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 のトラブルシューティングをご覧ください。

次のステップ