You can update a Tanzu Kubernetes cluster, including the Kubernetes version, by updating the distribution version, the virtual machine class, or the storage class.

Tanzu Kubernetes Cluster Update Requirements

Read the release notes before you perform a Tanzu Kubernetes cluster update.

To update Tanzu Kubernetes clusters, first perform a vSphere Namespaces update. When you perform a vSphere Namespace update, all Tanzu Kubernetes clusters must be in a running state. See Update the Supervisor Cluster by Performing a vSphere Namespaces Update.

The Kubernetes software version is a string in the cluster manifest that is semantic version notation. For example, if the version is 1.18.5, "1" is the major version, "18" is the minor version, and "5" is the patch version.

When upgrading the Kubernetes version for an existing Tanzu Kubernetes cluster, observe the following requirements:
  • You cannot decrease the version. For example, you cannot downgrade from Kubernetes v1.18 to v1.17.
  • You can upgrade the minor version, but only incrementally. Skipping minor versions is not supported. For example, you can upgrade from Kubernetes v1.17 to v1.18, but you cannot upgrade from Kubernetes v1.16 to v1.18.
  • You cannot change the major version, such as upgrading from v1.18 to v2.0.
You can specify the fully qualified version, or use version shortcuts, such as version: v1.18.5, which is resolved to the most recent image matching that patch version, or version: v1.18, which is resolved to the most recent matching patch version. The resolved version displays as the fullVersion in the cluster manifest such as v1.18.5+vmware.1-tkg.1.c40d30d.
Note: When a version shortcut is used to create the cluster, the system adds the fullVersion to the manifest. To perform a Tanzu Kubernetes version upgrade using a version shortcut, you must unset (remove) the fullVersion from the manifest.

Performing a Tanzu Kubernetes Cluster Update

Note: While these are the most common ways to initiate a rolling update, they are not the only ones. A change to any of the configuration elements can also initiate a rolling update. For example, renaming or replacing the VirtualMachineImage that corresponds to a distribution version initiates a rolling update as the system attempts to get all nodes running on the new image. Also, updating a Supervisor Cluster will likely trigger a rolling update of the Tanzu Kubernetes clusters deployed there. For example, when the vmware-system-tkg-controller-manager is updated, the system introduces new values into the manifest generator and the controller initiates a rolling update to deploy those values.

Cluster Manifest Update Methods

Updating a cluster requires updating the cluster manifest. There are various ways to do this, including: