<p>We have a fairly large kubernetes deployment on GKE, and we wanted to make our life a little easier by enabling auto-upgrades. The <a href="https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-upgrades" rel="nofollow noreferrer">documentation on the topic</a> tells you how to enable it, but not how it actually <strong>works</strong>.</p>

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

<p>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.</p>

<p>The UI always says: "Next auto-upgrade: Not scheduled"</p>

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

<h1>What I did:</h1>

<ul>
<li>I enabled the feature on the <em>nodepools</em> (<strong>not</strong> the cluster itself)</li>
<li>I set up a maintenance window</li>
<li>Cluster version was <code>1.11.7-gke.3</code></li>
<li>Nodepools had version <code>1.11.5-gke.X</code></li>
<li>The newest available version was <code>1.11.7-gke.6</code></li>
</ul>

<h1>What I expected:</h1>

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

<h1>What actually happened:</h1>

<ul>
<li>Nothing</li>
<li>The nodepools remained on <code>1.11.5-gke.X</code> for more than a week</li>
</ul>

<h1>My question</h1>

<ul>
<li>Is the nodepool version supposed to update?</li>
<li>If so, at what time?</li>
<li>If so, to what version?</li>
</ul>

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

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

<p>It will upgrade to the current master version of the cluster.</p>

<p><strong>Addition:</strong> 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.</p>
