Kubernetes Engine clusters support running Kubernetes versions from any of the last three minor releases (currently 1.10.x, 1.9.x, and 1.8.x). However, subsequent intermediate releases might change what versions are available for new clusters.
Kubernetes releases a new minor version approximately every three months. A minor version increments the Kubernetes version from 1.x to 1.x+1; for example, Kubernetes 1.9 is the minor release that follows Kubernetes 1.8. New Kubernetes patch releases (for example, 1.8.6) become available for use with Kubernetes Engine each week, rolled out incrementally in each zone on a schedule published in the release notes for every release.
Automatic master upgrades
New Kubernetes Engine clusters are created with a default version that represents a recent stable release of the latest Kubernetes minor version. The Kubernetes Engine team periodically performs automatic upgrades of your cluster master to newer stable versions of Kubernetes. Newer versions than the default are also generally available on a weekly basis; you can also manually initiate a master upgrade to a version newer than the default.
Your existing cluster nodes are not automatically upgraded by default. If you want to have your cluster's nodes upgraded automatically, you can enable automatic node upgrades. Kubernetes Engine does not support running node versions more than two minor versions behind the master version. For example, if the cluster master is running version 1.10, nodes should be running at least version 1.9 or 1.8. Nodes should be running a version that is currently supported. Suppose the current supported node versions are 1.10, 1.9 and 1.8, and the master is running version 1.9, then nodes should be running at least version 1.8.
Nodes may not run a newer version of Kubernetes than your cluster master.
Checking available versions
You can check which Kubernetes versions are default and available in a given zone by running the following command:
gcloud container get-server-config --zone [COMPUTE-ZONE]
[COMPUTE-ZONE] is your cluster's compute zone, such as
However, if you run this command before a version rollout has completed, the
command's output might not be accurate for your zone.
Last updated: August 13, 2018
Specifying cluster version
When specifying a Kubernetes version to use with a
gcloud command, you may
specify either explicit versions or use version aliases, which have the
latest: picks the highest valid Kubernetes version
1.X: picks the highest valid patch+gke.N patch in the 1.X version
1.X.Y: picks the highest valid gke.N patch in the 1.X.Y version
1.X.Y-gke.N: picks an explicit Kubernetes version
-: picks the default Kubernetes version. For node upgrades, this picks the version that the cluster master is running.
latest alias refers to the highest supported Kubernetes version
available on Kubernetes Engine.
Creating or upgrading a cluster by specifying the version as
latest does not
provide auto-upgrades. Enable automatic node upgrades to ensure that the nodes
in your cluster up to date with the latest stable version of Kubernetes.
Versions available for new cluster masters
When you create a new cluster, you can choose from the following eligible Kubernetes versions for your cluster master:
1.11.0-gke.1(Alpha clusters only)
1.9.7-gke.5(default for zonal and regional clusters)
Supported node versions
The following Kubernetes versions are supported for Kubernetes Engine cluster nodes: