kubectl get cluster -A
kubectl get cluster <name-of-the-cluster> -n <namespace> -o yaml | grep -iA 5 "conditions"
Observation: The output displays 'type: Ready' and 'status: "True"', confirming the issue is not caused by an underlying infrastructure error or a stuck reconciliation state.
While the Kubernetes versions are identical, the underlying infrastructure blueprints differ. The clusters missing the upgrade option are running on an older, deprecated topology class (e.g., builtin-generic-v3.3.0). TMC SM performs a pre-flight compatibility check against the cluster's topology blueprint. Because older ClusterClasses do not support target Kubernetes releases like v1.33+, TMC SM intentionally suppresses the upgrade indicator to prevent users from initiating an unsupported upgrade path.
Update the workload cluster's underlying ClusterClass to a compatible version (e.g., builtin-generic-v3.4.0) via the Supervisor cluster CLI:
Log into the vSphere Supervisor where the affected workload cluster is managed.
kubectl get cluster -A
Edit the cluster configuration using the kubectl CLI:
kubectl edit cluster <name-of-the-cluster> -n <namespace>
Verify there are no blocking annotations under the metadata.annotations section.
Note: Ensure kubernetes.vmware.com/skip-auto-cc-rebase: "true" is not present. If this annotation is present, it must be removed to allow the upgrade without triggering webhook denial errors.
Scroll down to the spec.topology.class field.
Change the value from the older class to the v3.4.0 class:
Example:- Change from: builtin-generic-v3.3.0 (or older)
Example:- Change to: builtin-generic-v3.4.0
Save your changes and exit the editor.
Monitor the cluster as the new topology is rolled out across the nodes:
kubectl get cluster <name-of-the-cluster> -n <namespace> -w
Once the cluster finishes its rolling update and the conditions return to Ready: True, refresh your TMC SM GUI.
Log back into the TMC SM GUI and verify the upgrade option is now available next to the Kubernetes version of the workload cluster.
VKS v3.4 Requirements: Existing clusters must rebase to builtin-generic-v3.4.0 before or during any Kubernetes v1.33+ upgrade.
For resolving admission webhook errors if the rebase annotation is present, reference Broadcom KB 414721.
For the architectural explanation of TMC hiding upgrade paths, reference Broadcom KB 430209.