velero-plugin-for-vsphere
velero-plugin-for-vsphere copied to clipboard
Impossible to install with the velero helm chart
Describe the bug
Trying to deploy velero on our vanilla kubernetes cluster using the velero helm chart and it fails to start the backup-driver pod which in turn fails to start the velero pod.
To Reproduce
Deployed the following resources:
- AWS secret called
cloud-credentials
containing theaws_access_key_id
andaws_secret_access_key
- vSphere secret called
velero-vsphere-config-secret
with the vpshere csi conf - vSphere configmap with required
cluster_flavour
,vpshere_secret_name
andvsphere_secret_namespace
Deployed the chart with the following:
initContainers:
- name: velero-plugin-for-aws
image: velero/velero-plugin-for-aws:v1.4.1
volumeMounts:
- mountPath: /target
name: plugins
- name: velero-plugin-for-vsphere
image: vsphereveleroplugin/velero-plugin-for-vsphere:v1.3.1
volumeMounts:
- mountPath: /target
name: plugins
configuration:
provider: aws
backupStorageLocation:
provider: aws
bucket: <BUCKET>
caCert: <MINIO_CUSTOM CA>
prefix: <PREFIX>
config:
region: us-east-1
s3ForcePathStyle: true
s3Url: <PRIVATE_MINIO_URL>
insecureSkipTLSVerify: true
profile: default
volumeSnapshotLocation:
provider: vsphere
config:
region: us-east-1
profile: default
serviceAccount:
server:
name: velero
credentials:
useSecret: true
existingSecret: cloud-credentials
It looks like the backup driver is looking for the BackupStorageLocation but it will not exist yet since it only gets create after the velero pod is started (post-install hook in the chart).
Also run into issues since vsphere expects certains names and cannot be changed: aws secret needs to be called cloud-credentials
and service account needs to be called velero
. Both these are configurable through the chart.
Expected behavior
Velero deployed successfully
Troubleshooting Information
Chart version: 2.29.4 Velero server version: 1.8.1 AWS plugin version: v1.4.1 vSphere plugin version: v1.3.1 Kubernetes: Vanilla Kubernetes version: 1.21.5+rke2r2 vSphere CSI driver: v2.2.1
Anything else you would like to add:
If I deploy it once without the vsphere init container every thing starts up fine and then if I update the chart with the vsphere init container and re-deploy it will work however we are trying to use Terraform to deploy the chart and this would not be possible.
I have experienced a similar issue, at least with serviceAccount names not matching the helm chart. The current helm chart deploys velero with service account velero-server
which doesn't match the plugin's service account velero