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


本页面介绍如何使用 Google 虚拟 NIC (gVNIC) 增加 Google Kubernetes Engine (GKE) 集群上 GPU 节点的网络带宽。

在 Autopilot 集群中,运行 GKE 1.30.2-gke.1023000 及更高版本的节点会自动安装 Google 虚拟 NIC (gVNIC)。本页面中的说明仅适用于 Standard 集群。

准备工作

在开始之前,请确保您已执行以下任务:

  • 启用 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 虚拟 NIC 问题

后续步骤