Manage Machine deployments

Add Machine deployment

Context

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.

Prerequisites

In order to use add a node, you need to have a running cluster and have access to it with the UI.

Steps

Add a Machine deployment

To add a new nachine deployment navigate to your cluster view and click on the Add Machine Deployment button:

Cluster overview with highlighted add 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".

Node deployment with different version

Edit Machine deployment

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:

Node deployment overview with highlighted 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.

Node deployment overview with highlighted edit button

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.

Horizontal node autoscaling

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.

Configure Horizontal Node Autoscaler

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.

Validation

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

Clean-up

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.

Delete Machine Deplyoment

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.
Ongoing Machine Deplyoment Deletion