volcano

A Kubernetes Native Batch System

Github stars Tracking Chart

volcano-logo


Build Status
Go Report Card
RepoSize
Release
LICENSE
FOSSA Status CII Best Practices

Volcano is a batch system built on Kubernetes. It provides a suite of mechanisms that are commonly required by
many classes of batch & elastic workload including: machine learning/deep learning, bioinformatics/genomics and
other "big data" applications. These types of applications typically run on generalized domain frameworks like
TensorFlow, Spark, PyTorch, MPI, etc, which Volcano integrates with.

Volcano builds upon a decade and a half of experience running a wide
variety of high performance workloads at scale using several systems
and platforms, combined with best-of-breed ideas and practices from
the open source community.

NOTE: the scheduler is built based on kube-batch;
refer to #241 and #288 for more detail.

Overall Architecture

volcano

Talks

Ecosystem

Quick Start Guide

Prerequisites

  • Kubernetes 1.12+ with CRD support

You can try volcano by one the following two ways.

Install with YAML files

Install volcano on a existing Kubernetes cluster.

kubectl apply -f https://raw.githubusercontent.com/volcano-sh/volcano/master/installer/volcano-development.yaml

Enjoy! Volcano will create the following resources in volcano-system namespace.

NAME                                       READY   STATUS      RESTARTS   AGE
pod/volcano-admission-5bd5756f79-dnr4l     1/1     Running     0          96s
pod/volcano-admission-init-4hjpx           0/1     Completed   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   <none>        443/TCP   96s

NAME                                  READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/volcano-admission     1/1     1            1           96s
deployment.apps/volcano-controllers   1/1     1            1           96s
deployment.apps/volcano-scheduler     1/1     1            1           96s

NAME                                             DESIRED   CURRENT   READY   AGE
replicaset.apps/volcano-admission-5bd5756f79     1         1         1       96s
replicaset.apps/volcano-controllers-687948d9c8   1         1         1       96s
replicaset.apps/volcano-scheduler-94998fc64      1         1         1       96s

NAME                               COMPLETIONS   DURATION   AGE
job.batch/volcano-admission-init   1/1           48s        96s

Install from code

If you have no kubernetes cluster, try one click install from code base:

./hack/local-up-volcano.sh

Community, discussion, contribution, and support

You can reach the maintainers of this project at:

Slack Channel : https://volcano-sh.slack.com. (Signup here)

Mailing List : https://groups.google.com/forum/#!forum/volcano-sh

Gitter: https://gitter.im/volcano-dev/

Main metrics

Overview
Name With Ownervolcano-sh/volcano
Primary LanguageGo
Program languageMakefile (Language Count: 6)
Platform
License:Apache License 2.0
所有者活动
Created At2019-03-14 09:47:29
Pushed At2025-06-06 08:18:58
Last Commit At2025-06-06 16:18:57
Release Count52
Last Release Namev1.12.1 (Posted on )
First Release Namev0.1 (Posted on )
用户参与
Stargazers Count4.7k
Watchers Count84
Fork Count1.1k
Commits Count5.9k
Has Issues Enabled
Issues Count1795
Issue Open Count247
Pull Requests Count1892
Pull Requests Open Count75
Pull Requests Close Count612
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private