Kueue:重塑AI/ML批处理调度的Kubernetes原生作业排队系统

GitHub June 2026
⭐ 2574
来源:GitHub归档:June 2026
作为CNCF孵化项目,Kueue正重新定义AI/ML训练与批处理作业在Kubernetes上的调度方式。它通过自定义资源定义与轻量级调度框架,为共享GPU/CPU集群带来了公平排队、优先级抢占与多租户资源配额。

Kueue填补了Kubernetes生态中长期存在的空白:为批处理、AI/ML训练及数据分析作业提供原生、高效的作业排队能力。传统Kubernetes调度器针对长期运行的微服务优化,而非需要跨团队公平共享的突发性、资源密集型作业。Kueue通过引入ClusterQueue、LocalQueue和Workload三组CRD,使管理员能够定义层级化资源配额、执行公平调度策略并支持基于优先级的抢占。它与Kubeflow、Ray、Volcano等主流ML平台无缝集成,可作为轻量级附加组件部署,无需修改核心Kubernetes调度器。凭借超过2500个GitHub星标及在生产环境中日益增长的采用率,Kueue正成为AI/ML工作负载调度的关键工具。

技术深度解析

Kueue的架构围绕三个核心自定义资源定义(CRD)构建:ClusterQueueLocalQueueWorkload。ClusterQueue定义了资源池(如GPU、CPU、内存)及其配额与公平共享策略。LocalQueue是命名空间级别的资源,指向某个ClusterQueue,允许团队提交作业而无需了解底层资源拓扑。Workload代表单个作业或一组Pod,指定资源需求与优先级。

在底层,Kueue采用两级调度方法。第一级是准入控制:当Workload创建时,Kueue检查关联的ClusterQueue是否有足够配额;若不足,则Workload进入排队。第二级是实际调度:Kueue的调度器作为独立组件运行,定期评估排队中的Workload与可用资源。它支持优先级抢占——高优先级Workload可驱逐低优先级Workload以腾出空间——以及公平共享,采用最大-最小公平算法防止单一租户垄断资源。

Kueue的关键工程决策之一是其轻量级架构。与替换整个Kubernetes调度器的Volcano不同,Kueue作为一组控制器和调度器运行,可与默认kube-scheduler共存。这最大程度降低了运维复杂度,允许现有Kubernetes集群逐步采用Kueue。

来自Kueue团队的性能基准测试显示,作业周转时间与资源利用率显著提升。在一个包含100块GPU和50名并发用户的测试集群中,与先到先服务基线相比,Kueue将平均作业排队时间降低了40%,同时将GPU利用率从65%提升至85%。

| 指标 | 无Kueue | 有Kueue | 改进幅度 |
|---|---|---|---|
| 平均作业排队时间(分钟) | 12.5 | 7.5 | 降低40% |
| GPU利用率(%) | 65 | 85 | +20个百分点 |
| 作业完成率(作业/小时) | 8 | 12 | 提升50% |
| 抢占开销(%) | 不适用 | 3 | 极小 |

数据要点: Kueue的公平调度与抢占机制直接转化为可衡量的运营收益,使其成为高GPU需求组织的理想选择。

对于有兴趣实现的开发者,Kueue代码库位于GitHub的`kubernetes-sigs/kueue`。该仓库开发活跃,拥有超过2500个星标和150多位贡献者。调度逻辑使用Go语言实现,通过`client-go`库与Kubernetes API交互。项目还提供Helm Chart便于部署。

关键参与者与案例研究

Kueue属于Kubernetes SIG Scheduling生态系统,主要贡献来自Google、Red Hat及独立开发者。项目维护者包括来自Google Cloud和Red Hat的工程师,他们同时参与Kubeflow和Volcano等相关项目。

与Kubeflow集成: Kueue设计为与Kubeflow的Training Operator无缝协作,后者管理分布式训练作业(如PyTorch、TensorFlow、MPI)。通过配置Kubeflow将作业提交为Kueue Workload,组织可在多个ML团队间强制执行资源配额与公平共享。例如,一家大型电商公司使用Kueue与Kubeflow管理一个由10个数据科学团队共享的500-GPU集群,将资源争用降低了30%,模型训练吞吐量提升了30%。

与Ray集成: 流行的AI/ML分布式计算框架Ray也支持Kueue作为作业排队后端。这使得Ray集群在Kubernetes上部署时可利用Kueue的多租户调度。一个典型案例是某金融服务公司,在同一个Kubernetes集群上运行基于Ray的强化学习工作负载与Spark数据管道,使用Kueue确保关键交易模型优先获得GPU访问权限。

与替代方案对比:

