mrkeyoor.com_
Thu 10 Sept 00:01 UTC
Automationevaluationupdated 09 Sept 2026

volcano review

Volcano is a Kubernetes-native batch scheduling system. It extends the standard kube-scheduler to run AI/ML, big data, and HPC workloads efficiently, with gang scheduling, queueing, fair-share, and preemption.

trackingstars / 7d
Verdict

Our sandbox run finished a clean install in 71 seconds and a successful build in 280 seconds, but 33 of 227 tests failed, all in e2e suites that need a live cluster. If you run batch AI or big data jobs on Kubernetes, Volcano is a proven, actively maintained scheduler with an unusually wide integration surface.

We ran it

Install✓ · 71s460 packages
Build✓ · 280s
Tests✗ · 313s194 passed · 33 failed of 227 (go test)
Repo1932 files~266,275 lines of source · 46.1 MB · 25 CI workflows · tests dir

Answers from our run

Does volcano build from source?

Dependencies installed in 71 seconds (460 packages), and the build succeeded in 280 seconds. We cloned commit 606c628 into a clean Debian container with 3 CPUs and no project-specific setup.

Do volcano's tests pass?

Not all of them: 194 of 227 passed and 33 failed when we ran the project's own test command (go test). Some failures need services or credentials a bare container does not have.

Who should not use volcano?

Teams with only simple stateless services; the default kube-scheduler is enough

What are the alternatives to volcano?

Kueue, Apache YuniKorn, Koordinator. Our sandbox run finished a clean install in 71 seconds and a successful build in 280 seconds, but 33 of 227 tests failed, all in e2e suites that need a live cluster.

Setup3/5Install and build clean; full tests need a live cluster
Docs4/5Detailed README, ecosystem guides, and many talks
Community4/5Active: last push Sep 2026, CNCF incubating
Maturity4/5Incubating, v1.15.2, widely adopted

Who it’s for

Platform engineers running Kubernetes clusters that need batch job queues, gang scheduling, or fair-share
ML/AI teams using PyTorch, TensorFlow, Ray, or Spark operators on Kubernetes
HPC or genomics teams that need topology-aware or high-throughput scheduling

Who it’s NOT for

Teams with only simple stateless services; the default kube-scheduler is enough
Developers who want a turnkey job queue without Kubernetes; Volcano assumes you already run Kubernetes
Small teams that cannot operate a second scheduler and its CRDs; it adds moving parts

Setup reality

Our sandbox cloned the repo at commit 606c628 and ran it on 2026-09-09 with 3 CPUs, 8 GB of RAM, and Go 1.24. Install succeeded in 71 seconds and pulled 460 packages. Build succeeded in 280 seconds. The full test run failed with exit code 1 after 313 seconds: 194 passed and 33 failed out of 227. Every failure was in e2e suites like jobseq, schedulingaction, and stress, and the log shows those suites need a live Kubernetes cluster that our fresh container did not have. So getting the code to compile is straightforward, but validating it end to end requires a cluster the README does not spell out for new contributors.

Volcano is a Kubernetes-native batch scheduling system, not a general-purpose orchestrator. It extends the standard kube-scheduler with gang scheduling, job queues, fair-share, preemption, and reservation features aimed at AI/ML, big data, and HPC jobs that need to run as a group. The project sits under the Cloud Native Computing Foundation as an incubating project, and the README says it draws on over fifteen years of experience running high-performance workloads. At review time, this is a Go codebase with 5,932 GitHub stars, Apache-2.0 license, and release v1.15.2 from August 29, 2026.

What happened when we ran it

We cloned the repo at commit 606c628 and ran it in a sandbox with 3 CPUs, 8 GB of RAM, and Go 1.24 on 2026-09-09. Install succeeded in 71 seconds and installed 460 packages. Build succeeded in 280 seconds. The full test run failed with exit code 1 after 313 seconds: 194 tests passed and 33 failed out of 227. The failing log lines are all end-to-end suites (jobseq, schedulersharding, schedulingaction, schedulingbase, schedulinggates, shardingcontroller, stress, vcctl), not unit tests. Those e2e suites need a live Kubernetes cluster, and our fresh Debian container had none. That failure is not a code bug in itself, but it does mean a contributor cannot validate the repo end to end from the README alone.

Volcano's biggest selling point is its integration surface. The README lists Spark Operator, native Spark, Flink, KubeRay, PyTorch, TensorFlow, kubeflow/trainer v2, kubeflow/training-operator v1, kubeflow/arena, MPI, Horovod, PaddlePaddle, Cromwell, MindSpore, MXNet, Argo, and KubeGene. That is a remarkable breadth, and it means most batch or AI operators on Kubernetes can point at Volcano as a scheduler with only a schedulerName change. The project also has an active talk list at KubeCon events from 2019 through 2026, including sessions on LLM training and topology-aware scheduling. It has hundreds of contributors and regular releases, with v1.15.2 arriving less than two weeks before our review.

Rough edges start with the test experience. Our run produced 33 failed tests in e2e suites, and the README does not clearly tell new contributors that they need a live cluster to run those tests. The repository is also large: 1,932 files and roughly 266,275 lines of source. The issue tracker has 823 open issues, which suggests a busy project but also a backlog that may hide stale problems. The repo has no Dockerfile among the measured files, so local development depends on your Kubernetes setup or make targets that are not covered in the README snippet we reviewed. None of this blocks adoption, but it raises the effort for first-time contributors.

Activity is strong. The last push to the default branch was September 8, 2026, one day before our review. The latest release v1.15.2 was cut on August 29, 2026. There are 25 CI workflow files, a tests directory, and OpenSSF Scorecard plus CII Best Practices badges in the README. The project is CNCF incubating, which means it has passed a minimum bar for governance and security practices. The 823 open issues are high, but for a repo of this size and adoption, that is not unusual. Contributors appear to be reviewing and merging regularly.

Volcano fits behind an existing Kubernetes API server, not in front of one. You run its controllers and scheduler alongside kube-scheduler, then set schedulerName: volcano on Jobs, PodGroups, or other batch CRDs. In a real stack, you would use Volcano with Spark Operator for large ETL, KubeRay for distributed training, or Kubeflow for ML pipelines. It is not a replacement for your container orchestrator or your workload manager; it is the scheduling brain that decides where and when batch pods run. Our sandbox install needed 460 packages and a 280-second build, so you will want a proper Kubernetes cluster and CI pipeline rather than ad hoc local runs.

Alternatives

ProjectWhat it isPick it when
Kueue gh↗Kubernetes-native job queueing with resource flavor and quota management.pick this when you want a lighter-weight native queueing controller and already use Kubernetes scheduling primitives.
Apache YuniKornA resource scheduler for big data and stateless workloads on Kubernetes.pick this when you need a scheduler with strong fair-share and multi-tenant batch support and prefer Apache governance.
KoordinatorQoS-aware scheduling and co-location for latency-sensitive and batch workloads.pick this when you need to mix online services and offline batch on the same cluster with finer resource isolation.

What people are saying

  1. [github-trending] volcano-sh/volcano

Sources

  1. volcano-sh/volcano
  2. Volcano

More automation reviews

krops · escrcpy · jenkins · n8n-workflows · winutil · kudu · the whole board →