控制面治理
数据平面解决了“一块卡怎么分”;本部分解决“成百上千块卡、成百上千个租户时,秩序从哪里来”。各章按“地图 → 问题 → 基石 → 工具 → 综合”递进:
先定位。 控制面地图给出全书的架构坐标系:控制面管秩序(队列、配额、准入、抢占),数据面管兑现(切分、隔离、计量),任何项目先放进这张图再讨论;调度问题域接着把控制面要解决的具体问题摊开:碎片化、Gang 语义、放置与拓扑,它们是工具存在的理由。
再打地基。 放置策略把“放哪”写成可审计的对象:标签防错配、污点防侵占、优先级保关键、配额保公平;NUMA 感知调度深入 kubelet 的三个管理器与调度器失明问题,给出 NRT 与拓扑感知调度的修复路径;GPU Operator把驱动、工具包、设备插件与监控的安装收进一个调谐循环;这三者(放置策略、NUMA 感知调度、GPU Operator)是后续所有调度工具运行的地基。
后看工具与案例。 Volcano与Kueue是两条主流路线:前者在调度器内补批处理语义,后者在调度器外做配额准入,正交而可组合;生态放置法提供把任何新项目快速归位的方法;Kthena以 LLM 推理调度为案例,展示控制面如何进入请求路径。
最后综合。 组合架构把前面的拼装件组成六种端到端方案;能力模型把平台交付抽象为可验收的能力单元;决策轴给出评估任何方案的统一维度,并为整个解决方案侧收束。带着这把尺子进入工作负载实践,在真实负载上校准它。
章节目录
在进入 Volcano、Kueue 等具体工具之前,先看清 GPU 调度的三个特有问题:碎片化(闲着的卡拼不出一组)、Gang 语义(部分启动等于死锁)与放置策略(装箱与打散的反直觉结论),以及它们与拓扑约束的耦合。
Volcano 作为控制面调度策略引擎,提供队列、fair-share、gang scheduling、抢占等批处理与 AI 作业治理能力,补齐原生 Kubernetes 的调度语义缺口。
CPU 管理器、内存管理器与设备管理器在 kubelet 内协调 NUMA 对齐,但拓扑管理器只对单个节点生效,调度器看不见 NUMA 时就会陷入“先调度后拒绝”的死循环。NRT 与 KAI Scheduler 如何补上这块盲区。
把驱动、容器工具包、设备插件、DCGM、MIG Manager 从手工安装变成一条调谐循环:ClusterPolicy 唯一配置点、八个组件的严格部署顺序、Helm 安装与升级命令、金丝雀循环与最小验证阶梯。