volcano-sh/volcano
GitHub: volcano-sh/volcano
Volcano 是 CNCF 孵化项目,为 Kubernetes 提供云原生批量调度系统,专门优化 AI/ML、大数据和 HPC 工作负载的资源管理与调度效率。
Stars: 5514 | Forks: 1339
[](https://travis-ci.org/volcano-sh/volcano)
[](https://goreportcard.com/report/github.com/volcano-sh/volcano)
[](https://github.com/volcano-sh/volcano)
[](https://github.com/volcano-sh/volcano/releases)
[](https://github.com/volcano-sh/volcano/blob/master/LICENSE)
[](https://bestpractices.coreinfrastructure.org/projects/3012)
[](https://scorecard.dev/viewer/?uri=github.com/volcano-sh/volcano)
[](https://gurubase.io/g/volcano)
[Volcano](https://volcano.sh/) 是一个 Kubernetes 原生的批量调度系统,它扩展并增强了标准 kube-scheduler 的功能。它提供了一套专为管理和优化各种批处理和弹性工作负载而设计的全面功能,包括人工智能 (AI) / 机器学习 (ML) / 深度学习 (DL)、生物信息学 / 基因组学以及其他“大数据”应用程序。
这些工作负载通常利用 AI、大数据和 HPC 框架,例如 Spark、Flink、Ray、TensorFlow、PyTorch、Argo、MindSpore、PaddlePaddle、Kubeflow、MPI、Horovod、MXNet、KubeGene 等,Volcano 为这些框架提供了强大的集成支持。
Volcano 融合了在多个系统和平台上大规模运行各种高性能工作负载的超过十五年 collective experience。它结合了开源社区经过验证的最佳实践和创新理念,提供了强大而灵活的调度解决方案。
截至 2025 年,Volcano 已在全球众多行业中得到广泛应用,包括互联网/云服务、金融、制造和医疗领域。许多组织和机构不仅是终端用户,也是该项目的积极贡献者。数百名贡献者积极参与代码提交、Pull Request 审查、Issue 讨论、文档更新和设计提案。我们鼓励您参与 Volcano 项目的持续开发和成长。

Volcano 是[云原生计算基金会](https://cncf.io/) (CNCF) 的孵化项目。如果您是一个希望在支持云原生生态系统的发展和演进中发挥积极作用的组织,请考虑加入 CNCF。
## 整体架构

## 演讲
- [简介:Kubernetes 批处理调度 @ KubeCon 2019 EU](https://sched.co/MPi7)
- [Volcano 在 Kubernetes 中运行高性能作业实践 @ ArchSummit 2019](https://archsummit.infoq.cn/2019/shenzhen/presentation/1817)
- [Volcano:基于云原生的高密计算解决方案 @ Huawei Connection 2019](https://e.huawei.com/cn/material/event/HC/09099dce0070415e9f26ada51b2216d7)
- [使用 Volcano 提升深度学习工作负载的性能 @ KubeCon 2019 NA](https://sched.co/UaZi)
- [Kubernetes 批处理能力简介 @ KubeCon 2019 NA](https://sched.co/Uajv)
- [使用 Volcano 优化知识蒸馏训练 @ KubeCon 2021 EU](https://www.youtube.com/watch?v=cDPGmhVcj7Y&t=143s)
- [基于 Volcano 的在线服务与离线任务混部技术探索 @ KubeCon 2021 中国](https://www.youtube.com/watch?v=daqkUlT5ReY)
- [Volcano - 面向 AI、大数据和 HPC 的云原生批处理系统 @ KubeCon 2022 EU](https://www.youtube.com/watch?v=wjy35HfIP_k)
- [如何利用 Volcano 提升 AI 制药、自动驾驶和智慧建筑的资源利用率 @ KubeCon 2023 EU](https://www.youtube.com/watch?v=ujHDV5xteqU)
- [在 Kubernetes 上更轻松高效地运行您的 AI 工作负载和微服务 @ KubeCon 2023 中国](https://www.youtube.com/watch?v=OO7zpyf7fgs)
- [利用 Volcano 增强的智能基础设施优化 LLM 工作流 @ KubeCon 2024 中国](https://www.youtube.com/watch?v=77Qn1-I-muQ)
- [Volcano 如何赋能下一波智能应用 @ KubeCon 2024 中国](https://www.youtube.com/watch?v=IzR7zJQ8vMw)
- [利用拓扑建模和拓扑感知调度加速 LLM 训练 @ KubeCon 2024 中国](https://www.youtube.com/watch?v=IB54LHQQ8lI)
## 生态系统
- [Spark Operator](https://www.kubeflow.org/docs/components/spark-operator/user-guide/volcano-integration/)
- [原生 Spark](https://spark.apache.org/docs/3.5.0/running-on-kubernetes.html#using-volcano-as-customized-scheduler-for-spark-on-kubernetes)
- [Flink](https://github.com/GoogleCloudPlatform/flink-on-k8s-operator/blob/master/docs/volcano_integration.md)
- [KubeRay](https://docs.ray.io/en/master/cluster/kubernetes/k8s-ecosystem/volcano.html)
- [PyTorch](https://github.com/volcano-sh/volcano/blob/master/docs/user-guide/how_to_use_pytorch_plugin.md)
- [TensorFlow](https://github.com/volcano-sh/volcano/tree/master/example/integrations/tensorflow)
- [kubeflow/training-operator](https://www.kubeflow.org/docs/components/training/user-guides/job-scheduling/)
- [kubeflow/arena](https://github.com/kubeflow/arena/blob/master/docs/training/volcanojob/volcanojob.md)
- [MPI](https://github.com/volcano-sh/volcano/tree/master/example/integrations/mpi)
- [Horovod](https://github.com/volcano-sh/volcano/blob/master/example/kubecon-2019-china/horovod-sample/lm-horovod-tf-mnist-v0.5.yaml)
- [PaddlePaddle](https://github.com/volcano-sh/volcano/tree/master/example/integrations/paddlepaddle)
- [Cromwell](https://github.com/broadinstitute/cromwell/blob/develop/docs/backends/Volcano.md)
- [MindSpore](https://github.com/volcano-sh/volcano/tree/master/example/MindSpore-example)
- [MXNet](https://github.com/volcano-sh/volcano/tree/master/example/integrations/mxnet/train)
- [Argo](https://github.com/volcano-sh/volcano/tree/master/example/integrations/argo)
- [KubeGene](https://github.com/volcano-sh/kubegene)
## 使用案例
- [为什么 Spark 选择 Volcano 作为 Kubernetes 上的内置批处理调度器?](https://www.cncf.io/blog/2022/06/30/why-spark-chooses-volcano-as-built-in-batch-scheduler-on-kubernetes/)
- [ING 银行:Volcano 如何赋能其大数据分析平台](https://www.cncf.io/blog/2023/02/21/ing-bank-how-volcano-empowers-its-big-data-analytics-platform/)
- [在 Amazon EMR on EKS 上将 Volcano 用作 Apache Spark 的自定义调度器](https://docs.aws.amazon.com/emr/latest/EMR-on-EKS-DevelopmentGuide/tutorial-volcano.html)
- [在 AKS 或 Arc Kubernetes 集群上部署 Azure 机器学习扩展](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-deploy-kubernetes-extension?view=azureml-api-2&tabs=deploy-extension-with-cli)
- [防止 Volcano 调度器出现 GPU 碎片的实用技巧](https://developer.nvidia.com/blog/practical-tips-for-preventing-gpu-fragmentation-for-volcano-scheduler/)
- [在大规模分布式离线计算中使用 Volcano](https://volcano.sh/en/blog/ruitian2-en/)
- [OpenI-Octopus:如何避免 Kubernetes 集群中的资源抢占](https://volcano.sh/en/blog/pengcheng-en/)
- [Volcano 如何赋能小红书的内容推荐引擎](https://volcano.sh/en/blog/xiaohongshu-en/)
- [瑞天如何使用 Volcano 运行大规模离线 HPC 作业](https://volcano.sh/en/blog/ruitian-en/)
- [将 Volcano 集成到脑云操作系统中](https://volcano.sh/en/blog/leinao-en/)
- [Volcano 上的 HPC:容器如何支持气象行业的 HPC 应用](https://volcano.sh/en/blog/hpc-en/)
- [爱奇艺:基于 Volcano 的云原生迁移实践](https://volcano.sh/en/blog/aiqiyi-en/)
- [在 Volcano 上进行 PaddlePaddle 分布式训练](https://volcano.sh/en/blog/paddlepaddle-en/)
## 快速入门指南
### 前置条件
- 支持 CRD 的 Kubernetes 1.12+
您可以通过以下两种方式之一来试用 Volcano。
### 使用 YAML 文件安装
在现有的 Kubernetes 集群上安装 Volcano。此方式同时支持 x86_64 和 arm64 架构。
```
kubectl apply -f https://raw.githubusercontent.com/volcano-sh/volcano/master/installer/volcano-development.yaml
```
开始使用吧!Volcano 将在 `volcano-system` 命名空间中创建以下资源。
```
NAME READY STATUS RESTARTS AGE
pod/volcano-admission-5bd5756f79-dnr4l 1/1 Running 0 96s
pod/volcano-controllers-687948d9c8-nw4b4 1/1 Running 0 96s
pod/volcano-scheduler-94998fc64-4z8kh 1/1 Running 0 96s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/volcano-admission-service ClusterIP 10.98.152.108 标签:3D图, AI训练平台, Apex, Argo, CNCF, DNS解析, EVTX分析, Flink, Go语言, GPU调度, Horovod, HPC, K8s调度器, Kubeflow, kube-scheduler, MindSpore, MPI, PaddlePaddle, PyTorch, Ray, Spark, TensorFlow, web渗透, 人工智能, 任务调度, 分布式计算, 基因组学, 大数据, 子域名突变, 容器编排, 工作负载管理, 开源项目, 异常处理, 弹性计算, 批处理系统, 批处理调度, 提示注入, 数据科学平台, 日志审计, 机器学习, 深度学习, 生物信息学, 用户模式Hook绕过, 目录扫描, 程序破解, 自定义请求头, 计算框架集成, 请求拦截, 资源优化, 集群管理, 高性能计算