Installing Karpenter: Lessons Learned From Our Experience
Blog post from Qovery
AWS Karpenter is an open-source Kubernetes cluster autoscaler designed to improve resource allocation and cost efficiency over the default Kubernetes autoscaler. It dynamically scales compute resources to match application demands, offering deployment options that include AWS EKS managed node groups, EC2 instances, and AWS Fargate, with Fargate being preferred due to its reduced management overhead and enhanced security. The article details the installation of Karpenter on an AWS EKS cluster, emphasizing the creation of necessary AWS resources using Terraform, including IAM roles, SQS queues, and Fargate profiles. It also outlines the deployment process using Helm charts for installing Karpenter and its required CRDs, highlighting the importance of tagging subnets and security groups for Karpenter's resource discovery. The guide addresses troubleshooting common issues such as pending pods and spot instance permissions, ensuring a seamless setup and operation of Karpenter within the EKS environment.