Volcano is a Kubernetes-native batch scheduling system that extends the standard kube-scheduler to manage and optimize batch and elastic workloads. Built in Go and maintained as an incubating project under the Cloud Native Computing Foundation, Volcano provides specialized scheduling capabilities for artificial intelligence, machine learning, deep learning, bioinformatics, genomics, and big data applications. The system integrates with major frameworks including Spark, Flink, Ray, TensorFlow, PyTorch, Argo, MindSpore, PaddlePaddle, Kubeflow, MPI, Horovod, MXNet, and KubeGene.
The project incorporates over fifteen years of collective operational experience managing high-performance workloads at scale. Volcano was originally built based on kube-batch, as documented in issues and pull requests within the repository. The system combines proven best practices from the open-source community with innovative scheduling concepts to deliver flexible resource optimization for diverse workload types.
The project maintains connections with related Kubernetes ecosystem repositories including kubernetes/minikube, kubernetes/kubernetes, and istio/istio through overlapping contributor networks.
Volcano's ecosystem integration is extensive, with official support documented for Spark Operator, native Spark on Kubernetes, Flink, KubeRay, PyTorch, TensorFlow, Kubeflow trainers, MPI, Horovod, PaddlePaddle, Cromwell, MindSpore, MXNet, Argo, KubeGene, LeaderWorkerSet, and Kthena. Real-world use cases demonstrate Volcano's impact across major organizations and platforms, including Apache Spark's adoption as a built-in batch scheduler, ING Bank's big data analytics platform, Amazon EMR on EKS, Azure Machine Learning on AKS, and deployments at companies like Xiaohongshu, iQIYI, and Ruitian for large-scale offline computing and HPC jobs.
Installation options include YAML files for both x86_64 and arm64 architectures, Helm charts via the official helm-charts repository, and source code installation for developers. The system requires Kubernetes 1.12 or higher with CRD support, with specific CRD versions recommended based on Kubernetes version. Additional components available include Volcano Agent for colocation support, a monitoring system with Prometheus and Grafana dashboards, and a dedicated Volcano Dashboard for cluster visualization and management.