You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Kueue 0.1.0-alpha: Visual Batch Workload Management in Headlamp
This is the first alpha release of the Kueue plugin for Headlamp. The plugin adds a dedicated Kueue section to Headlamp where users can monitor queues and workloads directly from the Headlamp UI. It provides list and detail pages for Cohorts, ClusterQueues, LocalQueues, ResourceFlavors, and Workloads, showing queue status, available resources, workload priority, resource usage, and pending or admitted workloads. Related resources are linked together, making it easy to move between queues and workloads without searching through separate YAML files.
Kueue helps Kubernetes manage batch workloads when a cluster has limited CPU, memory, GPUs, or other resources. It places workloads into queues and decides which ones can start and which ones need to wait. The plugin makes this process easier to follow by showing Kueue information in a clear visual form inside Headlamp. Users can quickly understand why a workload is waiting, which queue it belongs to, which resources were assigned to it, and how resources are being shared across the cluster.
Demo: Managing Kueue Workloads in Headlamp
kueue_release_under_10MB.mp4
Making Batch Workloads Easier to Understand
Kueue information can be viewed with kubectl, but users often need to move between several resources and read large YAML files to understand why a workload is waiting or where it will run.
A user may need to answer simple questions such as:
Which queue did this workload enter?
Has the workload been allowed to start?
If it is waiting, what is blocking it?
Which ClusterQueue provides resources to a LocalQueue?
How much CPU or memory is available or already in use?
Which ResourceFlavor was assigned?
Which ClusterQueues are sharing resources through a Cohort?
The plugin organizes this information into clear list and detail pages. Related resource names are also clickable, helping users follow the full path without searching for every resource separately.
For Headlamp Users: Kueue Resources in the Existing Dashboard
For Headlamp users, the plugin adds a dedicated Kueue section to the sidebar.
It helps users:
find Kueue resources without leaving Headlamp
see queue and workload status in readable tables
inspect configuration without starting from raw YAML
open Kubernetes conditions and events from detail pages
move between related queues, workloads, Cohorts, and ResourceFlavors
use Headlamp's existing YAML and resource actions
receive a clear message when their Kubernetes account does not have access to a resource
For Kueue Users: A Visual View of Queues and Workloads
For Kueue users, the plugin provides a visual way to understand how batch workloads move through the queue system.
It helps users:
compare ClusterQueues and their available resources
see which LocalQueues use a ClusterQueue
find pending and admitted Workloads connected to a queue
check whether a Workload is waiting, admitted, finished, or unable to run
inspect Workload resource requests and assigned resources
understand how Cohorts group ClusterQueues for resource sharing
inspect the node rules represented by ResourceFlavors
Alpha Focus: The Main Kueue Resource Flow
This first alpha focuses on the main resources used to understand queueing and workload status:
The views are read-only in this alpha. Users can inspect resources and use the standard Headlamp resource actions, but the plugin does not add its own create, edit, pause, resume, or delete workflows.
Included in This First Alpha
Kueue Navigation and Access Handling
The plugin adds a Kueue section to the Headlamp sidebar with separate pages for every supported resource.
This alpha includes:
routes for all supported Kueue resources
list and detail pages that match the rest of Headlamp
readable status values instead of large raw objects
namespace filtering for LocalQueues and Workloads
Kubernetes conditions and events on detail pages where available
permission checks before loading a page
clear access messages when the current user cannot view a resource
access to raw YAML through Headlamp's standard actions
Cohorts: Understanding Shared Resources
A Cohort groups ClusterQueues that can share unused resources with each other.
The Cohort pages show:
parent Cohort
child Cohorts
member ClusterQueues
resource groups and covered resources
referenced ResourceFlavors
normal resource limits, borrowing limits, and lending limits
fair-sharing weight and current weighted share
direct links to related Cohorts, ClusterQueues, and ResourceFlavors
ClusterQueues: Capacity, Usage, and Status
A ClusterQueue represents the cluster-level resources available to workloads.
The ClusterQueue list gives a quick view of:
Cohort
queueing strategy
resource groups
ResourceFlavors
pending Workloads
admitted Workloads
current status
The detail page also shows:
stop policy and namespace selection rules
resource limits for CPU, memory, and other resources
borrowing and lending limits
currently reserved and used resources
preemption settings
rules for choosing between ResourceFlavors
admission checks
fair-sharing settings
Kueue conditions and Kubernetes events
related LocalQueues and Workloads with direct links
These sections help users compare what a queue is allowed to use with what it is using now.
LocalQueues: Namespace-Level Queue Activity
A LocalQueue is the queue that workloads use inside a Kubernetes namespace. It connects those workloads to a ClusterQueue.
The LocalQueue pages show:
namespace
connected ClusterQueue
stop policy
pending, admitted, and reserving Workload counts
current status and conditions
related Workloads from the same namespace
direct links to the ClusterQueue and Workload detail pages
ResourceFlavors: The Type of Resources a Workload Can Use
A ResourceFlavor describes a type of cluster resource. For example, it can represent nodes with a particular label, hardware type, or placement rule.
The ResourceFlavor pages show:
node labels
node taints
tolerations
topology information
links from ClusterQueue and Cohort resource tables
Workloads: Queue, Priority, and Current State
A Workload represents the resource request that Kueue evaluates before allowing a batch job to start.
The Workload list shows:
name and namespace
LocalQueue
priority and priority class
whether the Workload is active
whether it has been admitted
whether it has finished
a readable current status
age
The Workload detail page shows:
linked LocalQueue and assigned ClusterQueue
priority and owner information
requested Pod Sets and pod counts
CPU, memory, and other resource requests
assigned ResourceFlavors and admitted resource usage
admission checks and their messages
reclaimable pods
requeue information
maximum and previous execution time
assigned or suggested clusters when available
scheduling and eviction information
Kueue conditions and Kubernetes events
Navigation Between Related Resources
The plugin connects related resources so users can follow a workload's queue path directly from the UI.
Supported navigation includes:
Cohort -> parent and child Cohorts
Cohort -> member ClusterQueues
Cohort -> ResourceFlavors
ClusterQueue -> Cohort
ClusterQueue -> ResourceFlavors
ClusterQueue -> related LocalQueues
ClusterQueue -> related pending and admitted Workloads
LocalQueue -> ClusterQueue
LocalQueue -> related Workloads in its namespace
Workload -> LocalQueue
admitted Workload -> assigned ClusterQueue
Both pending Workloads connected through a LocalQueue and admitted Workloads assigned directly to a ClusterQueue are included. If part of the related data cannot be loaded, the page explains what is unavailable instead of showing a misleading empty result.
Installing and Running the Plugin
Install from the Headlamp Plugin Catalog
Once the release is available in the catalog:
Open Headlamp.
Go to Settings.
Open Plugins.
Search for Kueue.
Install and enable the plugin.
Open a Kubernetes cluster where Kueue is installed.
Use the Kueue section in the sidebar.
Run Locally for Development
git clone https://github.com/headlamp-k8s/plugins.git
cd plugins/kueue
npm install
npm run start
To build the plugin:
npm run build
Requirements
To view Kueue resources in Headlamp, you need:
Headlamp Desktop or a Headlamp installation in a cluster
a Kubernetes cluster that Headlamp can access
Kueue installed in that cluster
the Kueue v1beta2 resource definitions used by this alpha
Kubernetes permission to view the required Kueue resources
Node.js v20.11.1 or later when building from source
If Kueue is not installed, its resources will not be available. If the current Kubernetes user does not have permission to view a resource, the plugin displays an access message.
Testing and Quality Checks
The plugin includes sample Cohort, ClusterQueue, LocalQueue, ResourceFlavor, and Job files for local testing. The sample Job allows Kueue to create a real Workload that can be inspected in Headlamp.
Development checks include:
TypeScript checks
ESLint
Prettier formatting
unit tests for resource values and relationships
production build verification
Contributors
This plugin was created as part of the Linux Foundation Mentorship (LFX) program and developed with review and guidance from the Headlamp and Kueue communities.
Plugin design and implementation, tests, UI/UX, documentation, demo preparation, and release preparation
Thank you to the Headlamp and Kueue maintainers and reviewers for helping shape the plugin through technical guidance, testing feedback, and code review.
Next: Map View, Metrics, and Monitoring
Possible follow-up work includes:
adding a map view to show the connections between Cohorts, ClusterQueues, LocalQueues, and Workloads
adding metrics for queue capacity, resource usage, and pending or admitted Workloads
adding monitoring views that make queue health and Workload status easier to track
This release is intended as the first usable alpha for viewing and understanding Kueue batch queues and Workloads in Headlamp. Community feedback will help guide the map, metrics, and monitoring work planned for future releases.
Feedback
This is the first public alpha release of the Kueue plugin for Headlamp. Feedback, bug reports, and feature ideas are welcome.
Kueue 0.1.0-alpha: Visual Batch Workload Management in Headlamp
This is the first alpha release of the Kueue plugin for Headlamp. The plugin adds a dedicated Kueue section to Headlamp where users can monitor queues and workloads directly from the Headlamp UI. It provides list and detail pages for Cohorts, ClusterQueues, LocalQueues, ResourceFlavors, and Workloads, showing queue status, available resources, workload priority, resource usage, and pending or admitted workloads. Related resources are linked together, making it easy to move between queues and workloads without searching through separate YAML files.
Kueue helps Kubernetes manage batch workloads when a cluster has limited CPU, memory, GPUs, or other resources. It places workloads into queues and decides which ones can start and which ones need to wait. The plugin makes this process easier to follow by showing Kueue information in a clear visual form inside Headlamp. Users can quickly understand why a workload is waiting, which queue it belongs to, which resources were assigned to it, and how resources are being shared across the cluster.
Demo: Managing Kueue Workloads in Headlamp
kueue_release_under_10MB.mp4
Making Batch Workloads Easier to Understand
Kueue information can be viewed with
kubectl, but users often need to move between several resources and read large YAML files to understand why a workload is waiting or where it will run.A user may need to answer simple questions such as:
The plugin organizes this information into clear list and detail pages. Related resource names are also clickable, helping users follow the full path without searching for every resource separately.
For Headlamp Users: Kueue Resources in the Existing Dashboard
For Headlamp users, the plugin adds a dedicated Kueue section to the sidebar.
It helps users:
For Kueue Users: A Visual View of Queues and Workloads
For Kueue users, the plugin provides a visual way to understand how batch workloads move through the queue system.
It helps users:
Alpha Focus: The Main Kueue Resource Flow
This first alpha focuses on the main resources used to understand queueing and workload status:
The plugin includes views for:
The views are read-only in this alpha. Users can inspect resources and use the standard Headlamp resource actions, but the plugin does not add its own create, edit, pause, resume, or delete workflows.
Included in This First Alpha
Kueue Navigation and Access Handling
The plugin adds a Kueue section to the Headlamp sidebar with separate pages for every supported resource.
This alpha includes:
Cohorts: Understanding Shared Resources
A Cohort groups ClusterQueues that can share unused resources with each other.
The Cohort pages show:
ClusterQueues: Capacity, Usage, and Status
A ClusterQueue represents the cluster-level resources available to workloads.
The ClusterQueue list gives a quick view of:
The detail page also shows:
These sections help users compare what a queue is allowed to use with what it is using now.
LocalQueues: Namespace-Level Queue Activity
A LocalQueue is the queue that workloads use inside a Kubernetes namespace. It connects those workloads to a ClusterQueue.
The LocalQueue pages show:
ResourceFlavors: The Type of Resources a Workload Can Use
A ResourceFlavor describes a type of cluster resource. For example, it can represent nodes with a particular label, hardware type, or placement rule.
The ResourceFlavor pages show:
Workloads: Queue, Priority, and Current State
A Workload represents the resource request that Kueue evaluates before allowing a batch job to start.
The Workload list shows:
The Workload detail page shows:
Navigation Between Related Resources
The plugin connects related resources so users can follow a workload's queue path directly from the UI.
Supported navigation includes:
Both pending Workloads connected through a LocalQueue and admitted Workloads assigned directly to a ClusterQueue are included. If part of the related data cannot be loaded, the page explains what is unavailable instead of showing a misleading empty result.
Installing and Running the Plugin
Install from the Headlamp Plugin Catalog
Once the release is available in the catalog:
Run Locally for Development
git clone https://github.com/headlamp-k8s/plugins.git cd plugins/kueue npm install npm run startTo build the plugin:
Requirements
To view Kueue resources in Headlamp, you need:
v1beta2resource definitions used by this alphaIf Kueue is not installed, its resources will not be available. If the current Kubernetes user does not have permission to view a resource, the plugin displays an access message.
Testing and Quality Checks
The plugin includes sample Cohort, ClusterQueue, LocalQueue, ResourceFlavor, and Job files for local testing. The sample Job allows Kueue to create a real Workload that can be inspected in Headlamp.
Development checks include:
Contributors
This plugin was created as part of the Linux Foundation Mentorship (LFX) program and developed with review and guidance from the Headlamp and Kueue communities.
Next: Map View, Metrics, and Monitoring
Possible follow-up work includes:
This release is intended as the first usable alpha for viewing and understanding Kueue batch queues and Workloads in Headlamp. Community feedback will help guide the map, metrics, and monitoring work planned for future releases.
Feedback
This is the first public alpha release of the Kueue plugin for Headlamp. Feedback, bug reports, and feature ideas are welcome.
Bug reports and feature requests: Open an issue
Plugin source:
headlamp-k8s/plugins/kueueLicense: Apache 2.0