Skip to content

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.

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
  • 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.
  • 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).

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:

Terminal window
kubectl get workloads -A
kubectl describe workload -n project-a <workload-name>

Statuses move from Queued to Admitted when quota allows pods to start.