When you create a new Kubernetes cluster using Container Engine for Kubernetes, you specify:
- The version of Kubernetes to run on the master nodes in the cluster.
- The version of Kubernetes to run on the worker nodes in each node pool. Different worker nodes in the same node pool can run different versions of Kubernetes. Different node pools in a cluster can run different versions of Kubernetes.
The version of Kubernetes that you specify for the worker nodes in a node pool must be either the same Kubernetes version as that running on the master nodes, or an earlier Kubernetes version that is still compatible. In other words:
- The master nodes in a new cluster must run the same version of Kubernetes as the version running on worker nodes, or must be no more than two versions ahead.
- The worker nodes in a node pool must not run a more recent version of Kubernetes than the associated master nodes.
New Versions of Kubernetes
New Kubernetes versions are released periodically that contain new features and bug fixes.
Kubernetes version numbers have the format
x is a major release,
y is a minor release, and
z is a patch release. For example, 1.15.7.
Kubernetes itself is supported for three minor versions at a time (the current release version and two previous versions).
As described in the Kubernetes documentation, a certain amount of version variation is permissible between master nodes and worker nodes in a cluster:
- The Kubernetes version on worker nodes can lag behind the version on the master nodes by up to two versions, but no more. If the version on the worker nodes is more than two versions behind the version on the master nodes, the Kubernetes versions on the worker nodes and the master nodes are incompatible.
- The Kubernetes version on worker nodes must never be more recent than the version on the master nodes.
For the Kubernetes versions currently and previously supported by Container Engine for Kubernetes, see Supported Versions of Kubernetes.