CNCF 讨论 AI 平台的 CPU 与 GPU 协同时关注哪些运维问题
来源:17golang原创
时间:2026-09-07 01:51:46 191浏览 收藏
AI 平台的运维重点正在从“有多少张 GPU”转向“CPU、GPU、内存、存储和网络能否协同完成一次请求”。CNCF 近期关于异构 AI 基础设施的讨论,给出的关键信号并不是又一个单独的 GPU 产品,而是要把整条工作负载链路纳入同一个云原生资源模型。
如果 GPU 利用率不高,先不要急着扩 GPU 或判定资源浪费。应先确认 CPU 预处理、模型加载、数据通道、调度等待和应用端延迟分别处于什么状态,再决定调度、扩容或观测动作。
- 调度对象是完整流水线,GPU 只是推理环节。
- 扩缩容要结合队列、Token 吞吐和首 token 延迟,CPU 指标不能单独代表推理压力。
- 可观测性要把节点/容器资源与应用指标、日志、链路和成本关联起来。
调度先看完整工作负载,而不是只数 GPU
一条常见的推理链路可以拆成:数据进入后由 CPU 做预处理,模型从存储加载,GPU 执行推理,CPU 再做后处理,最后交给应用。任何一段供给不足,GPU 都可能处于等待状态。此时继续增加 GPU,吞吐未必提高,反而会扩大空闲的昂贵容量。

因此资源申请应同时表达计算、内存、数据和拓扑约束。Kubernetes 传统 device plugin 能把 GPU 等设备作为可调度资源暴露给节点,但它更接近“某个容器要几个设备”的模型。官方文档中的 DRA 则通过 DeviceClass、ResourceClaim 和设备属性筛选,让工作负载以更声明式的方式申请设备,并支持设备共享等能力。实际采用时仍要确认驱动、节点拓扑和调度器版本是否匹配,不能只改 Pod 清单。
扩缩容和可观测性要围绕等待关系设计
普通 Web 服务常用 CPU 或请求数触发 HPA,但模型推理的瓶颈可能是排队、批处理、KV cache、模型加载或 GPU 节点冷启动。CNCF 的云原生 AI 工程讨论也把 Token 吞吐、首 token 延迟、队列深度和缓存命中率列为需要与基础设施指标并看的信号。
| 看到的信号 | 不能直接推出 | 更合适的下一步 |
|---|---|---|
| GPU 利用率低 | 一定是需求不足 | 检查 CPU 供给、数据读取、调度等待和请求队列 |
| CPU 利用率高 | 一定要增加 GPU | 区分分词、检索、后处理是否成为流水线瓶颈 |
| 队列和首 token 延迟上升 | 只调高 Pod 副本数就够了 | 同时检查可分配设备、模型加载时间和节点容量 |
| 吞吐稳定但成本上升 | 资源已经达到最佳状态 | 按模型、租户和 GPU 秒数拆分成本与利用率 |

落地时可以把扩容拆成两层:服务层根据队列、吞吐或延迟调整推理副本;容量层根据设备余量和节点准备时间预留或扩展 GPU 节点。缩容则要加冷却窗口,避免批处理和模型缓存刚建立就被回收。对于多租户平台,还要把 ResourceQuota、队列优先级和拓扑约束一起考虑,否则单个团队的突发请求会把共享容量变成隐性争抢。
监控指标要回答“谁在等谁”
建议用 OpenTelemetry 统一应用遥测,用 Prometheus 保存指标,并把 CPU/GPU 的节点级、容器级数据和请求级指标通过工作负载、模型、租户等标签关联。至少要能回答四个问题:请求是否在排队,CPU 是否喂不饱 GPU,模型是否卡在加载或缓存,GPU 是否因为设备故障或拓扑不匹配而不可调度。
指标不要只做大盘展示,还要和动作绑定。例如首 token 延迟升高且队列增长,优先检查服务副本和可用设备;GPU 利用率低但 CPU 预处理饱和,先扩 CPU 或调整流水线;节点有硬件异常,先隔离节点再让调度器继续放置新任务。CNCF 的相关实践还强调成本观测,因为“每秒 Token”只有和 GPU 秒数、延迟目标放在一起,才足以支持容量决策。
从五项清单开始灰度落地
- 资源声明:为 CPU、内存和加速器分别设定请求与上限,记录设备类型、共享方式和拓扑要求。
- 扩容信号:服务层选队列、吞吐或延迟,容量层记录节点准备时间,不把 CPU 百分比当作唯一开关。
- 遥测关联:统一模型、版本、租户和工作负载标签,避免只能看到孤立的 GPU 曲线。
- 故障隔离:把设备健康、节点状态、Pod Pending 原因纳入告警和 cordon/drain 处置路径。
- 成本复盘:按模型和租户核算 GPU 时间、缓存和网络开销,用稳定的吞吐/成本指标比较方案。
这也是 CNCF 讨论的实际价值:它把 AI 平台从单一加速器管理,拉回到 Kubernetes 熟悉的调度、扩缩容和可观测性问题。平台团队不必一次性引入所有项目,先把资源边界、应用信号和反馈闭环做清楚,再按工作负载选择 DRA、推理网关、队列或 GPU 遥测组件。
相关问题
GPU 利用率低时,第一项检查是什么?
先看请求队列、CPU 预处理耗时、数据读取和 Pod 调度状态,再结合首 token 延迟判断是需求不足还是上游供给不足。
DRA 能否自动解决所有 GPU 调度问题?
不能。DRA 改善设备声明、筛选和共享模型,但仍依赖兼容驱动、节点能力、拓扑规划以及平台自己的配额、队列和故障处置策略。
参考资料
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
150 收藏
-
科技周边 · 业界新闻 | 16小时前 | 云原生 · 容器 · Etcd · 升级 · kubernetes · ETCD Kubernetes 1.37 容器升级 Kubernetes默认行为 容器平台399 收藏
-
283 收藏
-
科技周边 · 业界新闻 | 18小时前 | Node.js · 测试工具 · node:test · Node.js 24.20.0 node:test 测试运行器 test:log entryFile257 收藏
-
240 收藏
-
科技周边 · 业界新闻 | 21小时前 | 编译器 · rust · nightly · 业界新闻 · 类型系统 · 编译器 rustc Rust trait solver nightly -Znext-solver388 收藏
-
118 收藏
-
科技周边 · 业界新闻 | 23小时前 | 命令行 · 开源工具 · 版本更新 · GitHub CLI · 工程协作 · 业界新闻 Pull Request GitHub CLI Issue --attach 媒体上传440 收藏
-
科技周边 · 业界新闻 | 1天前 | github · 企业迁移 · 代码仓库 · GitHub Enterprise GHES GHE.com Enterprise Live Migrations162 收藏
-
238 收藏
-
257 收藏
-
科技周边 · 业界新闻 | 1天前 | devops · gitHub actions · 持续集成 · GitHub Actions GitHub Actions更新 reusable workflow GITHUB_TOKEN143 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习