Today we release the addition of the Kubernetes Cluster AutoScaler to our clusters. Since we’ll be enabling the autoscaler by default, we’ll be initially deploying it on staging while production clusters will follow in a couple of days.
Before this change, our worker nodes didn’t scale automatically depending on Pod resource requests and we had to manually provision these. Now when Pods cannot be scheduled due to limited resources, the cluster-autoscaler will automatically launch extra nodes. The reverse is also true: if nodes are under-utilized the autoscaler will consider them for pod eviction followed by a scale down.
This comes with a couple of benefits, mostly by making sure extra cluster capasity can be launched when needed, while reducing costs when nodes are under-utilized.
These scaling events of course happen within the limits of
max nodes set for each instance group. The
cluster-autoscaler also works seamlessly together with the horizontal pod autoscaler (HPA).
For more information how this all works, feel free to ask us and/or refer to the (large) Cluster-autoscaler FAQ