At some point you might want to add additional nodes to your existing cluster.
Please note that these nodes are not additional replicas of existing nodes, but new nodes which can have their own replicas.
In order to use add a node, you need to have a running cluster and have access to it with the UI.
To add a new nachine deployment navigate to your cluster view and click on the Add Machine Deployment
button:
In the popup you can then choose the number of nodes (replicas), kubelet version, flavor, etc for your newly created nodedeployment. All nodes created in this nodedeployment will have the chosen settings. For a detailed description of the settings have a look at our cluster-api documentation.
Please note that you can choose a different kubelet version for the new machines, but they will be marked immediately as "can be upgraded".
To add or delete a worker node you can easily edit your node deployment for the active cluster and MetaKube will take care of the updates. To do so, hover over the node deployment and click the edit button or open the node deployment overview and click on the Edit
button:
In the popup window you can now make the modifications you need and then click the save button.
You can, for example, change Kubelet version, operating system or used image of the worker nodes which are managed by this node deployment.
On Openstack, MetaKube will also detect automatically when newer images are available for the node deployment's operating system, and allow you to update with one click.
Save your changes and wait for MetaKube to add or delete your extra worker node(s).
The nodes will be upgraded in a rolling upgrade, which means it will replace all machines one by one. It will create a new node and wait until it's ready and will only then drain and delete an old node. This repeats until all nodes have been replaced.
When creating or editing a node deployment, it is also possible to activate automatic horizontal node autoscaling. This means as soon as your cluster does not have enough free resources anymore to schedule new pods, new nodes will be created automatically up to the maximum limit of configured nodes.
Scaling up a MachineDeployment from 0 replicas does currently only work on clusters running on OpenStack.
Check out our overview, or have a look at the tutorial for an in-depth example.
Check if the machine deployment is visible in the UI and has the correct status.
You can also check via console commands
$ kubectl get nodes
You can delete the new machine deployments via the UI.
Just navigate to the new machines and click on the trashbin icon at the end of the row.
Once you click the icon, the status of the machine deployment will go red, and there is an indicator which shows that the deletion is ongoing.