One of the advantages of cloud computing is the ability to scale automatically to meet your required resource needs — or at least that’s theory. In reality, admins managing Kubernetes clusters have had to monitor them carefully to make sure that they had the right amount of resources or avoid service breakdowns.
Karpenter is designed to bring that cloud computing ideal into reality. AWS’s Channy Yun writing in a blog post announcing the new tool, described its advantages.
“[Karpenter] helps improve your application availability and cluster efficiency by rapidly launching right-sized compute resources in response to changing application load. Karpenter also provides just-in-time compute resources to meet your application’s needs and will soon automatically optimize a cluster’s compute resource footprint to reduce costs and improve performance,” Yun wrote.
It works by analyzing your Kubernetes workloads to determine what resources you will require by looking at the pods that cannot launch due to a resource limitation. It then sends information to your cloud provider to add or remove compute based on this information.
It’s important to note here that as an open source tool, this is not specifically designed for AWS cloud resources and can be used to send information to any cloud provider about the underlying Kubernetes cluster. Karpenter takes advantage of Helm, the Kubernetes package manager to determine your Kubernetes workloads. It also requires permission to provision compute resources in an automated way.
Karpenter is an open source tool being offered under an Apache 2.0 license and is available today.