如何让 Kubernetes 驾驭每一块 GPU 加速卡?
摘要:AI 算力基础设施深度系列(三):GPU 与异构算力——让 Kubernetes 驾驭每一块加速卡 本文是《AI 算力基础设施深度系列》第 3 篇,共 6 篇。 系列目录:① 容器与 K8S 基础 → ② K8S 底层原理 → ③ GPU
AI 算力基础设施深度系列(三):GPU 与异构算力——让 Kubernetes 驾驭每一块加速卡
本文是《AI 算力基础设施深度系列》第 3 篇,共 6 篇。
系列目录:① 容器与 K8S 基础 → ② K8S 底层原理 → ③ GPU 与异构算力 → ④ AI 平台架构 → ⑤ 高性能网络与存储 → ⑥ 生产运维与成本优化
导语
一块 NVIDIA H100 的市场价约 $30,000。一个 8 卡 DGX H100 节点超过 $300,000。一个 1000 卡的训练集群,仅 GPU 成本就接近 400 万美元。
而 Kubernetes 原生的 GPU 调度模型是这样的:
resources:
limits:
nvidia.com/gpu: 1 # "我要 1 块 GPU"——不管你的推理任务只需要 2GB 显存
一个推理任务只用了 2GB 显存,却独占一整块 80GB 的 A100。 这就像你只想在停车场停一辆自行车,却必须包下一整个车位。
NVIDIA 2024 年的调研显示,企业 GPU 集群的平均利用率不足 30%。在推理场景下更是低至 15%。每年有数以亿计的算力资源在空转中被浪费。
这篇文章要回答的核心问题是:Kubernetes 是怎么管理 GPU 的?为什么原生方案不够用?社区和厂商又是怎么填补这些缺口的?
我们将从 GPU 硬件基础开始,逐步深入到 Device Plugin 机制、NVIDIA 原生共享方案(MIG/MPS/Time-Slicing)、GPU 虚拟化中间件(HAMi)、下一代 DRA 框架,以及国产异构加速卡的统一管理。
一、GPU 硬件基础:理解你要管理的东西
在谈 GPU 调度之前,先理解 GPU 的硬件架构——这不是"可选的背景知识",而是理解所有后续技术决策的必要前提。
