Upgrade procedure: https://wikitech.wikimedia.org/wiki/Portal:Toolforge/Admin/Kubernetes/Upgrading_Kubernetes
Refer to the link above for the detailed procedure, and update the checkboxes as you complete them.
If multiple people are working on the upgrade, you can copy the checklist to an Etherpad for easier collaborative editing.
Use this command from a toolforge control node to quickly generate a list of nodes:
for node in $(kubectl get nodes -o json | jq '.items[].metadata.name' -r); do echo " - [] $node"; done
- Run functional tests
- Add a silence in alertmanager
- Run prepare_upgrade cookbook
- Upgrade control nodes
- toolsbeta-test-k8s-control-10 (had a hiccup, manually run the final uncordon)
- toolsbeta-test-k8s-control-11
- toolsbeta-test-k8s-control-12
- Upgrade worker nodes
- toolsbeta-test-k8s-worker-12
- toolsbeta-test-k8s-worker-13
- toolsbeta-test-k8s-worker-nfs-10
- toolsbeta-test-k8s-worker-nfs-5
- toolsbeta-test-k8s-worker-nfs-7
- toolsbeta-test-k8s-worker-nfs-8
- toolsbeta-test-k8s-worker-nfs-9
- Upgrade ingress nodes
- toolsbeta-test-k8s-ingress-10
- toolsbeta-test-k8s-ingress-11
- toolsbeta-test-k8s-ingress-9
- Upgrade kubectl on bastions
- Check everything looks good
- only for "tools" cluster) Revert IRC topic change