Skip to content

Latest commit

 

History

History

kubeadm-multi-client

Baremetal hosting

SSH

user: root machines: hosts.txt worker nodes: upgradehosts.txt

Nodes Provisioning

  1. Setup Kubeadm Cluster at Kubermatic:
  2. Download kubeconfig
  3. 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
  1. Create kubeadm join token, with the kubeadm/Dockerfile-ubuntu or kubeadm/Dockerfile-rockylinux
./02_create_kubeadm_join_token.sh 1.23.12 ubuntu ~/Downloads/kubeconfig-admin-xxxxxx
  1. 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'

Nodes Upgrade

  1. 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
  1. Create kubeadm join token, with the kubeadm/Dockerfile-ubuntu or kubeadm/Dockerfile-rockylinux
./02_create_kubeadm_join_token.sh 1.24.6 ubuntu ~/Downloads/kubeconfig-admin-xxxxxx
  1. 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'