- Newest
- Most votes
- Most comments
-
When you create an EKS node group, AWS does create an associated Auto Scaling group to manage the cluster's worker nodes. However, the Auto Scaling group on its own will not automatically scale the node count in response to changing resource demands on the nodes.
-
The Auto Scaling group handles the low-level node provisioning/termination but does not include the auto-scaling logic to scale proactively. Tools like Karpenter or the Cluster Autoscaler are needed to monitor the resource usage of the nodes and instruct the Auto Scaling group to scale up or down nodes as needed.
-
The Auto Scaling group exists primarily to simplify node management operations for EKS - it takes care of launching new nodes when you want to scale out manually. But on its own, it does not scale automatically based on load.
-
Karpenter and Cluster Autoscaler both integrate with the Kubernetes API to monitor pods/nodes and have scaling logic/policies to determine when an scale operation is required. They then call the Auto Scaling group APIs to adjust the node count.
I hope this helps explain why additional auto-scaling tools are needed along with the Auto Scaling group when using EKS node groups!
For reference - https://docs.aws.amazon.com/eks/latest/userguide/autoscaling.html
Let me know if any part needs more clarification.
Thanks,
Abhinav
Hello,
- Karpenter and Cluster Autoscaler can adjust the number of pods at the node level, in a Kubernetes cluster by adding or removing nodes. They assess the resource requests and limits of pods compared to node capacity to determine if additional nodes are necessary.
- Unlike Auto Scaling, which manages groups of predefined instance types Karpenter and Cluster Autoscaler can utilize a variety of instance types and sizes based on the requirements of each pod.
- Cluster autoscalers integrate with Kubernetes allowing them to understand workload demands and efficiently schedule pods. This enables scaling compared to waiting for new instances to be provisioned from an Auto Scaling group. Thanks
Relevant content
- Accepted Answerasked 2 years ago
- Accepted Answerasked 2 years ago
- asked 4 months ago
- AWS OFFICIALUpdated 9 months ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 4 months ago
- AWS OFFICIALUpdated 2 years ago
I see. But whats the difference between an autoscaling group policy (it will scale automatically based on cpu usage for example) vs karpenter or cluster autoscaler?