部署步骤#
使用 Kubernetes 部署 NVIDIA AI Enterprise 的 GDS 涉及三个高级步骤
安装 Kubernetes
安装 NVIDIA 网络操作器
安装支持 GDS 的 NVIDIA GPU 操作器
本节提供每个步骤的更多详细信息。
创建启用 GDS 的 Kubernetes#
安装 Kubernetes#
要在您的系统上安装上游 Kubernetes,请使用以下说明: http://docs.nvda.net.cn/datacenter/cloud-native/kubernetes/install-k8s.html#ubuntu-lts。 对于容器引擎,请使用 containerd。
安装网络操作器#
为了使 GDS 在本地 NVMe 或 NFSoRDMA 共享上运行,必须安装网络操作器。 该操作器使用额外的符号修补 nvme 和 rpcrdma 模块,这些符号有助于 GDS 操作。 可以按照安装 NVIDIA 网络操作器说明进行安装。 该指南还提供了基于 helm 安装的其他参数,可以在这里找到。
注意
网络操作器部署完成 MOFED 驱动程序的安装可能需要长达 10 分钟。
安装支持 GDS 的 GPU 操作器#
对于全新系统设置,即已全新安装 Ubuntu 的系统,必须从系统中完全卸载 NVIDIA GPU 驱动程序和 NVIDIA 容器运行时,而是安装 GPU 操作器,该操作器将 NVIDIA GPU 驱动程序置于 Kubernetes pod 中。 这样做是因为,传统上,当驱动程序安装在裸机系统上时,您需要为每个容器/pod 调度硬件资源。 例如,如果您有多个工作负载在多个容器中运行,但只有一个系统和一个 GPU,那么您无法将单个 GPU 调度为每个运行容器的资源。 GPU 操作器包含一个发现 DaemonSet,它在主机和其他连接的 Kubernetes 节点上发现 GPU,并将 GPU 标记为在其找到的任何节点上的资源。 然后,每个具有标记 GPU 的节点都安装了 NVIDIA GPU 驱动程序 DaemonSet。 因此,驱动程序在每个节点上容器化,并且还将 GPU 驱动程序暴露给该节点上运行的每个其他容器。 还有一个设备插件 DaemonSet 被安装,它允许在其他应用程序容器中调度节点上标记的 GPU。
可以按照说明在 NVAIE 3.0 兼容系统上安装 GPU 操作器。 安装需要 NLS 令牌,可以从 NVIDIA 许可门户获得。
为了安装 GDS 支持,Helm 安装命令应按如下方式运行
1helm install --wait gpu-operator nvaie/gpu-operator-3-0 -n gpu-operator \
2 --set driver.repository=nvcr.io/nvidia \
3 --set driver.image=driver \
4 --set driver.version=525.60.13 \
5 --set driver.licensingConfig.config.name="" \
6 --set gds.enabled=true \
7 --set driver.rdma.enabled=true
您可以通过发出以下命令来验证 GPU 操作器是否已安装并正在运行
kubectl get pods -n gpu-operator
您应该看到类似的输出
1NAME READY STATUS RESTARTS AGE
2gpu-feature-discovery-jgcph 1/1 Running 0 7h33m
3gpu-operator-1663780918-node-feature-discovery-master-6c97sl7gv 1/1 Running 0 15d
4gpu-operator-1663780918-node-feature-discovery-worker-6xkjg 1/1 Running 0 15d
5gpu-operator-6764d9bc9b-8sm2c 1/1 Running 0 15d
6nvidia-container-toolkit-daemonset-w4bvg 1/1 Running 0 7h33m
7nvidia-cuda-validator-692qk 0/1 Completed 0 7h19m
8nvidia-dcgm-exporter-mxmr6 1/1 Running 0 7h33m
9nvidia-device-plugin-daemonset-2r76s 1/1 Running 0 7h33m
10nvidia-device-plugin-validator-hjld4 0/1 Completed 0 7h18m
11nvidia-driver-daemonset-8kmwc 3/3 Running 0 7h21m
12nvidia-operator-validator-7hcbv 1/1 Running 0 7h21m
您可以使用以下命令验证 GDS 是否已在系统上准备就绪
lsmod | grep nvidia
您应该在输出中看到 nvidia-fs
1nvidia_fs 249856 0
2nvidia_peermem 16384 0
3nvidia_modeset 1171456 0
4nvidia_uvm 1191936 0
5nvidia 55463936 132 nvidia_uvm,nvidia_peermem,nvidia_modeset
6ib_core 348160 10 rdma_cm,ib_ipoib,rpcrdma,nvidia_peermem,iw_cm,ib_umad,rdma_ucm,ib_uverbs,mlx5_ib,ib_cm
7drm 491520 7 drm_kms_helper,drm_vram_helper,ast,nvidia,ttm