Clustering with MicroK8s: adding node does not work with release > 1.18

I was able to create 4-node Raspberry Pi cluster with release 1.18 of microk8s; when I upgraded to release 1.19 or 1.20, I cannot add nodes to master node.
Here is an output on worker node:
ubuntu@k8s-worker-05:~$ microk8s join 10.0.0.10:25000/90a8e335c7360a5c0e287bf70fed7e0b
Contacting cluster at 10.0.0.10
Waiting for this node to finish joining the cluster. …

nothing happens after this and, on master:
ubuntu@k8s-master-01:~$ k get no
NAME STATUS ROLES AGE VERSION
k8s-master-01 Ready 5d5h v1.20.2-34+c6851e88267786
the worker node has not joined successfully.
why this works in microk8s 1.18 but not in 1.19 or 1.20?

thanks!

1 Like

Yes,I installed last version and was wondering why its not joining.After I read your topic and downgrade microk8s to 1.18 and join works there.

May i know the error you are getting?
If you are joining a node to a non ha node, you need to disable HA on the joining (new) node.

****** thanks for your response ***************
Actually there is no error, here is what I get on the joining node:

ubuntu@k8s-worker-05:~$ microk8s join 10.0.0.10:25000/581bf6fa344237e41a263d20376b023e
Contacting cluster at 10.0.0.10
Waiting for this node to finish joining the cluster. …

Immediately, after this, notice what happens:

ubuntu@k8s-worker-05:~$ microk8s status
microk8s is not running. Use microk8s inspect for a deeper inspection.

so I inspect:

ubuntu@k8s-worker-05:~$ microk8s inspect
Inspecting Certificates
Inspecting services
Service snap.microk8s.daemon-cluster-agent is running
Service snap.microk8s.daemon-containerd is running
Service snap.microk8s.daemon-apiserver is running
Service snap.microk8s.daemon-apiserver-kicker is running
Service snap.microk8s.daemon-control-plane-kicker is running
Service snap.microk8s.daemon-proxy is running
Service snap.microk8s.daemon-kubelet is running
Service snap.microk8s.daemon-scheduler is running
Service snap.microk8s.daemon-controller-manager is running
Copy service arguments to the final report tarball
Inspecting AppArmor configuration
Gathering system information
Copy processes list to the final report tarball
Copy snap list to the final report tarball
Copy VM name (or none) to the final report tarball
Copy disk usage information to the final report tarball
Copy memory usage information to the final report tarball
Copy server uptime to the final report tarball
Copy current linux distribution to the final report tarball
Copy openSSL information to the final report tarball
Copy network configuration to the final report tarball
Inspecting kubernetes cluster
Inspect kubernetes cluster
Inspecting juju
Inspect Juju
Inspecting kubeflow
Inspect Kubeflow

Building the report tarball
Report tarball is at /var/snap/microk8s/2049/inspection-report-20210304_181643.tar.gz

nothing helps after this as far as stopping/restarting or resetting microk8s!
the only way to recover is to remove the snap install and reinstall again!


I followed your suggestion about disabling ha-cluster on the joining node, here is what I get:

ubuntu@k8s-worker-05:~$ microk8s join 10.0.0.10:25000/bc829f01308c43377f817985f79ee62e
Failed to join cluster. Error code 501. Failed to join the cluster. This is an HA dqlite cluster.
Please retry after enabling HA on this joining node with ‘microk8s enable ha-cluster’.