We have been busy adding a new and exciting feature to MicroK8s. You can now join two or more deployments to form a cluster! A preview release is available for you to test-drive and give us your feedback. Here is how to setup a MicroK8s cluster:

On two or more machines install MicroK8s from the 1.15/edge/clustering channel:

sudo snap install microk8s --classic --channel=1.15/edge/clustering

One of these machines will act as the master, hosting the control plane. On that machine, run the following command for each node you want to add:

sudo microk8s.add-node

The microk8s.add-node will generate a connection string in the form of <master_ip>:<port>/<token> and will prompt you to use the microk8s.join command from the node joining the cluster. For instance, a join command instructing a node to form a cluster with the master may look like:

microk8s.join 10.55.60.14:25000/JHpbBYMlevZSAMnmjMHmFwanrOYCWZLu

After a few seconds you should be able to see the new node on the master with:

microk8s.kubectl get no

Just repeat this microk8s.add-node and microk8s.join cycle for each node you are adding.

To remove a node, on the master you have to:

sudo microk8s.remove <node-name>

And on the node side you can run:

sudo microk8s.leave

Let us know what you think, either by opening an issue at https://github.com/ubuntu/microk8s, or chat with us on the Kubernetes Slack, in the #microk8s channel. Read more on MicroK8s at https://microk8s.io/.