Currently EKS Anywhere does not support updating vSphere credential when upgrading cluster with eksctl anywhere upgrade command. There are two ways to perform a vsphere credentials update:
- Manually update all vSphere credentials in related Secret objects, follow the steps below:
- Update
EKSA_VSPHERE_PASSWORDenvironment variable to the new password and get the base64 encoded string of the password usingecho -n "<YOUR_PASSWORD>" | base64 - Update the following secrets in your vSphere cluster using
kubectl editcommand:{CLUSTER_NAME}-vsphere-credentialsundereksa-systemnamespace - Updatepasswordfield under data.{CLUSTER_NAME}-cloud-provider-vsphere-credentialsundereksa-systemnamespace - Decode the string under data, in the decoded string (which is the template for Secret objectcloud-provider-vsphere-credentialunderkube-systemnamespace), update the{CLUSTER_NAME}.passwordwith the base64 encoding of new password, then encode the string and update data field with the encoded string.vsphere-credentialsundereksa-systemnamespace - Updatepassword,passwordCP,passwordCSIfield under data.- If annotation
kubectl.kubernetes.io/last-applied-configurationexists on any of the above Secret object, update password inkubectl.kubernetes.io/last-applied-configurationfield. {CLUSTER_NAME}-csi-vsphere-configundereksa-systemnamespace - If annotationkubectl.kubernetes.io/last-applied-configurationexists on the secret object, update password inkubectl.kubernetes.io/last-applied-configurationfield.
- Only update Secret
vsphere-credentialsundereksa-systemnamespace then trigger a full EKS-A CAPI cluster upgrade by modifying the cluster spec:
- Update
EKSA_VSPHERE_PASSWORDenvironment variable to the new password and get the base64 encoded string of the password usingecho -n "<YOUR_PASSWORD>" | base64 - Update secret
vsphere-credentialsundereksa-systemnamespace - Updatepassword,passwordCP,passwordCSIfield under data and inkubectl.kubernetes.io/last-applied-configurationif annotation exists. - Modify any field in the cluster config file and then run
eksctl anywhere upgrade cluster -f <cluster-config-file>to trigger a full cluster upgrade. This will automatically apply the new credentials to all related secrets.