This KB is intended to identify if a vSphere Kubernetes Cluster, also known as a Tanzu Kubernetes Cluster (TKC), workload cluster or guest cluster, is undergoing migration.
It will also advise against certain actions such as performing changes or upgrades to the migrating cluster.
Migration of all vSphere Kubernetes Clusters in a Supervisor cluster occurs after initiating an upgrade of the environment from vSphere 7.X to vSphere 8.X.
vSphere Supervisor environment that is upgrading from vSphere 7.X to vSphere 8.X
This issue can occur regardless of whether the affected migrating cluster is managed by Tanzu Mission Control (TMC)
Upgrades from vSphere 7 to vSphere 8 undergo an automatic migration of wcp objects into vsphere objects, and virtualmachineimages into clustervirtualmachineimages (cvmi).
The associated components are updated to reference the newly created objects for migration.
Documentation: "Upgrading from any vCenter Server release to any vCenter Server 8.x release"
Upgrades from vSphere 7 to vSphere 8 undergo an automatic migration of wcp objects into vsphere objects and virtualmachineimages into clustervirtualmachineimages (cvmi).
This results in a rolling redeployment of all workload clusters in the Supervisor cluster to facilitate this migration.
Please see the below for steps on how to identify a cluster that has not yet finished its migration.
kubectl get tkc -o yaml -n <cluster namespace> | grep -i migrate
NOTE: wcp objects being present may indicate that the migration is yet to complete for the corresponding vSphere Kubernetes cluster(s).
kubectl get wcpcluster,wcpmachine,wcpmachinetemplate -n <cluster namespace>
kubectl get vspherecluster,vspheremachine,vspheremachinetemplate -n <cluster namespace>
kubectl get virtualmachineimages -A
kubectl get cvmi -A
kubectl get machineset -n <cluster namespace> -o yaml | grep -i -A2 wcpmachinetemplate
kubectl get machineset -n <cluster namespace> -o yaml | grep -i -A2 vspheremachinetemplate
kind: vSphereMachineTemplate
name: <vSphereMachineTemplate name>
namespace: <cluster namespace>
kubectl get wcpmachinetemplate,vspheremachinetemplate -n <guest cluster namespace>
kubectl get md,kcp -n <cluster namespace> -o yaml | grep -i -A2 wcpmachinetemplate
And similarly verified that the machinedeployments reference a vSphereMachineTemplate instead, indicating that the migration was successful:
kubectl get md,kcp -n <cluster namespace> -o yaml | grep -i -A2 vspheremachinetemplate