Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

It will provide the following features,

  • An interface for kubernetes Kubernetes cluster-autoscaler to communicate with CloudStack
  • Scale up the cluster, if pods can not be scheduled - up to the maximum configured cluster size

  • Scale down the cluster, if nodes can be removed - down to the minimum configured cluster size

References

https://github.com/shapebluekubernetes/autoscaler/tree/master/cluster-autoscalerpull/3629

https://github.com/apache/cloudstack/pull/4329

...

As per Kubernetes documentation, 'external' autoscaling using CPU usage metrics is strongly advised against for a number of technical reasons; instead, it is recommended that Kubernetes it's be allowed to make these scaling decision

This feature addes adds CloudStack to the list of cloud providers in the Kubernetes cluster-autoscaler. It provides an interface by which Kubernetes can communicate with CloudStack to change the size of the cluster

This will run as a `cluster-autoscaler` service on the kubernetes Kubernetes cluster consisting of one pod which determines the capacity needs of the cluster

...

  • scaleKubernetesCluster

    New Parameters
    ==============
    autoscaling
    autoscalingenabled = (bool) Indicates whether autoscaling is enabled on the cluster
    maxsize = (integer) The maximum size to which the cluster can grow
    minsize = (integer) The minimum size of the cluster
    nodeids = ([]uuid) List of nodes to be removed from the cluster


Example :

scaleKubernetesCluster id=<cluster-id> autoscalingenabled=true minsize=<minsize> maxsize=<maxsize>

scaleKubernetesCluster id=<cluster-id> autoscalingenabled=false