2022-02-02 16:16:14 +00:00
|
|
|
*Ensure your Kube context points to the correct cluster !!!*
|
2022-02-02 16:08:13 +00:00
|
|
|
|
2022-02-02 16:16:14 +00:00
|
|
|
1. Trigger the cluster upgrade:
|
2022-02-02 16:08:13 +00:00
|
|
|
`./upgrade_121.sh`
|
|
|
|
|
2022-02-02 16:16:14 +00:00
|
|
|
2. Upgrade CFN stacks for the control plane and all worker groups
|
|
|
|
Change Kubernetes version in controller config from `1.20.X` to `1.21.9`
|
2022-02-02 16:08:13 +00:00
|
|
|
|
2022-02-02 16:16:14 +00:00
|
|
|
3. Reboot controller(s) one by one
|
|
|
|
Wait each time for controller to join and all pods running.
|
|
|
|
Might take a while ...
|
2022-02-02 16:08:13 +00:00
|
|
|
|
2022-02-02 16:16:14 +00:00
|
|
|
4. Patch current deployments, blocking ArgoCD otherwise
|
2022-02-02 16:08:13 +00:00
|
|
|
`./kubezero_121.sh`
|
|
|
|
|
2022-02-02 16:16:14 +00:00
|
|
|
5. Migrate ArgoCD config for the cluster
|
|
|
|
`./migrate_argo.sh <cluster/env/kubezero/application.yaml>`
|
|
|
|
Adjust as needed, eg. ensure eck-operator is enabled if needed.
|
|
|
|
git add / commit / push
|
2022-02-02 16:08:13 +00:00
|
|
|
Watch ArgoCD do its work.
|
|
|
|
|
2022-02-02 16:16:14 +00:00
|
|
|
6. Replace worker nodes
|
|
|
|
Eg. by doubling `desired` for each worker ASG,
|
|
|
|
once all new workers joined, drain old workers one by one,
|
|
|
|
finally reset `desired` for each worker ASG which will terminate the old workers.
|
2022-02-02 16:08:13 +00:00
|
|
|
|
|
|
|
## Known issues
|
2022-02-02 16:16:14 +00:00
|
|
|
On old/current workers, until workers get replaced:
|
|
|
|
|
|
|
|
If pods seem stuck, eg. fluent-bit shows NotReady *after* control nodes have been upgraded
|
2022-02-02 16:08:13 +00:00
|
|
|
-> restart `kube-proxy` on the affected workers
|