Services

Resources

Company

Karpenter

Karpenter is an open-source node autoscaler for Kubernetes. It watches for pods that cannot be scheduled, then launches nodes whose size and instance type fit those pods. It also removes or replaces underused nodes. AWS created it for Amazon EKS (Elastic Kubernetes Service), and it now lives under the Kubernetes SIG Autoscaling project.

How it works

Cluster Autoscaler scales predefined node groups up and down. Karpenter skips node groups. You define a NodePool with constraints such as allowed instance families, capacity type (spot or on-demand) and CPU limits. When pods are pending, Karpenter adds up their resource requests and provisions a matching instance. For example, 10 pending pods that each request 1 vCPU and 2 GiB of memory might land on a single 16 vCPU node instead of five small ones. Consolidation later repacks pods onto fewer or cheaper nodes.

Why it matters in production

Node scaling speed and instance choice drive both latency during spikes and the cloud bill. Karpenter can mix spot and on-demand capacity, which saves money but needs disruption budgets and spread rules so a spot reclaim does not take out every replica.

See also

On the One2N blog

References

  1. Origin of the term

  2. Karpenter documentation

Four-panel comic explaining Karpenter. Karpenter is an open-source Kubernetes node autoscaler that launches right-sized nodes directly from pending pod requirements.