提高 GPU 节点的网络流量速度


本页面介绍如何使用 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 以获取最新版本。

限制

使用要求

  • 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 问题

后续步骤