Upgrade K8s op Rancher local clusters (RKE)

Om up-to-date te blijven met de Kubernetes versies die ondersteund worden door Rancher is het noodzakelijk om Kubernetes te upgraden op het local cluster. Local cluster maken gebruik van ‘rke‘ en dat staat voor ‘Rancher Kubernetes Engine‘.

RKE maakt gebruik van een cluster configuratie bestand in yaml-formaat, standaard heet dit config.yaml. (in dit artikel hebben we dat hernoemd naar kubeconfig_local.yml) RKE zal het cluster maken of upgraden met de instellingen uit dit configuratie bestand. De status van het cluster wordt bijgehouden in een .rkestate bestand.

Het volgende is nodig om het cluster te kunnen upgraden:

  • ssh verbinding naar de local nodes
  • rke configuratie bestand
  • rkestate bestand om de status van het cluster bij te houden
  • rke binary

Zie ook de Rancher Installatie pagina.

Het rke binary bestand dient een versie te hebben dat de Kubernetes versie ondersteund. Voor de rke binary releases, raadpleeg/download via deze pagina onder het kopje ‘Assets’. Ter controle:

$ rke --version
$ rke config --list-version --all

Gebruik nu rke om eerst een backup te maken van de etcd database:

$ rke etcd snapshot-save --config kubeconfig_local.yml --name etcd-backup-pre-upgrade_k8s 

Wijzig nu de kubernetes versie in het kubeconfig_local.yml bestand naar de nieuwe versie, bijvoorbeeld:

kubernetes_version: v1.21.9-rancher1-1

Nu kan met RKE de Kubernetes versie ge-upgrade worden op de local nodes:

$ rke up --config kubeconfig_local.yml

Bewaar hierna de cluster configuratie en het .rkestate bestand op een veilige plaats.