Karpenter
Karpenter is an open-source Kubernetes node autoscaler that automatically provisions just-in-time compute resources to handle cluster workloads efficiently and cost-effectively.
At a Glance
About Karpenter
Karpenter is an open-source Kubernetes node autoscaler built at AWS and licensed under the Apache License 2.0. It automatically launches and terminates compute nodes in response to unschedulable pods, minimizing both scheduling latency and infrastructure cost. The project lives under the kubernetes-sigs GitHub organization and is designed to work with any Kubernetes cluster across all major cloud providers and on-premises environments.
What It Is
Karpenter is a Kubernetes-native node provisioning controller that watches for pods the Kubernetes scheduler has marked as unschedulable, evaluates their resource and scheduling constraints, and provisions exactly the right nodes to satisfy those requirements. Unlike traditional cluster autoscalers that work with pre-defined node groups, Karpenter takes a groupless approach — it selects instance types dynamically based on workload needs, enabling tighter cost optimization and faster scale-out.
How It Works
Karpenter operates by observing the aggregate resource requests of pending pods and making real-time decisions to launch or terminate nodes:
- Watches for pods marked unschedulable by the Kubernetes scheduler
- Evaluates scheduling constraints including resource requests, node selectors, affinities, tolerations, and topology spread constraints
- Provisions nodes that meet pod requirements, selecting from available compute capacity
- Removes nodes when they are no longer needed, consolidating workloads onto more efficient resources
Configuration is handled through a single declarative NodePool resource with opinionated defaults, requiring no additional configuration out of the box.
Multi-Cloud Provider Support
Karpenter is architected as a multi-cloud project with a core library and separate provider implementations. The GitHub README lists active provider implementations for:
- AWS (the original and reference implementation)
- Azure, GCP, IBM Cloud, Oracle Cloud Infrastructure (OCI), AlibabaCloud, Huawei Cloud, Akamai/Linode (Alpha), Exoscale, Proxmox, Bizfly Cloud, and Cluster API
This provider model means teams running Kubernetes on different clouds can use the same Karpenter concepts and NodePool API while the cloud-specific provisioning logic is handled by the relevant provider.
Update: v1.12.0
The latest release is v1.12.0, published on April 24, 2026, according to the GitHub repository metadata. The project is actively maintained under kubernetes-sigs/karpenter with regular working group meetings (bi-weekly) and issue triage meetings (weekly). The repository shows ongoing development with the last push recorded in May 2026. The project has been presented at multiple KubeCon and Container Day events, including a 2025 KubeCon talk on automating Kubernetes cluster updates with zero downtime.
Community and Governance
Karpenter is governed under the Kubernetes community code of conduct and participates in the broader Kubernetes SIG ecosystem. Community support channels include the #karpenter and #karpenter-dev channels in the Kubernetes Slack workspace. The project welcomes contributions via GitHub issues and pull requests, with labeled "Good first issue" and "Help wanted" tags to guide new contributors. Working group meetings are open and publicly calendared.
Community Discussions
Be the first to start a conversation about Karpenter
Share your experience with Karpenter, ask questions, or help others learn from your insights.
Pricing
Open Source
Fully free and open-source under the Apache License 2.0. Self-hosted on any Kubernetes cluster.
- Just-in-time node provisioning
- Node consolidation and removal
- Declarative NodePool resource
- Multi-cloud provider support
- Community support via Kubernetes Slack
Capabilities
Key Features
- Just-in-time node provisioning for Kubernetes clusters
- Automatic scale-out in response to unschedulable pods
- Node consolidation and removal of under-utilized nodes
- Groupless autoscaling without pre-defined node groups
- Declarative NodePool resource with opinionated defaults
- Support for resource requests, node selectors, affinities, tolerations, and topology spread constraints
- Multi-cloud provider architecture
- Cost optimization through workload consolidation and cheaper node selection
- Fast compute provisioning to minimize scheduling latency
- Apache License 2.0 open-source
