DevTrends开发者趋势
主题色

sceneryback /

volens

AI 集群里的 Pending,为什么特别难排查 AI 训练和推理基本离不开 GPU、NPU 等计算卡。和普通业务集群相比,这类环境通常同时具备几个特点。 1. 多团队竞争昂贵资源 算法、训练、推理和评测团队共享同一批卡,队列、优先级、配额、抢占和 Gang Scheduling 交织在一起。最让人困惑的情况不是“集群真的没资源”,而是:看着资源够,任务就是排不上队。节点上可能有空闲卡,但队列已经没有可用额度;队列还有额度,但单个节点放…

DT数据与运维DTSkill / 插件DTWeb

产品配图

关于

AI 集群里的 Pending,为什么特别难排查 AI 训练和推理基本离不开 GPU、NPU 等计算卡。和普通业务集群相比,这类环境通常同时具备几个特点。 1. 多团队竞争昂贵资源 算法、训练、推理和评测团队共享同一批卡,队列、优先级、配额、抢占和 Gang Scheduling 交织在一起。最让人困惑的情况不是“集群真的没资源”,而是:看着资源够,任务就是排不上队。节点上可能有空闲卡,但队列已经没有可用额度;队列还有额度,但单个节点放不下整个 Pod;某个已经 Inqueue、却永远无法分配的 PodGroup,又可能继续占着队列资源。 2. Volcano 有自己的调度语义 AI 场景广泛使用 Volcano。它不是简单地把 Pod 交给 Kubernetes 默认调度器,而是按照自己的调度链路执行:先判断 PodGroup 能否入队,再执行 JobValid,最后进入节点分配和各插件过滤。proportion、capacity、gang、predicates、deviceshare,以及厂商提供的 GPU/NPU 插件,都可能影响最终结果。算法研发同学通常不熟悉这些机制;集群运维同学也很难记住不同 Volcano 版本中每个插件的具体行为。 3. 大容量存储让调度条件更复杂 训练数据集和模型权重通常依赖大容量存储。PVC/PV 亲和性、Volume Zone、CSI Volume Limits、访问模式、StorageClass 和本地盘拓扑,都是常见故障来源。很多问题表面上是 Pod Pending,根因却可能是卷只能落在某个可用区、节点已达到 CSI 卷数量上限,或者 Pod 的节点约束和存储拓扑互相冲突。 4. 每一分钟故障都在花钱 GPU、NPU 通常按时间计费,而且价格不低。一个分布式任务缺少一个成员时,其他已经启动的 Pod 可能仍占着整机计算卡等待。排障每多花一分钟,都可能意味着一组昂贵资源在空转。 所以 Pending 排障不能只靠“经验好的人恰好在线”,更不能每次都从头执行一遍命令。工具化,才能真正节省时间和成本。 我做了一个 Volcano 排障工具:Volens Volens 是一个深度集成 Volcano 调度经验的 Pending Pod 诊断工具,已经在生产环境久经验证。它以 Pod 形式部署在 Kubernetes 集群中,通过 Web 页面选择故障 Pod,然后沿 Volcano 实际可达的调度顺序给出检查结果:

收录记录

  1. 阮一峰周刊·用户投稿

    2026年8月16日 · 1 次收录

讨论这个产品