builtin-generic-v3.4.0 ClusterClass is not automatically replicated to all namespaces. Instead, it is found exclusively in the vmware-system-vks-public namespace.builtin-generic-v3.3 and below is seen in all the namespaces.kubectl get clusterclass -A | grep builtin-generic-v3
NAMESPACE NAME AGE
default builtin-generic-v3.1.0 80ddefault builtin-generic-v3.2.0 80ddefault builtin-generic-v3.3.0 80dkube-node-lease builtin-generic-v3.1.0 80dkube-node-lease builtin-generic-v3.2.0 80dkube-node-lease builtin-generic-v3.3.0 80dkube-public builtin-generic-v3.1.0 80dkube-public builtin-generic-v3.2.0 80dkube-public builtin-generic-v3.3.0 80d
...
vmware-system-vmop builtin-generic-v3.1.0 80dvmware-system-vmop builtin-generic-v3.2.0 80dvmware-system-vmop builtin-generic-v3.3.0 80d
builtin-generic-v3.4.0 is seen only in the namespace vmware-system-vks-public as shown below.kubectl get clusterclass -A | grep builtin-generic-v3.4
NAMESPACE NAME AGEvmware-system-vks-public builtin-generic-v3.4.0 14d
This behavior is expected and is a design change introduced in VKS 3.4 to improve efficiency and simplify management. The builtin-generic-v3.4.0 ClusterClass is stored centrally in the vmware-system-vks-public namespace, from which all other namespaces can reference it.
builtin-generic-v3.4.0 ClusterClass, VKS 3.4 eliminates the need to replicate the definition in every namespace. This reduces resource usage and simplifies the management of standard ClusterClass definitions.builtin-generic-v3.4.0 ClusterClass will automatically reference the definition from the vmware-system-vks-public namespace. The spec.topology.classNamespace field on the Cluster object is set to vmware-system-vks-public.builtin-generic-v3.3.0 and below, will continue to be available in their respective namespaces.Refer to VMware vSphere Kubernetes Service 3.4.0+v1.33 release notes for more details.