What is Kueue
Kueue
Kubernetes-native job admission controller — decides when batch Jobs may create pods based on quota, priority, and resource flavors. is a Kubernetes-native job admission controller. It decides when batch work may create pods, based on quota, priority, and resource flavors — not how many replicas respond to traffic.
When Kueue fits
Section titled “When Kueue fits”| Signal | Why Kueue helps |
|---|---|
| More batch jobs than cluster capacity | Jobs wait in a queue instead of hundreds of Pending pods |
| Multiple projects sharing CPUs or GPUs | Fair share via ClusterQueue Kueue cluster-scoped queue — defines shared quota (CPU, memory) and which ResourceFlavors a tenant pool may use. and LocalQueue Kueue namespace-scoped queue — maps a namespace to a ClusterQueue so Jobs in that namespace enter the right admission pool. |
| Spot plus On-Demand on the same cluster | ResourceFlavor Kueue scheduling hint — ties admitted workloads to node labels such as `karpenter.sh/capacity-type: spot` or `on-demand` (EKS Auto Mode). routes jobs to the right node pool |
| Cap concurrent batch work | Policy limit even when Auto Mode Amazon EKS Auto Mode — AWS-managed compute that provisions and scales node pools for schedulable pods without managed node groups. could add nodes |
When you can skip it
Section titled “When you can skip it”- One project, plenty of headroom, no concurrency cap — Auto Mode
Amazon EKS Auto Mode — AWS-managed compute that provisions and scales node pools for schedulable pods without managed node groups. scaling alone may be enough. - Always-on web or API traffic — use Deployment plus HPA
Horizontal Pod Autoscaler — scales replica count for Deployments from CPU or memory; used for serving workloads, not batch admission. or KEDA
Kubernetes Event-driven Autoscaling — scales Deployment or StatefulSet replicas from external metrics such as SQS queue depth. Complements Kueue; does not replace batch admission., not Kueue. - Event-driven replica scaling from SQS or Kafka — that is KEDA, not Kueue. See KEDA vs Kueue for side-by-side diagrams.
What Kueue does not do
Section titled “What Kueue does not do”- Create Spot capacity — it queues admission; AWS and Auto Mode still provide nodes.
- Replace the scheduler — it gates admission; the default scheduler places admitted pods.
- Scale Deployments from external metrics — use KEDA
Kubernetes Event-driven Autoscaling — scales Deployment or StatefulSet replicas from external metrics such as SQS queue depth. Complements Kueue; does not replace batch admission. for that. - Ship as an EKS add-on — install via Helm
Package manager for Kubernetes — the Kueue controller installs from the upstream Helm chart via an Argo CD Application. or GitOps
Declarative delivery from Git — manifests and Helm charts live in a repository; Argo CD applies changes on sync. (HyperPod task governance excepted).
Unit of control
Section titled “Unit of control”Kueue
Kubernetes-native job admission controller — decides when batch Jobs may create pods based on quota, priority, and resource flavors. manages Jobs (and integrated CRDs such as JobSet or RayJob). Each admitted Job gets a Workload
Kueue CRD representing one batch Job under admission — status moves from Queued to Admitted when quota allows pod creation. object you can inspect:
kubectl get workloads -Akubectl describe workload -n project-a <workload-name>Statuses move from Queued to Admitted when quota allows pods to start.