本页面介绍如何使用 NVIDIA Collective Communication Library (NCCL) Fast Socket 插件在 Google Kubernetes Engine (GKE) 集群上运行更高效的工作负载。
Autopilot 集群不支持 NCCL Fast Socket。
准备工作
在开始之前,请确保您已执行以下任务:
- 启用 Google Kubernetes Engine API。 启用 Google Kubernetes Engine API
- 如果您要使用 Google Cloud CLI 执行此任务,请安装并初始化 gcloud CLI。 如果您之前安装了 gcloud CLI,请运行
gcloud components update
以获取最新版本。
限制
- 需遵循 Compute Engine 限制。
- 须遵循 gVNIC 限制。
- 只有启用了硬件加速器的节点池才支持 NCCL Fast Socket。
使用要求
- 您的节点池必须启用 gVNIC 才能使用 NCCL Fast Socket。
- GKE 节点必须使用 Container-Optimized OS 节点映像。
- 您的集群必须运行 GKE 1.25.2-gke.1700 或更高版本。
创建集群
创建新集群:
gcloud container clusters create CLUSTER_NAME \
--cluster-version=VERSION \
--region=COMPUTE_REGION
请替换以下内容:
CLUSTER_NAME
:新集群的名称。VERSION
:GKE 版本,必须为 1.25.2-gke.1700 或更高版本。您还可以使用--release-channel
标志来选择发布渠道。发布渠道的默认版本必须为 1.25.2-gke.1700 或更高版本。COMPUTE_REGION
:新集群的 Compute Engine 区域。对于可用区级集群,请使用--zone=COMPUTE_ZONE
。
启用 NCCL Fast Socket
创建使用 NCCL Fast Socket 插件的节点池。您还可以使用 gcloud container node-pools update
更新现有节点池。
gcloud container node-pools create NODEPOOL_NAME \
--accelerator type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
--machine-type=MACHINE_TYPE \
--cluster=CLUSTER_NAME \
--enable-fast-socket \
--enable-gvnic
请替换以下内容:
NODEPOOL_NAME
:新节点池的名称。CLUSTER_NAME
:集群的名称。ACCELERATOR_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
ACCELERATOR_COUNT
:每个节点的 GPU 数量。MACHINE_TYPE
:要使用的机器类型。内存优化机器类型不支持 NCCL Fast Socket。
安装 NVIDIA GPU 设备驱动程序
按照安装 NVIDIA GPU 设备驱动程序中的说明在节点上安装所需的 NVIDIA 设备驱动程序。
验证 NCCL Fast Socket 已启用
如需验证已启用 NCCL Fast Socket,请查看 kube-system Pod:
kubectl get pods -n kube-system
输出类似于以下内容:
NAME READY STATUS RESTARTS AGE
nccl-fastsocket-installer-qvfdw 2/2 Running 0 10m
nccl-fastsocket-installer-rtjs4 2/2 Running 0 10m
nccl-fastsocket-installer-tm294 2/2 Running 0 10m
在此输出中,Pod 的数量应等于节点池中的节点数。
停用 NCCL Fast Socket
如需停用 NCCL Fast Socket,请运行以下命令:
gcloud container node-pools update NODEPOOL_NAME \
--cluster=CLUSTER_NAME \
--no-enable-fast-socket
现有节点仍安装有该插件。您必须手动调整节点池的大小以将工作负载迁移到新节点。
问题排查
如需排查 gVNIC 问题,请参阅排查 Google 虚拟 NIC 问题。