Provisioning Volumes on Multiple VAST Clusters

Prev Next

VAST CSI Driver enables you to provision volumes on multiple VAST clusters.

The VAST cluster to use can be specified per storage class, together with the user credentials needed to connect to the VAST cluster. You can also configure multiple storage classes to connect to the same VAST cluster using different user credentials.

If your Kubernetes volumes are protected with VAST Cluster snapshots, you can specify the VAST cluster and user credentials per snapshot class.

Note

Class-specific parameters take precedence over global parameters that apply to all classes.

To configure a storage class or a snapshot class to use a particular combination of a VAST cluster and user credentials:

  1. Create a Kubernetes secret that will be used to provision storage on multiple VAST clusters. The secret specifies the following:

    • The hostname of the VAST cluster on which you want to provision volumes

    • The VMS user's username and password

    • If using SSL encryption with a self-signed SSL certificate:

      • The SSL certificate to be used to protect the connection

    • If you are creating the secret in a namespace that is different from the namespace used to install the VAST CSI Driver Helm chart:

      • The namespace where the secret is created

      Note

      When provisioning storage on multiple VAST clusters for Kubernetes ephemeral volumes, the namespace where the Kubernetes secret is created must be the same as the namespace where the VAST CSI Driver Helm chart is installed.

  2. Create a new storage class (or a snapshot class) and supply the newly created secret using the secretName parameter of the class.

    If you have creating the secret in a namespace that is different from the namespace used to install the VAST CSI Driver Helm chart, specify the secret's namespace on the secretNamespace parameter.

    For example:

    storageClasses:
      vastdata-filesystem1:
        storagePath: /foo
        viewPolicy: default1
        vipPool: vippool1
        secretName: vast-mgmt1
        secretNamespace: default

If a storage class or a snapshot class does not contain the secretName parameter, VAST CSI Driver uses the information from the secretName and endpoint parameters specified in the VAST CSI Driver Helm chart configuration file (values.yaml) for all storage classes.