Rancher Upgrade

Om ‘bug fixes’ en eventuele nieuwe functies in Rancher Manager mogelijk te maken is het zaak om regelmatig de Rancher Manager te upgraden. De release pagina van Rancher vind je hier. De Support Matrix pagina van Suse vind je hier. Hieronder de procedure.

Wat je hiervoor nodig hebt is als eerste de KUBECONFIG file voor het local cluster en minimaal Helm versie v3.2.x. Daarnaast is de rke-configuratie nodig waarmee het cluster is gebouwd. Tenslotte is de rke-binary nodig voor de etcd-backup.

Controleer de verbinding naar het local cluster:

$ export KUBECONFIG=~/.kube/kubeconfig_local.yml
$ kubectl get nodes
NAME     STATUS ROLES                    AGE VERSION
local-01 Ready  controlplane,etcd,worker 1h  v1.21.7 
local-02 Ready  controlplane,etcd,worker 1h  v1.21.7 
local-03 Ready  controlplane,etcd,worker 1h  v1.21.7

Indien gebruik gemaakt wordt van een bastion host (jump host) dan kan het nodig zijn om de ssh key toe te voegen aan de ssh-agent:

$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa

Het is verstandig om eerst een backup van de etcd database te maken. Gebruik de rke-binary versie die hoort bij de versie van het local-cluster.

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

Zorg ervoor dat het local cluster de Kubernetes versie gebruikt die ondersteund wordt in de (nieuwe) Rancher Manager versie. Je vindt dat terug op de releases-pagina van Rancher. Indien nodig, upgrade eerst de Kubernetes versie op de local cluster. Check daarvoor deze pagina.

Vervolgens wordt Helm gebruikt om de rancher manager te upgraden:

$ helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
$ helm repo update
$ helm get values rancher -n cattle-system -o yaml > values.yaml
$ helm upgrade rancher rancher-stable/rancher -n cattle-system -f values.yaml --version=2.6.4

Controleer nu of alle local nodes de workloads correct laden en of de downstream clusters hun rancher-client workloads automatisch upgraden naar de nieuwe versie.