Since the last post on how the Kubernetes Autoscaler works on Brightbox we’ve been hard at work improving it.
Whereas previously there had to be at least one worker server in each worker group, we’ve now added the ability to go down to zero.
This means you can set up a Kubernetes cluster with nothing but the control plane servers in place and let the autoscaler build and deploy worker nodes as required.
The facility is available in the latest Brightbox autoscaler releases for Kubernetes 1.18 and above
When the autoscaler wants to scale up it used to look at the other servers in the group to use as a template but now groups can have zero servers, so what do we do?
We extended the Brightbox API and added a Config Map resource inspired by the corresponding resource within a Kubernetes cluster.
Now when the autoscaler wants to expand a group it will look for a Config Map
corresponding to the cluster name (e.g. k8s-worker.k8s-test.cluster.local
)
which contains all the details required to build a server.
The data item of a Config Map is a simple JSON object with the following keys:
Of course our Kubernetes Cluster
Builder terraform manifests
will manage the Config Map for you. Just set the worker_max
values to scale
the worker group, and the storage_max
values to scale the storage group. You
can now leave worker_count
and even storage_count
at zero if you wish.
If you want to play with Kubernetes, you can sign up for Brightbox Cloud real quick and use your £50 free credit to give it a go.
If instead you want us to run Kubernetes for you, or anything else for that matter, we offer hands-on support and managed services too. Drop us a line.