Somehow I installed 1.19 as my MicroK8s cluster version. Of course I want 1.20. This should be easy because of the version skew support in K8s:
So what I did was spin up 3 new VM's as nodes, and joined them to my cluster:
So now I have 3 nodes with version 1.19 and 3 nodes with version 1.20. Next thing to do is drain the three 1.19 nodes.
kubectl drain xxx.singel.home --delete-local-data --ignore-daemonsets --force
This went sort of okay. The only deployment that did not came back up was my SonarQube deployment. A quick look at the logs revealed why:
I forgot to install the
nfs-common package on the new nodes:
sudo apt install nfs-common
After this all pods were running again and the three 1.19 are ready to update:
Not sure if this is the correct method, but what I did is on a 1.19 node:
sudo microk8s leave
This will bring the cluster on that node back to a standalone setup.
sudo snap remove microk8s
To remove the 1.19 version. And from another node in the cluster:
sudo microk8s remove-node micro3.singel.home
Now re-install microk8s on the node where I just removed it:
sudo snap install microk8s --classic
sudo microk8s status --wait-ready
And rejoin this node to the cluster with
microk8s add-node from an existing cluster node and
microk8s join on the 'new' node.
This will give me a cluster with four 1.20 nodes:
Two more to go and my cluster will be 1.20 only.