Kubernetes清单设GPU限制后容器仍可见多GPU问题求助
解决MicroK8s集群中NVIDIA GPU独占分配异常问题
1. 验证NVIDIA设备插件状态与配置
- 检查设备插件Pod运行状态:
确保Pod处于kubectl get pods -n kube-system | grep nvidia-device-pluginRunning状态,无重启或错误日志。 - 确认设备插件是否启用独占设备分配:查看插件启动参数,确保包含
--device-strategy=single(部分版本默认开启,需验证)。可通过以下命令查看Pod的启动命令:kubectl describe pod <nvidia-device-plugin-pod> -n kube-system | grep Command
2. 修复容器运行时的GPU隔离配置
- 检查
nvidia-container-runtime配置文件/etc/nvidia-container-runtime/config.toml,确保no-cgroups设置为false:
该参数若为no-cgroups = falsetrue会导致cgroup隔离失效,容器能绕过限制访问所有GPU。修改后重启containerd服务:sudo systemctl restart containerd - 确认RuntimeClass正确关联NVIDIA runtime:查看RuntimeClass定义:
确保kubectl get runtimeclass nvidia -o yamlspec.handler为nvidia,且Pod清单中明确指定runtimeClassName: nvidia:spec: runtimeClassName: nvidia
3. 规范Pod资源请求配置
- 确保Pod的
resources.requests和resources.limits同时设置nvidia.com/gpu: 1,仅设置limits会导致调度逻辑异常:resources: requests: nvidia.com/gpu: 1 limits: nvidia.com/gpu: 1 - 验证Pod调度与分配状态:
检查Events中是否有kubectl describe pod <pod-name>Successfully assigned记录,以及GPU资源分配的相关日志。
4. 验证容器内GPU隔离效果
- 进入容器后,先确认
NVIDIA_VISIBLE_DEVICES环境变量值为单个GPU(如0或1):echo $NVIDIA_VISIBLE_DEVICES - 执行
nvidia-smi -i $NVIDIA_VISIBLE_DEVICES,若仅显示指定GPU则隔离生效;若仍显示所有GPU,说明runtime未正确应用隔离规则,需重新检查runtime配置。 - 主机端检查容器的cgroup设备限制:找到容器的cgroup路径(可通过
docker inspect <container-id>或crictl inspect <container-id>获取),查看/sys/fs/cgroup/nvidia/<cgroup-path>/devices.allow是否仅包含指定GPU的设备号(如c 195:0 rwm对应GPU 0)。
5. 强制DeepStream绑定指定GPU
- DeepStream默认可能遍历所有可见GPU,需在配置或启动命令中指定GPU ID:
- 修改DeepStream配置文件(如
config_infer_primary.txt),添加或设置:gpu-id=0 - 或在启动命令中添加参数:
deepstream-app --gpu-id=0 -c config_file.txt
gpu-id=0对应主机端分配的NVIDIA_VISIBLE_DEVICES指定的GPU,确保进程仅使用分配的资源。 - 修改DeepStream配置文件(如
6. 重置MicroK8s NVIDIA插件(若配置混乱)
- 先禁用并清理现有配置:
microk8s disable nvidia sudo apt purge -y nvidia-container-runtime nvidia-container-toolkit sudo rm -rf /etc/nvidia-container-runtime/ - 重新安装依赖并启用插件:
sudo apt install -y nvidia-container-runtime nvidia-container-toolkit microk8s enable nvidia - 等待插件Pod启动完成后,重新部署测试Pod验证效果。
内容的提问来源于stack exchange,提问作者tintin98
相关产品推荐
相关产品推荐

