Allen Gooch
Allen Gooch

Reputation: 403

Is use of cluster-autoscaler in EKS cluster expected to add a scaling policy to ASG autoscaling groups?

I'm responsible for several AWS EKS 1.13 clusters in my organization. During a recent cost audit of infrastructure, it was brought to my attention that the ASG associated with my worker nodes indicates the following in the Management Console.

Your Auto Scaling group is configured to maintain a fixed number of instances. Add scaling policies if you want to scale dynamically in response to demand.

I would like to know if this is expected behavior when the cluster-autoscaler helm chart is installed.

I've created EKS clusters running 1.13 with a single worker node group. I've installed the cluster-autoscaler helm chart as indicated in the documentation.

The cluster-autoscaler chart was installed with the following chart values.

cloudProvider:      aws                                      
awsAccessKeyID:     {{ requiredEnv "AWS_ACCESS_KEY_ID" }}    
awsSecretAccessKey: {{ requiredEnv "AWS_SECRET_ACCESS_KEY" }}
awsRegion:          {{ .Environment.Values.aws_region }}     
autoDiscovery:                                               
  clusterName:      {{ .Environment.Values.cluster_name }}   
  enabled:          true                                     
rbac:                                                        
  create:           true                                     
sslCertPath:        /etc/ssl/certs/ca-bundle.crt             

I expected that a policy would be attached to the EKS worker node ASG. That may be a misunderstanding on my part, hence the question.

Many thanks in advance for any information you may provide.

Upvotes: 0

Views: 332

Answers (1)

marcincuber
marcincuber

Reputation: 3791

You are running your cluster autoscalar in the auto discovery mode and so autoscalar is responsible for number of instances in your asg. Furthermore, your autoscalar will be able to change the desired number of nodes in your asg as long as it is in the min max limits set on your asg.

What it says in the description is absolutely correct. Also, bare in mind that you can further enhance the scaling of your cluster using cloudwatch events. However this would be done based on custom metrics that you will collect over time.

Upvotes: 2

Related Questions