Identifying Incompatible TKCs
search cancel

Identifying Incompatible TKCs


Article ID: 323414


Updated On:


VMware vSphere ESXi


For vSphere with Tanzu environments, the vSphere 7.0 U2 release supports the following Kubernetes versions for the Supervisor Cluster: 1.19, 1.18, and 1.17. Once you upgrade the vCenter Server appliance to U2, any Supervisor Cluster running a Kubernetes N-3 version will be automatically upgraded to the Kubernetes N-2 version. This means that any Supervisor Cluster running Kubernetes 1.16 will be automatically upgraded to 1.17 after the vCenter Server update to U2.

The auto-upgrade of the Supervisor Cluster can make some Tanzu Kubernetes clusters incompatible. Incompatibility can also occur if you manually upgrade the Supervisor Cluster and ignore any precheck warnings. If the Supervisor Cluster is upgraded with incompatible Tanzu Kubernetes clusters, those clusters will be in an unsupported state and may not be able to be updated or administered.

The script find-incompatible-tkcs is provided to help you identify Tanzu Kubernetes cluster incompatibility before an automated or manual Supervisor Cluster upgrade. The script reports incompatible Tanzu Kubernetes clusters in your vSphere with Tanzu environment so you can update them before upgrading the Supervisor Cluster.


VMware vSphere 7.0.x



You can use the find-incompatible-tkcs script from any machine that can connect to the Supervisor Cluster. Make sure to have kubeconfig set to the target Supervisor cluster.

Download and run the script

Step 1: Download the appropriate binary of the script for your machine from the files on this kb.

Step 2: Unpack the tar file from the download and verify that it has the following contents:

$ tar -xvf find-incompatible-tkcs-darwin-amd64.tar.gz
x find-incompatible-tkcs-darwin/
x find-incompatible-tkcs-darwin/find-incompatible-tkcs
x find-incompatible-tkcs-darwin/incompatibility-matrix.yaml

Step 3: Run the script with inputs

find-incompatible-tkcs takes 3 required inputs

  • Absolute path to the Supervisor Cluster kubeconfig on the host executing the CLI (if necessary, copy the file to the host where you are running the script from)
  • vSphere release (that you will be upgrading to or the current version)
  • Supervisor Cluster version (that you will be upgrading to E.g The Supervisor cluster version entity is a semantic version string in the form v1.19.1+vmware.2-vsc0.0.8-17610687, where the prefix is the Kubernetes version (v1.19.1))
  • Optional output format parameter. You can specify either JSON or YAML as output formats. By default, the TKCs are shown in a tabulated format.
cd find-tkcs

--vcVersion=<vSphere release version> 
--svVersion=<supervisor cluster version)
--kubeconfig=<path to kubeconfig file or set $KUBECONFIG)

Step 4: Sample output with inputs VC Version 7.0.1 and supervisor version v1.19 (note: this output is with a sample dataset)

./find-incompatible-tkcs --vcVersion=7.0.1 --svVersion=v1.19 --output=yaml
- name: guest-cluster-1-18-10
  namespace: gctest
  version: v1.18.10+vmware.1-tkg.1.3a6cd48
  cni: calico
  updatesavailable: '[1.18.15+vmware.1-tkg.1.600e412]'
- name: guest-cluster-1-19-7
  namespace: gctest
  version: v1.19.7+vmware.1-tkg.1.0ed5429
  cni: calico
  updatesavailable: ""


find-incompatible-tkcs-windows-amd64.tar get_app
find-incompatible-tkcs-linux-amd64.tar get_app
find-incompatible-tkcs-windows-386.tar get_app
find-incompatible-tkcs-linux-386.tar get_app
find-incompatible-tkcs-darwin-amd64.tar get_app