In the workload cluster some of the vSphere-csi pods the are in a CrashLoopBackOff state.
Checking the logs reveals connection failures due to a thumbprint mismatch:
kubectl logs <pod-name> -n <namespace>"level":"info","time":"2026-03-12T05:06:20.437043751Z","caller":"vsphere/virtualcenter.go","msg":"VirtualCenter.connect() creating new client","TraceId":"####################"}{"level":"error","time":"2026-03-12T05:06:20.469180061Z","caller":"vsphere/virtualcenter.go:181","msg":"failed to create new client with err: Post \"https://<vCenter FQDN>:443/sdk\": host \"<vCenter FQDN>:443\" thumbprint does not match \"##:##:##:##:##:##:##:##:##:##:##:##:##:##:##:##:##:##:##\"","TraceId":"####################","stacktrace":"sigs.k8s.io/vsphere-csi-driver/v3/pkg/common/cns-lib/vsphere.TCA 3.1.1
TKG 2.5.1
Manually update the vsphere-config-secret in the workload cluster with the new vCenter Server thumbprint.
openssl s_client -connect <vcenter-fqdn>:443 < /dev/null 2>/dev/null | openssl x509 -fingerprint -noout -sha1 | cut -d'=' -f2kubectl config use-context <workload-cluster-name>-admin@<workload-cluster-name>kubectl get secret vsphere-config-secret -n vmware-system-csi -o jsonpath='{.data.csi-vsphere\.conf}' | base64 -d > csi-final.confsed -i 's/<old-thumbprint>/<new-thumbprint>/g' csi-final.confcat csi-final.confkubectl create secret generic vsphere-config-secret -n vmware-system-csi --from-file=csi-vsphere.conf=csi-final.conf --dry-run=client -o yaml | kubectl apply -f -kubectl delete pod -n vmware-system-csi -l app=vsphere-csi-controller