~/ nmadiraju.com Amazon EKS · Cluster Autoscaler and Karpenter
arrow_back Back to nmadiraju
Visual Walkthrough · Amazon EKS compute

How Cluster Autoscaler and Karpenter Work on Amazon EKS

Follow web's Pending Pods after a spike, a 32 GiB Pod and a quiet night, then check yourself with 8 questions.

1Visual Walkthrough

Node autoscaling on EKS: Cluster Autoscaler resizing a node group, and Karpenter launching EC2 instances Your VPC holds node group ng-general's Auto Scaling group of m5.large nodes and, below it, nodes that Karpenter launches with no Auto Scaling group. The EKS control plane holds the API server, scheduler and the Pending Pods. Cluster Autoscaler resizes the node group; Karpenter reads its NodePool and EC2NodeClass, launches instances with EC2 CreateFleet, and reads Spot interruption warnings from an SQS queue. The walkthrough shows a scale-up, a scale-down, a Pod no node group fits, Karpenter launching a Spot node, replacing it on interruption, and consolidating it away. HPA web You kubectl apply YOUR VPC · us-east-1a, us-east-1b ng-general · AUTO SCALING GROUP TERMINATED TERMINATED TERMINATED TERMINATED TERMINATED KARPENTER NODES · NO AUTO SCALING GROUP TERMINATED TERMINATED AMAZON EKS CONTROL PLANE · RUN BY AWS Kubernetes API server and scheduler Cluster Autoscaler groups: ng-general down: <50% for 10m SCALED TO 0 Karpenter watches Pending Pods SQS queue Spot warnings via EventBridge NodePool default category: c, m, r capacity: spot, on-demand zones: us-east-1a, 1b WhenEmptyOrUnderutilized budget: nodes 10% EC2NodeClass default AMI: al2023@latest subnets, SGs: by tag role: KarpenterNodeRole how and where to launch

    2Quiz to check understanding

    Check yourself