volcano-sh/volcano
A Cloud Native Batch System (Project under CNCF)
Volcano – 面向 AI/ML、大数据与 HPC 的云原生批处理调度器
是什么 – Volcano 是一个 Kubernetes 原生的批处理作业调度器,通过扩展默认的 kube-scheduler,为高吞吐、高性能的工作负载提供丰富的功能。它专为 AI/ML 训练、深度学习、基因组学、Spark/Flink 作业、MPI/Horovod 以及其他在 Kubernetes 集群上运行的“大数据”或 HPC 工作负载而设计。
为何重要 – 标准 Kubernetes 调度器针对低延迟敏感型服务进行了优化,但并不适合需要 gang 调度、资源打包或拓扑感知放置的大规模、并行、GPU 密集型作业。Volcano 在保持与 Kubernetes API 和 CRD 完全兼容的同时,增加了这些能力,使您能够大规模运行 AI 训练流水线、数据处理作业和科学模拟。
核心功能
- Gang 调度 – 保证分布式作业的所有 Pod 同时启动,防止 MPI、TensorFlow、PyTorch、Horovod 等出现死锁。
- 资源感知放置 – 支持 GPU、CPU、内存和自定义资源;包含拓扑感知和网络感知调度,减少碎片化并提升性能。
- 作业生命周期管理 – 原生支持
Job和JobSetCRD,内置重试、退避和作业完成追踪功能。 - 优先级与抢占 – 允许高优先级训练作业抢占低优先级批处理作业。
- 可扩展插件 – 调度器、准入控制和控制器插件可针对特定框架进行自定义。
- 监控与 UI – 可选的 Prometheus 指标、Grafana 仪表板和 Web 控制台,用于可视化作业检查。
生态系统集成(精选)
| 框架 / 工具 | 集成点 |
|---|---|
| Spark | K8s 上 Spark 的调度后端,支持 Spark Operator |
| Flink | Flink-on-K8s Operator 的自定义调度器 |
| Ray / KubeRay | Ray 集群的直接 Volcano 后端 |
| TensorFlow / PyTorch / MXNet / PaddlePaddle / MindSpore | 专用插件和示例清单 |
| Kubeflow Trainer / Arena | 基于 Volcano 的作业定义 |
| MPI / Horovod | 分布式 MPI 作业的 gang 调度 |
| Argo | Argo 工作流的资源调度器 |
| Cromwell, Kthena, Grove, LeaderWorkerSet | 多种工作流引擎的后端支持 |
典型使用场景(项目强调)
- 在 GPU 集群上进行大规模 AI 模型训练(如 LLM 预训练、知识蒸馏)。
- 使用 Spark 或 Flink 的分布式数据处理流水线。
- 需要大量 CPU 核心和高速互连的生物信息学/基因组学流水线。
- 需要节点级紧密协调的气象学、金融或制造领域的 HPC 模拟。
- AI 工作负载需与低延迟敏感服务共存的多租户集群。
快速入门(在 Kubernetes 集群上安装)
- 前提条件 – Kubernetes 1.12+ 且支持 CRD。
- 一键安装(支持 x86_64 和 arm64):
此命令将创建包含准入控制器、控制器管理器和调度器 Pod 的kubectl apply -f https://raw.githubusercontent.com/volcano-sh/volcano/master/installer/volcano-development.yamlvolcano-system命名空间。 - 可选 Helm 安装 – 添加官方 Chart 并安装:
helm repo add volcano-sh https://volcano-sh.github.io/helm-charts helm install volcano volcano-sh/volcano -n volcano-system --create-namespace - 添加监控(需要仪表板时):
kubectl create -f installer/volcano-monitoring.yaml - 探索 UI – 参考 Volcano Dashboard 仓库获取 Web UI,用于查看作业、资源和事件。
社区与治理
- CNCF 入孵项目 – 在云原生计算基金会(CNCF)治理下运行。
- Slack 与邮件列表 – CNCF Slack 的活跃
#volcano频道、Google Group 邮件列表,以及中文用户 WeChat 群组。 - 定期社区会议 – 公开议程与会议纪要,包含 KubeCon(2019–2026)的演讲录像,涵盖 AI、大数据和 HPC 使用场景。
- 贡献方式 – 超过数百名贡献者;通过 Travis、Go Report Card 和 OpenSSF 评分卡徽章进行 CI,表明代码质量健康。
TL;DR
Volcano 将普通的 Kubernetes 集群转变为专为 AI/ML、大数据和 HPC 工作负载量身定制的生产级批处理作业引擎。它提供 gang 调度、GPU 感知放置、优先级/抢占以及与主要 AI 框架的深度集成,同时完全保持对 Kubernetes API 和生态系统的原生支持。
相关
- 项目
- 项目
- 项目
- 项目
- 项目