Install Karpenter
Deploy Karpenter on your EKS cluster with Helm in minutes.
Core concepts
Understand NodePools, NodeClasses, scheduling, and disruption.
Migrate from Cluster Autoscaler
Step-by-step guide to replace Cluster Autoscaler with Karpenter.
Reference
Configuration settings, metrics, instance types, and more.
How Karpenter works
Karpenter watches for unschedulable pods
When the Kubernetes scheduler marks pods as unschedulable due to insufficient resources, Karpenter detects them immediately.
Karpenter evaluates scheduling constraints
Karpenter evaluates resource requests, node selectors, affinities, tolerations, and topology spread constraints to determine exactly what nodes are needed.
Karpenter provisions the right nodes
Using your
NodePool and EC2NodeClass configuration, Karpenter selects the optimal EC2 instance types and launches them — including Spot instances for cost savings.Key features
NodePools
Define constraints, limits, and disruption policies for groups of nodes.
EC2NodeClasses
Configure AWS-specific settings: AMIs, subnets, security groups, and more.
Intelligent scheduling
Leverage resource requests, affinities, topology spread, and well-known labels.
Disruption & consolidation
Automate node consolidation, drift detection, and graceful termination.
AMI management
Control AMI selection, pinning, and automated replacement strategies.
Capacity reservations
Use EC2 capacity reservations and On-Demand Capacity Reservations with Karpenter.
Karpenter v1 is the first stable API release. Any future incompatible API changes will require a v2 version. It is safe for production use.