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.
Karpenter, Auto Mode, or Cluster Autoscaler. An empty node with consolidation enabled can be removed.
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
Pendinguntil the provisioner adds nodes. - Pods that are already running stay on their current nodes until they are evicted or recreated.