第 2 章 · Kubernetes 基础设施:AI 场景下的应用与 GPU 基础调度 Kubernetes 是云原生 AI 的底座。但 AI 负载——长时训练、GPU 强依赖、有状态检查点、批处理与在线混部——对通用 K8s 提出了远超 Web 服务的特殊挑战。本章讲清「K8s 默认能为 AI 做什么、不能做什么,以及怎么补齐」,为后续章节的共享 GPU、拓扑感知、训练 Operator 铺平地基。 章节摘要 Kubernetes 原本是为无状态 Web 服务设计的容器编排系统,但 AI 场景把它推向了新边界:训练任务动辄跑数天,对 Pod 驱逐与重启极其敏感;GPU 是稀缺且昂贵的异构资源,需要专门的设备插件与上报机制;分布式训练要求多 Pod 之间精确的拓扑与通信对齐;
Kubernetes 是云原生 AI 的底座。但 AI 负载——长时训练、GPU 强依赖、有状态检查点、批处理与在线混部——对通用 K8s 提出了远超 Web 服务的特殊挑战。本章讲清「K8s 默认能为 AI 做什么、不能做什么,以及怎么补齐」,为后续章节的共享 GPU、拓扑感知、训练 Operator 铺平地基。
Kubernetes 原本是为无状态 Web 服务设计的容器编排系统,但 AI 场景把它推向了新边界:训练任务动辄跑数天,对 Pod 驱逐与重启极其敏感;GPU 是稀缺且昂贵的异构资源,需要专门的设备插件与上报机制;分布式训练要求多 Pod 之间精确的拓扑与通信对齐;批处理与在线服务在同一集群混部时,调度策略要兼顾公平与效率。
本章从 AI 负载特性出发,讲清 K8s 在 AI 场景下的适配挑战。随后深入 GPU 资源建模的三大机制——Device Plugin(设备插件)、CDI(容器设备接口,Container Device Interface) 与 Extended Resource(扩展资源),讲清它们如何把 GPU 这种异构资源纳入 K8s 的声明式管理体系。接着讲 GPU/CPU 混合调度与异构资源管理(节点池划分、亲和/反亲和、污点容忍、A100/H100/L20 标签治理)。最后预告训练作业的 Operator 范式(PyTorchJob/MPIJob/DeepSpeedJob),为第 3-5 章铺垫。
读完本章,你应当能够:
| 编号 | 子章节 | 核心问题 | 关联后续 |
|---|---|---|---|
| 01 | AI 负载特性与 Kubernetes 适配挑战 | AI 负载和 Web 服务差在哪?K8s 默认哪些不够用? | 第 3 章共享 GPU |
| 02 | GPU 资源建模:Device Plugin、CDI 与 Extended Resource | GPU 怎么变成 K8s 能调度的资源?三种机制怎么选? | 第 3 章共享/拓扑 |
| 03 | GPU/CPU 混合调度与异构资源管理 | 一个集群里多种 GPU 型号怎么管?怎么和 CPU 任务混部? | 第 3、8 章混部 |
| 04 | 训练作业的 Operator 范式:从 Job 到训练 CRD | 为什么训练不用普通 Job?Operator 带来什么? | 第 5 章分布式训练 |
四个子章节构成「挑战 → 资源 → 调度 → 作业」的递进:先看清 AI 负载对 K8s 的特殊挑战(01),再讲清 GPU 这种异构资源如何被 K8s 建模(02),然后讲清多型号 GPU 与 CPU 如何混合调度(03),最后讲清训练作业用 Operator 承载的范式(04)。读完这四节,你将掌握 K8s 承载 AI 负载的全部地基知识。
Kubernetes GPU 调度、GPU Device Plugin、CDI、Container Device Interface、Extended Resource、GPU/CPU 混合调度、异构资源管理、节点池划分、训练 Operator、PyTorchJob、MPIJob、DeepSpeedJob、Kubernetes AI 负载、Pod 驱逐。