Skip to content

Kubernetes Node Autoscaling: built for flexibility, performance, and scalability. https://karpenter.sh

License

Notifications You must be signed in to change notification settings

olemarkus/karpenter

This branch is 3233 commits behind aws/karpenter-provider-aws:main.

Folders and files

NameName
Last commit message
Last commit date
Dec 13, 2021
Dec 9, 2021
Dec 13, 2021
Nov 24, 2021
Nov 24, 2021
Dec 9, 2021
Dec 14, 2021
Dec 9, 2021
Dec 13, 2021
Nov 11, 2021
Jul 14, 2021
Nov 24, 2021
Nov 10, 2021
Jul 14, 2021
Aug 16, 2021
Aug 20, 2020
Dec 9, 2021
Dec 8, 2020
Nov 23, 2020
Dec 9, 2021
Apr 19, 2021
Nov 24, 2021
Dec 7, 2021
Dec 13, 2021
Dec 13, 2021

Repository files navigation

Build Status GitHub stars GitHub forks GitHub License contributions welcome

Karpenter is an open-source node provisioning project built for Kubernetes. Its goal is to improve the efficiency and cost of running workloads on Kubernetes clusters. Karpenter works 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
  • Scheduling the pods to run on the new nodes
  • Removing the nodes when the nodes are no longer needed

For most use cases, a cluster’s capacity can be managed by a single Karpenter Provisioner. However, you can define multiple Provisioners, enabling use cases like isolation, entitlements, and sharding. Using a combination of defaults and overrides, Karpenter determines the availability zone, instance type, capacity type, machine image, and scheduling constraints for pods it manages.

Come discuss Karpenter in the #provider-aws channel in the Kubernetes slack!

Check out the Docs to learn more.

Installation

Follow the setup recommendations of your cloud provider.

❗ Note: There may be backwards incompatible changes between versions when upgrading before v0.3.0. Karpenter follows Kubernetes versioning guidelines. Before upgrading, we recommend:

  • Check the release notes
  • Uninstall Karpenter
  • Remove all nodes launched by karpenter
  • Reinstall Karpenter

References

Talks

License

This project is licensed under the Apache-2.0 License.

About

Kubernetes Node Autoscaling: built for flexibility, performance, and scalability. https://karpenter.sh

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 95.2%
  • HTML 2.8%
  • Makefile 1.1%
  • Python 0.3%
  • Shell 0.3%
  • SCSS 0.2%
  • HCL 0.1%