Cluster Autoscaler
This is a cloud-agnostic controller, for more info check the Kubernetes tech-docs directly
- What this controller does is to adjust the resource
AWS::AutoScaling::AutoScalingGroupof the NodeGroups based on the total usage of the cluster - The
ASGalready have min and max nodes defined at theNodeGroupcreation. Autoscaler will obey this boundaries. Example: if the max number of nodes is 4 but there are still pending pods, autoscaler won't launch new nodes.
Permissions
- The controller needs access to the
AutoScalingGroupAWS Resource in order scale out/in the EC2 Instances - Pass the flag
--asg-accesswhen creating the NodeGroup viaeksctlso that the workloads running in the worker nodes have access to ASG