版本:v2.6.0
使用 Helm 部署 HAMi
本指南将涵盖:
- 在每个 GPU 节点中配置 nvidia 容器运行时
- 使用 helm 安装 HAMi
- 启动 vGPU 任务
- 检查容器内相应的设备资源是否受限
前提条件
- Helm 版本 v3+
- kubectl 版本 v1.16+
- CUDA 版本 v10.2+
- NvidiaDriver v440+
安装
1. 配置 nvidia-container-toolkit
在所有 GPU 节点上执行以下步骤。
此 README 假设已预安装 NVIDIA 驱动程序和 nvidia-container-toolkit。此外,假设已将 nvidia-container-runtime 配置为默认的低级运行时。
请参阅:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html
适用于基于 debian 系统的 Docker 和 containerd 示例
安装 nvidia-container-toolkit
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/libnvidia-container/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | sudo tee /etc/apt/sources.list.d/libnvidia-container.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
配置 Docker
在使用 Docker 运行 Kubernetes 时,编辑配置文件,通常位于 /etc/docker/daemon.json,以设置 nvidia-container-runtime 为默认的低级运行时:
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
}
}
然后重启 Docker:
sudo systemctl daemon-reload && systemctl restart docker
配置 containerd
在使用 containerd 运行 Kubernetes 时,修改配置文件,通常位于 /etc/containerd/config.toml,以设置 nvidia-container-runtime 为默认的低级运行时:
version = 2
[plugins]
[plugins."io.containerd.grpc.v1.cri"]
[plugins."io.containerd.grpc.v1.cri".containerd]
default_runtime_name = "nvidia"
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes]
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia]
privileged_without_host_devices = false
runtime_engine = ""
runtime_root = ""
runtime_type = "io.containerd.runc.v2"
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia.options]
BinaryName = "/usr/bin/nvidia-container-runtime"