After creating a Workload Cluster with nodePools' variables.overrides fields, the associated worker nodes are missing the overridden configuration.
For example, creating a ClusterClass-based cluster with below definition results in worker nodes missing the specified variables.overrides.nodePoolLabels:
apiVersion: cluster.x-k8s.io/v1beta1kind: Clustermetadata:spec:[...] topology: class: tkg-vsphere-default-2.5.0[...] workers: machineDeployments: - class: tkg-worker[...] variables: overrides: - name: nodePoolLabels value: - key: <key_1> value: <value_1>
After the creation of the cluster, "kubectl get node --show-labels" will show the worker nodes haven't been labelled with the above nodePoolLabels.
TKGm prior to 2.5.2
Known bug impacting TKG versions prior to 2.5.2.
Fix is included in TKG 2.5.2.
There's no available workaround for this issue. The solution is to upgrade to TKGm 2.5.2 or a later version which includes the fix.
If creating the cluster fails with below error, please refer to KB https://knowledge.broadcom.com/external/article?articleNumber=389789
$ tanzu cluster create --file <cluster>.yaml panic: interface conversion: interface {} is nil, not stringgoroutine 1 [running]: