本页面介绍如何使用 Google 虚拟 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 节点上的带宽,请考虑启用层级 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-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 虚拟 NIC 问题。