volcano-sh/volcano
A Cloud Native Batch System (Project under CNCF)
Volcano – Cloud‑Native Batch Scheduler for AI/ML, Big‑Data & HPC
What it is – Volcano is a Kubernetes‑native batch‑job scheduler that extends the default kube‑scheduler with rich features for high‑throughput, high‑performance workloads. It is designed for AI/ML training, deep‑learning, genomics, Spark/Flink jobs, MPI/Horovod, and other “big‑data” or HPC workloads that run on Kubernetes clusters.
Why it matters – Standard Kubernetes scheduling is optimized for latency‑sensitive services, not for large, parallel, GPU‑heavy jobs that need gang‑scheduling, resource packing, or topology‑aware placement. Volcano adds these capabilities while staying fully compatible with the Kubernetes API and CRDs, letting you run AI training pipelines, data‑processing jobs, and scientific simulations at scale.
Core capabilities
- Gang scheduling – guarantees that all pods of a distributed job start together, preventing dead‑locks in MPI, TensorFlow, PyTorch, Horovod, etc.
- Resource‑aware placement – supports GPU, CPU, memory, and custom resources; includes topology‑aware and network‑aware scheduling to reduce fragmentation and improve performance.
- Job lifecycle management – native
JobandJobSetCRDs, with built‑in retry, back‑off, and job‑completion tracking. - Priority & preemption – lets high‑priority training jobs pre‑empt lower‑priority batch jobs.
- Extensible plugins – scheduler, admission, and controller plugins can be customized for specific frameworks.
- Monitoring & UI – optional Prometheus metrics, Grafana dashboards, and a web dashboard for visual job inspection.
Ecosystem integrations (selected)
| Framework / Tool | Integration point |
|---|---|
| Spark | Scheduler backend for Spark on K8s, Spark Operator support |
| Flink | Custom scheduler for Flink‑on‑K8s operator |
| Ray / KubeRay | Direct Volcano backend for Ray clusters |
| TensorFlow / PyTorch / MXNet / PaddlePaddle / MindSpore | Dedicated plugins and example manifests |
| Kubeflow Trainer / Arena | Volcano‑based job definitions |
| MPI / Horovod | Gang‑scheduling for distributed MPI jobs |
| Argo | Volcano as a resource scheduler for Argo workflows |
| Cromwell, Kthena, Grove, LeaderWorkerSet | Backend support for various workflow engines |
Typical use cases (as highlighted by the project)
- Large‑scale AI model training (e.g., LLM pre‑training, knowledge‑distillation) on GPU clusters.
- Distributed data‑processing pipelines with Spark or Flink.
- Bioinformatics/genomics pipelines that require many CPU cores and high‑speed interconnects.
- HPC simulations in meteorology, finance, or manufacturing that need tight node‑level coordination.
- Multi‑tenant clusters where AI workloads must coexist with latency‑sensitive services.
Quick start (installing on a Kubernetes cluster)
- Prerequisite – Kubernetes 1.12+ with CRD support.
- One‑liner install (works on x86_64 & arm64):
This creates thekubectl apply -f https://raw.githubusercontent.com/volcano-sh/volcano/master/installer/volcano-development.yamlvolcano-systemnamespace with the admission controller, controller manager, and scheduler pods. - Optional Helm install – add the official chart and install:
helm repo add volcano-sh https://volcano-sh.github.io/helm-charts helm install volcano volcano-sh/volcano -n volcano-system --create-namespace - Add monitoring (Prometheus + Grafana) if you need dashboards:
kubectl create -f installer/volcano-monitoring.yaml - Explore the UI – follow the Volcano Dashboard repo for a web UI that shows jobs, resources, and events.
Community & governance
- CNCF incubating project – governed under the Cloud Native Computing Foundation.
- Slack & mailing list – active
#volcanochannel on CNCF Slack, Google Group mailing list, and a WeChat group for Chinese users. - Regular community meetings – public agenda and notes, with recordings of talks from KubeCon (2019‑2026) covering AI, big‑data, and HPC use cases.
- Contributing – over hundreds of contributors; CI via Travis, Go Report Card, and OpenSSF scorecard badges indicate healthy code quality.
TL;DR
Volcano turns a vanilla Kubernetes cluster into a production‑grade batch‑job engine tailored for AI/ML, big‑data, and HPC workloads. It adds gang‑scheduling, GPU‑aware placement, priority/preemption, and deep integrations with the major AI frameworks, all while staying native to the Kubernetes API and ecosystem.
Related
- Project
- Project
- Project
- Project
- Project