
Volcano
A Cloud Native Batch System (Project under CNCF)
- 42
- Projects
- 7
- Years active
- 4
- In 2026 T3
Projects
422026
16 projectsTerm 3 · Sep-Nov · 4 projects
Build a KVCache-aware scheduler E2E test suite
LFX Mentorship · Listed in the official cohort
Kthena router already has a scheduler plugin E2E framework covering prefix-cache, least-request, least-latency, lora-affinity, random, and gpu-usage. The KVCache-aware scheduler plugin also exists, but lacks robust end-to-end coverage for the full runtime path involving the router, mock backends, tokenization, ZMQ events, and Redis. This project aims to build a reusable KVCache-aware scheduler E2E test suite on top of the existing router plugin framework. In addition to validating routing behavior, the suite should provide reusable setup, cache-state injection, observation, and assertion utilities for future KVCache-aware test scenarios. Expected Outcome: 1. Build a reusable KVCache-aware E2E test suite under test/e2e/router/, including shared fixtures and helpers for llm-d-sim, the ZMQ bridge, Redis, cache-state injection, request generation, and routing assertions. 2. Validate the complete data path: dispatch KV-cache ownership events through ZMQ, verify the resulting Redis mappings, and confirm that the router uses them when scoring replicas. 3. Provide a focused command or Make target for running the suite independently, and document how contributors can add future KVCache-aware scenarios. 4. Integrate the suite into CI with deterministic cleanup and useful failure diagnostics for router, Redis, ZMQ, and backend state.
- Go
- Kubernetes
- Kind-based E2E testing
- Redis
- ZMQ
- observability/metrics
- +1
Generic xPU Topology-Aware Scheduling
LFX Mentorship · Listed in the official cohort
Volcano currently schedules xPU resources mainly by their aggregate quantity on each Node, without considering whether the available devices belong to the same physical interconnect domain. For example, a 16-NPU server may contain two independent 8-NPU HCCS domains: eight free devices split across both domains cannot satisfy an 8-device same-domain request. Similar constraints exist for NVLink-connected GPU groups, NVSwitch fabrics, ordinary multi-node clusters with only node-local xPU interconnects, and cross-node fabrics such as GB200 NVL72. This project will add a generic scheduler-side xPU topology-aware plugin to Volcano. The scheduler will select an appropriate HyperNode or fabric domain, Node, local device domain, and concrete device IDs before binding. It will support required and preferred topology affinity, track device availability and reservations, and coordinate device planning and rollback for gang workloads. Topology ingestion must be independent of scheduling policy. A generic provider interface will normalize data from Node annotations, topology CRDs, Device Plugin companion components, vendor APIs, or DRA ResourceSlices into one scheduler-facing model. The initial implementation can use mock topology data and KWOK, without requiring physical NVL72 or other accelerator hardware. Expected outcomes 1. Define a vendor-neutral topology model and provider interface for node-local device domains and cross-node fabric domains, including their relationship with HyperNode. The scheduling logic must remain independent of whether topology is reported through Node annotations, CRDs, Device Plugins, vendor APIs, or DRA. 2. Implement an optional topology-aware scheduling plugin that filters and scores placements using actual domain availability, selects concrete device IDs, and supports gang-level planning, reservation, and rollback. Topology state should be integrated into Volcano's existing scheduler cache and updated incrementally. 3. Validate correctness and performance with KWOK-based scenarios covering multi-domain Nodes, multi-node workloads without a cross-node xPU backplane, and an NVL72-style fabric. Deliver benchmark results, tests, documentation, and examples. Integration with a mock or real Device Plugin is desirable but not required for project validation.
- Strong Go programming and hands-on Kubernetes experience
- familiarity with scheduler
- practical experience with GPUs or other xPUs
- accelerator resource management
- experience with Volcano
- Kubernetes Device Plugins
- +5
Kthena LLM Resource Management in Volcano Dashboard
LFX Mentorship · Listed in the official cohort
Description: Volcano Dashboard already supports Jobs, Queues, Pods, and PodGroups, but Kthena LLM workloads still depend heavily on kubectl and separate tooling for day-to-day operations. This project extends the dashboard into a richer operational interface for Kthena by bringing core serving resources into the UI and improving how users inspect, manage, and troubleshoot inference workloads. The mentee should study the existing dashboard architecture and Kthena resource model, then design an experience that covers not only resource management but also deeper operational workflows such as serving status visualization, routing visibility, rollout awareness, resource relationships, and troubleshooting context across Kthena, Volcano, and Kubernetes objects. - Expected Outcome: - Dashboard support for major Kthena resources such as ModelServing, ModelBooster, ModelRoute, and ModelServer. - UI workflows for inspecting and managing those resources. - Clear visibility into conditions, replicas, rollout state, and relationships to related Pods, PodGroups, Queues, and other underlying resources. - Improved operational and troubleshooting workflows, including routing visibility and serving health context. - Required RBAC and deployment updates for practical cluster usage. - Tests and user-facing documentation.
- TypeScript
- React
- Next.js
- Kubernetes API
- observability basics
- familiarity with Volcano and Kthena
Support inPlace rolling update
LFX Mentorship · Listed in the official cohort
The existing ServingGroupRollingUpdate and RoleRollingUpdate strategies update workloads by deleting outdated resources and creating replacements. This is appropriate for arbitrary Pod template changes, but it is unnecessarily expensive when the only desired change is a container image. Kubernetes permits updates to regular container image fields on an existing Pod. Kubelet applies the new image by restarting the affected container while retaining the Pod object and node assignment. ModelServing should expose this behavior as an explicit update strategy with well-defined safety, availability, recovery, and status semantics. Expected Outcome: 1、design Proposal(Show in the Kthena community Conference) 2、Implementation Code 3、Corresponding unit tests and end-to-end tests 4、Userguide docs
- go/kubernetes
Term 2 · Jun-Aug · 5 projects
Kthena Router Benchmark
LFX Mentorship · Listed in the official cohort
Kthena Router is the LLM routing component in the Volcano/Kthena project, responsible for forwarding inference requests to in-cluster and (soon) third-party model backends. As Kthena gradually matures, the community needs a reproducible benchmark to understand the router's performance characteristics (throughput, latency, tail latency, resource usage) under realistic LLM traffic patterns, and to detect regressions across releases. This project asks the mentee to design and implement a benchmark framework for Kthena Router, produce a complete report. Where the benchmark surfaces clear bottlenecks or inefficiencies, the mentee will also work with maintainers to land code-level optimizations upstream.
- Go
- Kubernetes
- performance benchmarking and profiling (pprof)
- basic familiarity with LLM inference and HTTP/gRPC routing.
Kthena Router supports APIs for third-party models
LFX Mentorship · Listed in the official cohort
At present, the Kthena router provides robust support for routing within the cluster. However, during discussions with customers, some users have expressed a need for the ability to integrate with external large language model APIs. Consequently, the Kthena community plans to use this LFX to enable the router to access third-party LLM APIs.
Scheduler Management, Observability & Log Explorer UI
LFX Mentorship · Listed in the official cohort
Volcano's scheduler has no presence in the dashboard today. Three critical operator workflows are missing: (1) Configuration — the entire scheduling policy (6 actions, 22 plugins, per-plugin toggles and arguments) lives in a raw Kubernetes ConfigMap edited only via kubectl, with no validation or UI; (2) Observability — Volcano exposes rich Prometheus metrics (scheduling latency, preemption counts, unschedulable job/task counts) that the dashboard never queries, leaving operators dependent on a separate Grafana stack; (3) Logs — debugging scheduling issues requires kubectl logs against pods in volcano-system; the dashboard has no log viewing capability at all. This project adds a /scheduler section with three tabs: a Config tab that reads and writes the volcano-scheduler-configmap as a structured form, a Metrics tab that proxies and visualizes the scheduler's Prometheus /metrics endpoint, and a Logs tab that streams live logs from any Volcano system component (volcano-scheduler, volcano-controller-manager, volcano-webhook-manager, volcano-agent) — all backed by new tRPC procedures using the existing CoreV1Api client in packages/trpc/server/utils/k8s.ts.
- TypeScript
- React
- Next.js
- tRPC
- Zod
- Kubernetes API (@kubernetes/client-node)
- +3
Support multi-AgentCube Capability
LFX Mentorship · Listed in the official cohort
At present, AgentCube launches a single agent for both Code Interpretation and agent runtime. However, we have now entered the era of multi-agent collaboration. Consequently, AgentCube aims to support multi-AgentCube orchestration, enabling multiple agents to collaborate on a single task, with AgentCube providing unified management of the lifecycle of these agents.
- Go
- Kubernetes
- agent
Support Namespace-scoped Queue in Volcano
LFX Mentorship · Listed in the official cohort
Volcano's Queue is a cluster-scoped resource, which means only cluster admins can create or update it. This is a barrier for multi-tenant scenarios, where tenants usually only own their own namespaces and want to leverage Volcano's queue capabilities (resource sharing, capability/guarantee/deserved, hierarchy, etc.) for their own workloads without requesting changes from a cluster admin. This project adds a namespace-scoped NamespaceQueue to Volcano. A NamespaceQueue is derived from a cluster-scoped Queue and behaves consistently with it, so tenants can create and use queues within their own namespace and associate PodGroup/Job with a NamespaceQueue exactly as they would with a cluster Queue. The existing cluster Queue semantics and APIs remain unchanged for users who do not opt in.
- Go
- Kubernetes (CRDs
- controllers
- RBAC)
- Familiarity with Volcano (scheduler
- queue
- +3
Term 1 · Mar-May · 7 projects
Add Volcano to Headlamp: Job and Queue Management UI
LFX Mentorship · Listed in the official cohort
Volcano is a batch scheduling system for Kubernetes. This project will create a Headlamp plugin that adds first-class UI support for Volcano resources and workflows. The plugin will help users discover, inspect, and manage Volcano objects (e.g., queues, jobs, podgroups) directly inside Headlamp, making batch/HPC-style scheduling easier to operate from a Kubernetes UI. The idea is aligned with maintainer interest in a Volcano-focused Headlamp plugin.
- TypeScript + React
- (Optional) Headlamp UI/plugin development
- or other open source development
- (Optional) Kubernetes fundamentals (CRDs
- controllers
- RBAC)
- +2
E2E Test Suite for Kthena
LFX Mentorship · Listed in the official cohort
kthena now has components such as router, ModelServing controller, etc. However, it lacks necessary e2e test coverage.
- go
- kind
- docker
E2E Test Suite for Volcano Agent Scheduling
LFX Mentorship · Listed in the official cohort
Volcano has introduced Agent Scheduling feature that supports fast scheduling for AI agent workloads. This includes ShardingController for shard management, agent scheduler for agent workloads scheduling, and enhanced existing Volcano batch scheduler with sharding support to coordinated scheduling with agent scheduler. To ensure correctness and stability of this new scheduling mechanism, we need to build a comprehensive end-to-end (e2e) test suite. Test cases should cover key scenarios including shard creation, node assignment across shards, agent scheduler scheduling in different sharding modes, etc.
- Strong understanding of Kubernetes concepts and Volcano scheduler architecture.
- Familiarity with Volcano agent scheduling design and shard management mechanisms.
- Proficiency in writing e2e test cases using Ginkgo testing framework.
- Experience with Go programming language.
- Knowledge of kubectl and Kubernetes testing best practices.
- Experience with CI/CD workflows and test automation.
E2E Test Suite for Volcano-global
LFX Mentorship · Listed in the official cohort
Volcano-global is a multi-cluster scheduling project designed for cross-cluster resource management. Currently, the project lacks a comprehensive end-to-end (e2e) test suite to ensure stability across complex multi-cluster environments. This project aims to build a reproducible e2e test framework using Ginkgo and Kind, ensure each feature of Volcano-global is covered by test cases.
- Familiarity with Kubernetes concepts.
- Understanding of Karmada and Volcano-global.
- Ability to write e2e test cases using testing frameworks like Ginkgo.
- Proficiency with kind and kubectl.
- Experience with writing Workflows (CI/CD) and Makefiles.
Establishing agentCube's authentication and authorisation capabilities
LFX Mentorship · Listed in the official cohort
AgentCube is a proposed subproject in the Volcano community. It is designed to extend Volcano's capabilities to natively support and manage AI Agent workloads. At present, agentCube lacks authentication and authorisation capabilities. Therefore, it is hoped that basic authentication and authorisation capabilities for request identities can be established.
- go
- kind
- docker
- authorization and authentication
Optimising Kthena's autoscaler
LFX Mentorship · Listed in the official cohort
Kthena already possesses an autoscaler, but lacks ecosystem integration with peripherals such as HPA and KEDA. Consequently, users may harbour reservations when employing it. Therefore, there is a desire to optimise Kthena's autoscaler.
- go
- kind
- docker
- HPA
Volcano Documentation & Website Revamp with Docusaurus
LFX Mentorship · Listed in the official cohort
The Volcano project currently uses Hugo for building its official website. However, current Hugo version of the website is pretty old and lacks modern features and flexibility, especially it is difficult to extend styles such as secondary menus, and there are problems such as invalid rendering of new markdown syntax. Docusaurus is a modern documentation framework that provides better support for versioning, localization, and theming. This mentorship focuses on modernizing the Volcano website by migrating it to Docusaurus, improving documentation structure, maintainability, and overall user experience. The project will involve replicating and enhancing the existing theme, restructuring documentation, improving navigation, and aligning the site with CNCF documentation best practices. The mentorship will also explore long-term maintainability and contributor-friendliness of the documentation workflow, especially to ensure that the documentation in the Volcano website is automatically synchronized with the documentation in Volcano's other code repos, using some automated tools like agents to keep the Volcano website up-to-date.
- Basic knowledge of JavaScript/TypeScript
- Familiarity with React (preferred)
- Experience with static site generators (Docusaurus/Hugo preferred)
- Markdown and documentation best practices
- Git and GitHub workflow
- Basic understanding of Kubernetes and Volcano concepts
2025
7 projectsTerm 2 · Jun-Aug · 4 projects
Enhance JobFlow Functionality
LFX Mentorship · Listed in the official cohort
The Volcano community introduced JobFlow to address inter-job dependencies. Through the concepts of JobTemplate and JobFlow, users can declare and orchestrate multiple Volcano jobs, leveraging control flow primitives such as sequential, parallel, conditional, branching, and looping execution. JobFlow aims to facilitate the migration of AI, BigData, and HPC workloads to the cloud-native environment. The current JobFlow functionality requires further enhancements to meet more complex real-world scenarios. Ref:
- Kubernetes
- GO
- Volcano
Enhance Volcano Dashboard UX and Functionality
LFX Mentorship · Listed in the official cohort
The Volcano Dashboard serves as the frontend for displaying Volcano resources. Currently, it supports resources like Volcano Jobs, Queues, and Pods, but editing often involves raw YAML, which is not user-friendly for modifying or creating new resources. To improve user experience, this project aims to enhance the Dashboard's interactivity and user-friendliness, as well as support the display of hierarchical Queues and HyperNode resources.
- Kubernetes
- React
- Node
- JavaScript
Enhance Volcano Official Documentation
LFX Mentorship · Listed in the official cohort
As Volcano's functionality grows and its integration with the broader ecosystem deepens, the community documentation needs to be updated and iterated upon to provide better user guidance and experience. Clear and comprehensive documentation helps users quickly get started with Volcano and reduces the cost of usage and configuration. Currently, some documentation is scattered across the GitHub repository and needs to be migrated to the official website to provide a unified entry point for users.
- Technical Writing
- Markdown
- Git
- Hugo or other static site generators
Implement Volcano Scheduler Simulator
LFX Mentorship · Listed in the official cohort
For users of Kubernetes and Volcano schedulers, the scheduling process is often a black box. Understanding how scheduling decisions are made and evaluating the functionality and performance of the scheduler, especially when introducing new scheduling features, can be challenging. Setting up a full-fledged Kubernetes cluster and generating realistic workloads to observe scheduling behavior can be resource-intensive and time-consuming. Users need a lightweight and efficient way to verify the correctness and performance implications of scheduler changes without the overhead of a real cluster. The kube-scheduler community has addressed this need with kube-scheduler-simulator, and the Volcano community would greatly benefit from a similar tool.
- Kubernetes
- GO
- Volcano
Term 1 · Mar-May · 3 projects
Coordinate descheduler and Volcano to support resource defragmentation
LFX Mentorship · Listed in the official cohort
Volcano community has provided Volcano descheduler to support descheduling. Currently, load-aware rescheduling is supported. Resource fragmentation is a problem that users are more concerned about. Volcano needs to provide a resource defragmentation strategy based on the existing descheduler, and needs to ensure that the evicted pods can be rescheduled successfully, which requires the cooperation of the rescheduler and the scheduler to solve resource fragmentation and maximize resource utilization.
- Kubernetes
- GO
- Volcano
Volcano dashboard feature enhancements
LFX Mentorship · Listed in the official cohort
Volcano dashboard is a volcano resource front-end display tool. Currently, it only supports viewing resources, and the resources displayed are limited. It needs to support viewing more resources, and supports operations such as creation and deletion.
- Kubernetes
- React
- Node
- JavaScript
Volcano supports queue-level scheduling policies
LFX Mentorship · Listed in the official cohort
Volcano supports unified scheduling of online and offline workloads, provides a wealth of scheduling plugins and algorithms, and can distinguish different tenants through queue distinction. The current scheduling policy is a global configuration, and all jobs in the queue use the same scheduling policy, but in actual scenarios, different tenants may need to use different scheduling policies due to different usage scenarios. Therefore, volcano needs to support setting and using different scheduling policies at the queue level instead of using a globally unified scheduling policy.
- Kubernetes
- GO
- Volcano
2024
2 projectsTerm 1 · Mar-May · 2 projects
Volcano supports DRA integration
LFX Mentorship · Listed in the official cohort
DRA is a new generation device management mechanism for kubernetes. It introduces a new resource request API ResourceClaim, which requires kubelet, kube-controller-manager, scheduler, and third-party device management controllers to cooperate with each other to work. The kube-scheduler has implemented corresponding scheduling capabilities, Volcano also needs to implement the DRA scheduling plug-in to integrate the DRA function.
- Go
- Kubernetes
- Volcano
Volcano supports multi-cluster AI workloads scheduling
LFX Mentorship · Listed in the official cohort
Volcano provides rich scheduling capabilities for AI workloads in the field of single cluster. In large model training scenarios, a single cluster cannot meet the computing power requirements of jobs, more and more users hope to submit jobs uniformly on multiple clusters for large model training, volcano needs to provide various scheduling capabilities, such as job management, gang scheduling, queue management, etc., and select the appropriate cluster for jobs to cope with the requirements of large model training.
- Go
- Kubernetes
- Volcano
2023
4 projectsTerm 3 · Sep-Nov · 4 projects
Add user guidance for jobflow
LFX Mentorship · Listed in the official cohort
Since jobflow is an important built-in orchestration engine for Volcano, it is still lack of user guidance. Please add more docs to demonstrate its installation, usage, tips and so on.
- Volcano
- jobflow
Build a new elastic resource quota mechinism in Volcano
LFX Mentorship · Listed in the official cohort
design and implement a new hierarchical elastic resource quota mechinism to support resource lending and borrowing to improve the cluster utilization for multi-tenants environment.
- Go
- Kubernetes
- Volcano
Fix bugs for jobflow to enhance its stability
LFX Mentorship · Listed in the official cohort
As a built-in orchestration engine for Volcano, jobflow acts as an improtant role for users and it's still new-born. Many issues related to its stability are reported recently. Please help make full test for job-flow on the classical scenarios and reslove bugs reported in issues.
- Volcano
- jobflow
- Go
- UT
- E2E
Support NPU accelerator scheduling in Volcano
LFX Mentorship · Listed in the official cohort
design and implement NPU accelerator scheduling in Volcano including the vitrualized NPU resource scheduling, job controller enhancement for NPU distributed training, NPU topology scheduling and so on.
- Go
- Kubernetes
- Volcano
2022
7 projectsTerm 3 · Sep-Nov · 5 projects
Avoid hot node in dynamic scheduling based on real workload
LFX Mentorship · Listed in the official cohort
In v1.6.0, Volcano has supported dynamic scheduling based on real workload. However, the scheduler cannot be aware of hot nodes which may receive too many bound pods. Your task is to design an algorithm to avoid hot nodes and balance node pressure.
- Go
- Volcano
Implement pod filter chain for rescheduling
LFX Mentorship · Listed in the official cohort
Currently, Volcano will regard all pods as potential victims in rescheduling, which is not so reasonable in some scenarios. Your task is to implement a pod filter chain to support custom configurations.
- Go
- Volcano
Integrate Volcano with Ray
LFX Mentorship · Listed in the official cohort
Volcano has supported a lot of mainstream computing platforms such as Spark and TensorFlow. As Ray is a new and popular computing platform, Volcano should integrate with it.
Pick out reasonable victim pods for rescheduling plugin
LFX Mentorship · Listed in the official cohort
Currently, rescheduling is a little rough to evict victim pods without difference. It should distinguish pods with more consideration such as pod priority, namespace and so on. Your task is to take a full consideration about all the scenarios, provide a design documentation, implement your idea and give a full test.
- Go
- Volcano
Support hot update daemon log level
LFX Mentorship · Listed in the official cohort
Users have no ways to update log level of Volcano components now, which is difficult to track bugs especially in the production environment. Your task is to achieve it.
Term 0 · 2022 Summer (Jun-Aug) · 2 projects
Official Website Docs Enhancement
LFX Mentorship · Listed in the official cohort
Official website docs has not been updated for a long time including technology docs, talks, best practice and so on, which bothers users and developers a lot.
- Kubernetes
- Go
- technical writing
- English
- Chinese
Volcano scalability enhancement
LFX Mentorship · Listed in the official cohort
In order to have a better support of other AI/HPC platforms and GPU, it is necessary to enhance the integration with third-party operators and GPU support.
- Kubernetes
- Go
2021
3 projectsTerm 0 · 2021 Spring (Mar-May) · 3 projects
Enhanced Support to GPU
LFX Mentorship · Listed in the official cohort
Volcano has supported GPU sharing, but not enough. It's a lack of supporting multiple GPUs used for one container in device plugin. Your task is to complete related features about GPU support.
- Go(basic)
- Kubernetes(basic)
- Volcano
Reading Materials Update And Supplement
LFX Mentorship · Listed in the official cohort
In order to make volcano easy to use and understand, you task is to improve reading materials.
- English
- Volcano
System Stability Enhancement
LFX Mentorship · Listed in the official cohort
Add more UT/E2E to cover more classical scenarios. Conduct complete stress testing and regression testing, Offer test report, give the improvement plan and put it into practice.
- Go
- Test
2020
3 projectsTerm 0 · 2020 Q3–Q4 · 3 projects
Customize scheduling algorithms per queue
CommunityBridge · Listed in the official cohort
Support customized scheduling algorithms per queue
- Kubernetes
- Scheduling
- Go
Implement hierarchy queue to better support fair-share
CommunityBridge · Listed in the official cohort
Implement hierarchy queue to better support fair-share
- Volcano
- Scheduling
- Go
Implement specific job types to improve usability
CommunityBridge · Listed in the official cohort
Improve Job API to support specific types of job
- Volcano
- Job Management
- Go
Mentors
22
Jinyu Zhou@FAUST-BENCHOU
Jprakash@katara-Jayprakash
Zicong Chen(Jesse Stutler)@JesseStutler
Yang Wang@wangyang0616
João Azevedo@devzizu
Hajnal Mate@hajnalmt
ZhenCheng Lee@LiZhenCheng9527
Kuldeep Singh@de6p
Zengzeng Yao@yaozengzeng
Zhonghu Xu@hzxuzhonghu
Santhosh Nagaraj@yolossn
Rene Dudfield@illume
Showing 12 of 22. Each project card links to its own mentor.