user: root
machines: hosts.txt
worker nodes: upgradehosts.txt
- Setup Kubeadm Cluster at Kubermatic:
- Download kubeconfig
- Initial Nodes with SAME version as control plane
# USE same as control plane. Second parameter is OS, whether ubuntu or rockylinux.
./01_setup-install-multi-client-ssh.sh '[email protected],[email protected]' ubuntu 1.23.12
- Create kubeadm join token, with the
kubeadm/Dockerfile-ubuntu
orkubeadm/Dockerfile-rockylinux
./02_create_kubeadm_join_token.sh 1.23.12 ubuntu ~/Downloads/kubeconfig-admin-xxxxxx
- Copy output of docker container
kubeadm join ... --token .. -discovery-token-ca-cert-hash ...
and execute join node script:
./03_setup-join-multi-client-ssh.sh '[email protected],[email protected]' 'pasted-command'
- Run upgrade script as follows passing the jumphost config, new k8s version, os flavor and kubeconfig as parameter.
This script will drain, remove and upgrade the node. Create upgradenodes.txt and add the user cluster worker nodes list (Comma-separated Format: hostIP,nodename) to be upgraded.
./04_uprade_kubeadm-multi-client-ssh.sh '[email protected],[email protected]' ubuntu 1.24.6 ~/Downloads/kubeconfig-admin-xxxxxx
- Create kubeadm join token, with the
kubeadm/Dockerfile-ubuntu
orkubeadm/Dockerfile-rockylinux
./02_create_kubeadm_join_token.sh 1.24.6 ubuntu ~/Downloads/kubeconfig-admin-xxxxxx
- Copy output of docker container
kubeadm join ... --token .. -discovery-token-ca-cert-hash ...
and execute join node script:
./03_setup-join-multi-client-ssh.sh '[email protected],[email protected]' 'pasted-command'