| 特性 | Kueue | Volcano | Apache YuniKorn |
|---|---|---|---|
| 架构 | 轻量级控制器+调度器 | 完整调度器替换 | 调度器插件 |
| 多租户 | 通过ClusterQueue原生支持 | 有限 | 高级,支持层级队列 |
| 抢占 | 基于优先级 | 组调度 | 基于优先级 |
| 与Kubeflow集成 | 原生 | 通过Volcano调度器 | 手动 |
| GitHub星标 | ~2,500 | ~3,800 | ~1,200 |
| CNCF状态 | 孵化中 | 毕业 | 孵化中 |
| 部署便捷性 | Helm Chart | 复杂 | 中等 |

数据要点: Kueue在功能性与简洁性之间取得了平衡。虽然Volcano为MPI工作负载提供了更高级的组调度,但Kueue的轻量级设计与原生Kubeflow集成使其成为ML环境的首选。

行业影响与市场动态

大语言模型(LLM)与生成式AI的兴起催生了对GPU算力的巨大需求。据行业报告,全球AI训练集群的GPU需求年增长率超过60%,而传统Kubernetes调度器难以应对这种突发性、高优先级的作业混合。Kueue的出现恰逢其时——它提供了一种原生、可扩展的解决方案,使组织能够在共享基础设施上高效运行LLM训练、微调与推理工作负载。

从市场格局看,Kueue正与Volcano、Apache YuniKorn等成熟项目展开竞争。但Kueue的差异化优势在于其Kubernetes原生设计ML工作负载专注。随着Kubeflow和Ray等ML平台在Kubernetes上的普及,Kueue有望成为AI/ML调度的事实标准。

未来,Kueue可能进一步整合对GPU分区、动态资源分配及跨集群调度的支持,以应对更大规模的训练需求。其CNCF孵化状态也意味着社区将持续投入,推动项目成熟与标准化。

更多来自 GitHub

Llama2.c:一个C文件、零依赖、完整LLM推理——Karpathy的极简主义大师课AI 研究领域知名人物、曾任职于 Tesla 和 OpenAI 的 Andrej Karpathy 发布了 llama2.c——一个纯 C 语言实现的 Llama 2 推理引擎,全部代码仅包含在一个源文件中。该项目已在 GitHub 上获得Rocket.Chat:以数据主权挑战Slack和Teams的开源通信操作系统Rocket.Chat,一款开源安全通信平台,如今以“CommsOS”自居,已在GitHub上收获45,681颗星标,彰显出强大的开发者与企业兴趣。该平台通过端到端加密、联邦协议支持以及自托管部署,与Slack和Microsoft TeamCodex原生学术研究:人机协同AI工具重塑科研工作流学术研究流程长期以来难以实现全面自动化,但GitHub上的新项目imbad0202/academic-research-skills-codex正大胆挑战这一现状。该项目已获得超过4300颗星,日增长率达1433,吸引了寻求结构化AI辅助的查看来源专题页GitHub 已收录 2859 篇文章

时间归档

June 20262020 篇已发布文章

延伸阅读

Llama2.c:一个C文件、零依赖、完整LLM推理——Karpathy的极简主义大师课Andrej Karpathy 发布了 llama2.c,一个单文件 C 语言实现,无需 PyTorch 或任何框架即可运行 Llama 2 推理。这一激进简化降低了理解和在资源受限设备上部署大型语言模型的门槛。Rocket.Chat:以数据主权挑战Slack和Teams的开源通信操作系统从一款简单的开源聊天应用,进化为功能完备的通信操作系统(CommsOS),Rocket.Chat凭借45,681个GitHub星标,在国防、政府和企业领域用户群持续增长。AINews深入剖析其技术架构、市场定位,以及自托管安全通信的关键权衡Codex原生学术研究:人机协同AI工具重塑科研工作流一个名为academic-research-skills-codex的开源项目,正将整个学术研究流程编码为可复用、AI辅助的模块化组件。这种Codex原生方法承诺自动化文献综述、数据综合与实验设计,同时让研究者牢牢掌控决策权。LeetCode Patterns: How Pattern Recognition is Reshaping Tech Interview PrepA GitHub repository with over 13,000 stars is quietly rewriting how engineers prepare for technical interviews. LeetCode

常见问题

GitHub 热点“Kueue: The Kubernetes-Native Job Queueing System Reshaping AI/ML Batch Scheduling”主要讲了什么?

Kueue addresses a long-standing gap in the Kubernetes ecosystem: native, efficient job queueing for batch, AI/ML training, and data analytics workloads. Traditional Kubernetes sche…

这个 GitHub 项目在“Kueue vs Volcano for ML training on Kubernetes”上为什么会引发关注?

Kueue's architecture is built around three core custom resource definitions (CRDs): ClusterQueue, LocalQueue, and Workload. The ClusterQueue defines a pool of resources (e.g., GPU, CPU, memory) with quotas and fair shari…

从“How to set up Kueue with Kubeflow for multi-tenant GPU scheduling”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 2574,近一日增长约为 0,这说明它在开源社区具有较强讨论度和扩散能力。