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 和 JobSet CRD,内置重试、退避和作业完成追踪功能。
  • 优先级与抢占 – 允许高优先级训练作业抢占低优先级批处理作业。
  • 可扩展插件 – 调度器、准入控制和控制器插件可针对特定框架进行自定义。
  • 监控与 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 集群上安装)

  1. 前提条件 – Kubernetes 1.12+ 且支持 CRD。
  2. 一键安装(支持 x86_64 和 arm64):
    kubectl apply -f https://raw.githubusercontent.com/volcano-sh/volcano/master/installer/volcano-development.yaml
    
    此命令将创建包含准入控制器、控制器管理器和调度器 Pod 的 volcano-system 命名空间。
  3. 可选 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
    
  4. 添加监控(需要仪表板时):
    kubectl create -f installer/volcano-monitoring.yaml
    
  5. 探索 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 和生态系统的原生支持。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目