NVIDIA GPU Operator:GPU 节点运维为什么不建议只靠手工装驱动?
NVIDIA GPU Operator 能自动管理 Kubernetes GPU 节点所需的驱动、Container Toolkit、Device Plugin、DCGM 等组件。本文整理运维落地检查项。
很多团队第一次把 GPU 接入 Kubernetes,是从手工安装驱动开始的:安装 NVIDIA driver,安装 container runtime 配置,部署 device plugin,然后测试 Pod 能不能看到 GPU。小规模验证可以这样做,但节点多了之后,手工安装会变成风险源。
NVIDIA GPU Operator 的价值就是把 GPU 节点需要的一组组件自动化管理起来。官方文档说明,GPU Operator 使用 Kubernetes Operator 模式,管理 NVIDIA driver、Kubernetes device plugin、NVIDIA Container Toolkit、GPU Feature Discovery、DCGM 监控等组件。
手工装驱动的问题
手工方式常见问题包括:
- 驱动版本和 CUDA 运行时不匹配。
- containerd 或 Docker 没有正确配置 NVIDIA runtime。
- 节点重装后忘记安装 device plugin。
- GPU 监控缺失,故障后只能登录节点看
nvidia-smi。 - 多节点版本不一致,某些 Pod 只在部分节点失败。
AI 集群不是一台实验服务器。平台越大,越需要用声明式方式管理节点能力。
GPU Operator 管什么
典型组件包括:
- NVIDIA Driver:让宿主机识别 GPU 和 CUDA。
- NVIDIA Container Toolkit:让容器可以访问 GPU。
- NVIDIA Device Plugin:向 Kubernetes 注册 GPU 资源。
- GPU Feature Discovery:给节点打标签,暴露 GPU 型号和能力。
- DCGM / DCGM Exporter:采集 GPU 健康和性能指标。
- MIG Manager:管理支持 MIG 的 GPU 切分。
运维人员要理解:Operator 不是魔法,它只是把这些组件以 Kubernetes 原生方式统一管理。出问题时仍然要知道每个组件的职责。
上线前检查清单
第一,确认节点基础信息:
lspci | grep -i nvidia
nvidia-smi
uname -r
第二,确认 Kubernetes 资源:
kubectl get pods -n gpu-operator
kubectl get nodes -L nvidia.com/gpu.product
kubectl describe node <gpu-node> | grep -A5 Allocatable
第三,运行测试 Pod:
kubectl run gpu-test --rm -it \
--image=nvidia/cuda:12.4.1-base-ubuntu22.04 \
--limits='nvidia.com/gpu=1' -- nvidia-smi
第四,确认监控是否进入 Prometheus。如果 DCGM Exporter 指标没有被采集,GPU 集群上线后会很难排查。
升级时关注什么
GPU Operator 升级不是只看 chart 版本,还要看:
- Kubernetes 版本是否支持。
- 节点 OS 和内核版本。
- NVIDIA 驱动版本。
- CUDA 应用镜像版本。
- containerd / Docker runtime 配置。
- MIG、vGPU、Kata、Confidential Computing 等特殊能力是否启用。
升级建议先做一组独立 GPU 节点,打 taint,跑测试工作负载,再逐步切流。
常见问题 FAQ
GPU Operator 会自动安装驱动吗?
可以管理驱动,但具体方式取决于配置和平台。部分环境会使用宿主机预装驱动,部分环境使用 Operator 管理容器化驱动。
有了 GPU Operator 还需要懂 nvidia-smi 吗?
需要。Operator 能降低安装复杂度,但排障时仍然离不开 nvidia-smi、节点日志和 Pod 事件。
单机 GPU 服务器需要 GPU Operator 吗?
如果只是单机实验,不一定需要。如果是 Kubernetes 集群,尤其多节点生产环境,Operator 更有价值。
DCGM 是必须的吗?
强烈建议启用。没有 GPU 指标,容量规划和故障排查都会很被动。
参考资料
- NVIDIA GPU Operator 文档: https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/
- NVIDIA GPU Telemetry: https://docs.nvidia.com/datacenter/cloud-native/gpu-telemetry/latest/index.html
