Kueue is a Kubernetes-native job queueing system that provides APIs and controllers for managing job admission and lifecycle at scale. Written in Go, it functions as a job-level manager that determines when jobs should be admitted to start pod creation and when they should be stopped by deleting active pods. The project is maintained as part of the Kubernetes Special Interest Group for Scheduling and has achieved production readiness status with API version v1beta2 following Kubernetes deprecation policies.
The system implements sophisticated job management through priority-based queueing with two distinct strategies: StrictFIFO and BestEffortFIFO. Beyond basic queueing, Kueue provides advanced resource management capabilities including resource flavor fungibility, fair sharing mechanisms, cohorts for resource grouping, and preemption policies that can be customized between different tenants. These features enable fine-grained control over how workloads consume cluster resources.
Kueue integrates with a broad ecosystem of Kubernetes job types and workload patterns. Built-in support exists for BatchJob, Kubeflow training jobs, RayJob, RayCluster, JobSet, plain Pods, and Pod Groups. The system can also manage serving workloads such as Deployments and StatefulSets, enabling simultaneous handling of batch training and inference workloads within the same cluster. This versatility makes Kueue applicable to diverse computational patterns from machine learning to general batch processing.
The project includes sophisticated scheduling capabilities such as topology-aware scheduling that optimizes pod-to-pod communication throughput by considering data-center topology. Partial admission allows jobs to run with reduced parallelism based on available quota, while dynamic reclaim mechanisms release quota as pods complete. An all-or-nothing scheduling implementation with timeout-based pod readiness ensures coordinated job execution. Multi-cluster job dispatching through MultiKueue enables searching for capacity across clusters and offloading work from the main cluster.
System observability is built into Kueue through Prometheus metrics and an on-demand visibility endpoint for monitoring pending workloads. AdmissionChecks provide a mechanism for internal or external components to influence workload admission decisions. Advanced autoscaling support integrates with cluster-autoscaler's provisioningRequest feature via admission checks.
Community activity around Kueue is substantial, with 2435 tracked issues and pull requests showing a median response latency of 0.0 hours and mean latency of 535.9 hours. The most active labels are kind/bug with 992 items, kind/feature with 663 items, and kind/cleanup with 456 items. Top contributors include mimowo with 5475 events, tenzen-y with 2188 events, and mbobrovskyi with 1219 events. The project shares contributors with ray-project/kuberay, opendatahub-io/notebooks, and kubernetes/kubernetes, indicating deep integration within the Kubernetes ecosystem.
Production readiness is demonstrated through comprehensive testing including unit tests, integration tests across multiple shards, E2E tests for Kubernetes versions 1.34 through 1.36, topology-aware scheduling tests, sequential tests, and performance benchmarks. The project maintains a stable release cycle of 2-3 months and has documented adopters running Kueue in production environments. Installation requires Kubernetes 1.29 or newer, with the controller running in the kueue-system namespace.