Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

(How) do node pool autoupgrades in GKE actually work?

We have a fairly large kubernetes deployment on GKE, and we wanted to make our life a little easier by enabling auto-upgrades. The documentation on the topic tells you how to enable it, but not how it actually works.

We enabled the feature on a test cluster, but no nodes were ever upgraded (although the UI kept nagging us that "upgrades are available").

The docs say it would be updated to the "latest stable" version and that it occurs "at regular intervals at the discretion of the GKE team" - both of which is not terribly helpful.

The UI always says: "Next auto-upgrade: Not scheduled"

Has someone used this feature in production and can shed some light on what it'll actually do?

What I did:

  • I enabled the feature on the nodepools (not the cluster itself)
  • I set up a maintenance window
  • Cluster version was 1.11.7-gke.3
  • Nodepools had version 1.11.5-gke.X
  • The newest available version was 1.11.7-gke.6

What I expected:

  • The nodepool would be updated to either 1.11.7-gke.3 (the default cluster version) or 1.11.7-gke.6 (the most recent version)
  • The update would happen in the next maintenance window
  • The update would otherwise work like a "manual" update

What actually happened:

  • Nothing
  • The nodepools remained on 1.11.5-gke.X for more than a week

My question

  • Is the nodepool version supposed to update?
  • If so, at what time?
  • If so, to what version?
like image 597
averell Avatar asked Oct 23 '25 12:10

averell


1 Answers

I'll finally answer this myself. The auto-upgrade does work, though it took several days to a week until the version was upgraded.

There is no indication of the planned upgrade date, or any feedback other than the version updating.

It will upgrade to the current master version of the cluster.

Addition: It still doesn't work reliably, and still no way to debug if it doesn't. One information I got was that the mechanism does not work if you initially provided a specific version for the node pool. As it is not possible to deduce the inner workings of the autoupdates, we had to resort to manually checking the status again.

like image 158
averell Avatar answered Oct 26 '25 16:10

averell