Downgrading Node Pools in Standard GKE Clusters: Restoring to Earlier Kubernetes Versions
GKE allows you to perform node pool downgrades if your applications are experiencing issues in the current version or the node pool upgrade has failed. This is also mentioned in the official document.
To mitigate an unsuccessful node pool upgrade, you can downgrade a node pool to an earlier patch release or minor version. Ensure that you don’t downgrade nodes to a version that is more than two minor versions behind the cluster control plane version.
Since auto upgrade and auto repair are enabled by default on the node pools, node pool downgrade cannot be directly performed on the cluster registered to a release channel.
First, you must remove the cluster from the release channel and change it to a static version.
Then, disable the auto upgrade on the node pool. After that, you can able to downgrade the node pool version. This will trigger a node replacement.
As mentioned in the document, Ensure you don’t downgrade nodes to a version that is more than two minor versions behind the cluster control plane version.
You can modify the cluster release channel and node pool auto-upgrade settings once the node pool downgrade is successfully completed.
NOTE: For the control plane upgrade, you can downgrade your control plane to a previous patch release if the version is an earlier patch release within the same minor version.
For example, if your cluster’s control plane is running GKE 1.25.3-gke.400, you can downgrade the control plane to 1.25.2-gke.100, if that version is still available. You can’t downgrade a Kubernetes cluster control plane to an earlier minor version.