Note
A live version is now available.
Feedback welcome! Join our Slack to share your ideas, ask questions, and discuss with the community.
Karpenter is an open-source node provisioning project built for Kubernetes. Karpenter improves the efficiency and cost of running workloads on Kubernetes clusters by:
- Watching for pods that the Kubernetes scheduler has marked as unschedulable
- Evaluating scheduling constraints (resource requests, nodeselectors, affinities, tolerations, and topology spread constraints) requested by the pods
- Provisioning nodes that meet the requirements of the pods
- Removing the nodes when the nodes are no longer needed
Karpenter observes the aggregate resource requests of unscheduled pods and makes decisions to launch and terminate nodes to minimize scheduling latencies and infrastructure cost.
For teams running Karpenter in production, CloudPilot AI adds managed cost optimization, reliability automation, deeper cluster visibility, and advanced production features.
Learn more about CloudPilot AI or get in touch for production support.
See docs/ for installation, configuration, networking, troubleshooting, and contributing guides. See proposals/ for accepted and in-progress design proposals.
See GitHub Releases for the full changelog. See MIGRATION.md for breaking changes and upgrade steps.
We want your contributions and suggestions! One of the easiest ways to contribute is to participate in discussions on the Github Issues/Discussion or chat on Slack.
This project includes code derived from karpenter-provider-aws, used under the Apache License, Version 2.0 terms. We acknowledge the contributions of the original authors and thank them for making their work available. For more details, see the karpenter-provider-aws.
Karpenter GCP Cloud Provider adopts CNCF code of conduct.
Karpenter GCP Cloud Provider is under the Apache 2.0 license. See the LICENSE file for details.

