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:

  • Installation of EWC Cluster Autoscaler application from the catalog.
  • Setting scaling parameters on the relevant MachineDeployments.

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:

annotate 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.






  • No labels