このページでは、Google Virtual NIC(gVNIC)を使用して Google Kubernetes Engine(GKE)クラスタの GPU ノードのネットワーク帯域幅を増やす方法について説明します。
Autopilot クラスタでは、GKE バージョン 1.30.2-gke.1023000 以降を実行するノードに Google Virtual NIC(gVNIC)が自動的にインストールされます。このページの手順は Standard クラスタにのみ適用されます。
始める前に
始める前に、次の作業が完了していることを確認してください。
- 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 アクセラレータのタイプ。例: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 のトラブルシューティングをご覧ください。
次のステップ
- ネットワーク ポリシー ロギングを使用して、クラスタのネットワーク ポリシーによって Pod への接続が許可または拒否される時間を記録する。