Skip to content

Scheduler and provisioner

MostAllocated scores nodes that already exist. Karpenter, EKS Auto Mode, and Cluster Autoscaler operate at a different layer: they create and delete nodes.

Layer 2 — provisioner Whether a node should exist

Karpenter, Auto Mode, or Cluster Autoscaler. An empty node with consolidation enabled can be removed.

Layer 1 — scheduler Which existing node receives the pod

LeastAllocated prefers nodes with more unused capacity. MostAllocated prefers nodes that are already more allocated. Node affinity, taints, and topology spread constraints still take precedence.

Packing without consolidation uses existing nodes more fully but does not reduce node count. Consolidation without packing continues to place pods on nodes that would otherwise become empty.

After enabling MostAllocated

Node A — 90% requested — preferred for the next pod

Node B — 28% requested — lower score

Node C — 0% requested — eligible for consolidation

Limits:

  • Filtering is unchanged. A pod that requests 4 CPU is not placed on a node with 500m remaining, under either strategy.
  • More pods per node increases the impact of a node or Availability Zone failure.
  • Densely packed nodes reach capacity sooner. During high pod churn, pods may stay Pending until the provisioner adds nodes.
  • Pods that are already running stay on their current nodes until they are evicted or recreated.