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