velero-plugin-for-vsphere icon indicating copy to clipboard operation
velero-plugin-for-vsphere copied to clipboard

Impossible to install with the velero helm chart

Open mymasse opened this issue 2 years ago • 1 comments

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 the aws_access_key_id and aws_secret_access_key
  • vSphere secret called velero-vsphere-config-secret with the vpshere csi conf
  • vSphere configmap with required cluster_flavour, vpshere_secret_name and vsphere_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.

mymasse avatar Apr 19 '22 15:04 mymasse

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

bkcsfi avatar Jan 20 '23 01:01 bkcsfi