Upgrade Kubernetes from 1.21 to 1.22
I am writing to document the upgrade process from Kubernetes 1.21 to 1.22.
Kubernetes end of life schedule
The process is same as my previous post. link.
But this time, it break many things.
Current setup
I have installed some services on the cluster, and I don’t have helm installed.
Because sometimes I need to edit the yaml before applying it.
Currently, I have the following software installed:
- ingress-nginx: v0.46
- cert-manager: v1.2
After upgrading the cluster to v1.22, some pods are not running and become CrashLoopBackOff
.
|
|
Upgrading ingress-nginx
Should be fine by just applying the latest version of yaml file.
For bare metal:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.3/deploy/static/provider/baremetal/deploy.yaml
But applying these result in
|
|
To resolve these, just delete the job under ingress-nginx.
|
|
Upgrading cert-manager
From the website, it advise to upgrade to the next minor version, so I have to upgrade from v1.2 to v1.3, and then v1.4, v1.5, v1.6 and finally v1.7
The upgrade returns no error, and seems everything is running fine.
Final words
I totally do not aware of these software need to be updated also. I should have reviewed my Kubernetes cluster at least semi-yearly.
Reference
[1] Ingress-nginx support version: https://github.com/kubernetes/ingress-nginx#support-versions-table
[2] Cert manager supported release: https://cert-manager.io/docs/installation/supported-releases/