Files
terraform-aws-eks/docs/autoscaling.md
2019-09-27 13:18:31 +02:00

1.8 KiB

Autoscaling

Autoscaling of worker nodes can be easily enabled by setting the autoscaling_enabled variable to true for a worker group in the worker_groups map. This will add the required tags to the autoscaling group for the cluster-autoscaler. One should also set protect_from_scale_in to true for such worker groups, to ensure that cluster-autoscaler is solely responsible for scaling events.

You will also need to install the cluster-autoscaler into your cluster. The easiest way to do this is with helm.

The helm chart for the cluster-autoscaler requires some specific settings to work in an EKS cluster. These settings are supplied via YAML values file when installing the helm chart. Here is an example values file:

rbac:
  create: true

cloudProvider: aws
awsRegion: YOUR_AWS_REGION

autoDiscovery:
  clusterName: YOUR_CLUSTER_NAME
  enabled: true

To install the chart, simply run helm with the --values option:

helm install stable/cluster-autoscaler --values=path/to/your/values-file.yaml

NOTE

There is a variable asg_desired_capacity given in the local.tf file, currently it can be used to change the desired worker(s) capacity in the autoscaling group but currently it is being ignored in terraform to reduce the complexities and the feature of scaling up and down the cluster nodes is being handled by the cluster autoscaler.

See More

Using AutoScalingGroup MixedInstancesPolicy