A node autoscaler adds machines when Pods are unschedulable and drains underused ones (consolidation). It needs a cloud API, so SIG Autoscaling's two node autoscalers are not run here:
| Cluster Autoscaler 8,982 | Karpenter 676,493 | |
|---|---|---|
| Scales | Pre-defined node groups | Individual machines chosen per request |
| Configured by | Min and max size per group | NodePool constraints (families, zones, spot) |
| Scope | Node count | Whole node lifecycle, expiry and upgrades too |
| Clouds | Many, integrated in the project | AWS 24 , Azure 6 and others implement its library |
| Latest (Sep 2026) | 1.36.1 | 1.14.1 |
The Cluster Autoscaler (github.com/kubernetes/autoscaler (https://github.com/kubernetes/autoscaler 8,982 )) grows the node group whose template fits the pending Pods, and removes a node that has been unneeded for ten minutes. Karpenter (github.com/kubernetes-sigs/karpenter (https://github.com/kubernetes-sigs/karpenter 2,207 )), started by AWS, picks the cheapest instance types that fit the pending Pods and launches them directly. Both trust requests: too low crowds nodes, too high buys idle machines.