Skip to content

歴史

起源

Volcano は Huawei で Kubernetes 向けバッチスケジューラとして始まり、2019 年 6 月の KubeCon Shanghai で OSS 化された。経緯は CNCF の Incubation 移行ブログに書かれている。GitHub リポジトリの作成は 2019-03-14 (GitHub API)。スケジューラの中核は Kubernetes SIG-Scheduling のプロジェクト kube-batch (kubernetes-sigs/kube-batch) を土台にしており、README に明記されている。Volcano は kube-batch を引き継ぎ、スケジューラの上にジョブライフサイクル CRD・コントローラ・admission Webhook を重ねた本格的なバッチシステムへと育った。

年表

マイルストーン
2019KubeCon Shanghai で OSS 化。リポジトリ作成 2019-03-14
20202020-04-09 に CNCF Sandbox 受理。CNCF として最初のクラウドネイティブバッチコンピューティングプロジェクト
20222022-03-21 の TOC 投票で CNCF Incubating に昇格、2022-04-07 にアナウンス
2026v1.15.0 を 2026-06-01 にリリース

どう進化したか

CNCF ブログは Sandbox 受理から Incubation までの成長を記録している。コントリビュータは 70+ から 350+ へ、参加組織は 5 から 50+ へ増え、Amazon・HP・Huawei・Google・Oracle などが含まれる。普及の転機は Apache Spark が Kubernetes 上の built-in バッチスケジューラに Volcano を選んだことで、既存の大きなユーザー基盤に直接の統合をもたらした (CNCF Spark ブログ)。

コードベースは当初のスケジューラを大きく超えて拡張されてきた。近年の追加には、ネットワークトポロジ対応・NUMA 対応のスケジューリングプラグイン、dynamic resource allocation サポート、サブジョブスケジューリング、オンライン・オフラインワークロード混載のためのノードエージェントがある。スケジューラは kube-batch から受け継いだ action と plugin の分離を今も保っている。

現在地

Volcano はリリースが活発な CNCF Incubating プロジェクトで、最新のタグ付きリリースは v1.15.0 (2026-06-01)、開発はそのタグの先の master で続いている。ビルドは 6 つのバイナリ (vc-scheduler, vc-controller-manager, vc-webhook-manager, vc-agent, vc-agent-scheduler, vcctl) を生成し、Go 1.25 を対象とする。CRD は別モジュール volcano.sh/apis に置かれ、go.mod の replace ディレクティブで参照される。

出典

  1. volcano-sh/volcano リポジトリ (README, ソース, git メタデータ)
  2. Cloud Native Batch System Volcano moves to the CNCF Incubator
  3. Volcano project page (CNCF)
  4. Why Spark chooses Volcano as built-in batch scheduler on Kubernetes