kubectl get vm,machine -n <affected cluster namespace> | grep <affected cluster-name>
NAME POWER-STATE CLASS IMAGE PRIMARY-IP4 AGEvirtualmachine.vmoperator.vmware.com/ <control plane node 1> PoweredOff <vm-class> vmi-######### ##mNAME CLUSTER NODE NAME PROVIDER ID READY AVAILABLE UP-TO-DATE INTERNAL-IP EXTERNAL-IP OS-IMAGE PAUSED PHASE AGE VERSIONmachine.cluster.x-k8s.io/ <control plane node 1> < cluster-name> False False True False Provisioning ##m v1.34.1+vmware.
kubectl describe <affected cluster-name> -n <affected cluster namespace>Message: Addon DNS is not ready: unable to reconcile kubeadm ConfigMap's CoreDNS info: unable to retrieve kubeadm Configmap from the guest cluster: failed to get server groups: Get "https://<LoadBalancer IP>:6443/api?timeout=10s": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)Addon KubeProxy is not ready: unable to retrieve kube-proxy daemonset from the guest cluster: failed to get server groups: Get "https://<LoadBalancer IP>:6443/api?timeout=10s": context deadline exceededkubectl get configmaps vmoperator-network-config -n vmware-system-vmop -o yamlapiVersion: v1data: nameservers: "" <-- DNS server details are blank ntpservers: <ntp server>kind: ConfigMapmetadata: annotations:vSphere Kuberenetes Service
VM Operator manages the lifecycle of virtual machines. If the nameservers field in the vmoperator configmaps file is blank or null, the VM Operator will fail to power on the VM.
To resolve this issue, update the Workload network DNS Configuration. Refer to Change Workload Network Settings on a Supervisor Configured with NSX
To update the DNS on Workload Network, log in to the vSphere Client and proceed with the below steps
To update the DNS server on a Workload Network via DCLI, use the following commands
Step 1: While connected to the VCSA as root, retrieve the cluster domain ID using the command below:
dcli com vmware vcenter namespacemanagement clusters list
Step 2: To update the workload DNS server, use the command below. The value for --cluster should be copied from the Step 1
dcli com vmware vcenter namespacemanagement clusters update --cluster domain-c# --worker-dns WORKER_DNS