The EWC Managed Kubernetes Service allows you to automatically scale your Kubernetes clusters tailored to your needs. This section guides you through the steps to enable autoscaling for a cluster. Within your cluster you define at least one or multiple MachineDeployments, which is a group of worker nodes with specific configurations. You can set autoscaling parameters per MachineDeployment.
Following is required to enable cluster autoscaling:
On the Initial Nodes page in the Cluster creation wizard, ignore the section Cluster Autoscaling:

Leave this checkbox unchecked. We would set these parameters later.
On the Applications page, besides other required applications, also select the EWC Cluster Autoscaler Application.

On the Applications page, besides other required applications, also select the EWC Cluster Autoscaler Application.

There are multiple versions of the application available. It is recommended to use a version matching your cluster control plane major and minor versions. Next to continue.

On the Application Values page no changes are required. Select Add Application and continue with the cluster creation.


If you have an existing cluster you can select to install the EWC Cluster Autoscaling application by going to Applications tab under cluster:

And then follow the same procedure as above.
The installation of the EWC Cluster Autoscaler application is only required once per cluster. This would be able to scale any number of MachineDeplyments with proper annotations.
Next use kubectl to annotate the relevant MachineDeployments:
$ kubectl get machinedeployments -A NAMESPACE NAME REPLICAS AVAILABLE-REPLICAS PROVIDER OS KUBELET AGE kube-system muow-ca-automation 1 1 openstack ubuntu 1.34.2 23m $ kubectl annotate machinedeployment -n kube-system muow-ca-automation cluster.k8s.io/cluster-api-autoscaler-node-group-min-size="1" machinedeployment.cluster.k8s.io/muow-ca-automation annotated $ kubectl annotate machinedeployment -n kube-system muow-ca-automation cluster.k8s.io/cluster-api-autoscaler-node-group-max-size="3" machinedeployment.cluster.k8s.io/muow-ca-automation annotated |
This would enable the MachineDeployment to dynamically scale. Any further MachineDeployments can also be configured similarly.
The autoscaling only works when current number of nodes are within min and max setting. If you manually scale beyond this setting, Autoscaler will ignore it. |