Create a Helm Chart Configuration File for VAST COSI Driver

Prev Next

The driver's Helm chart configuration file lets you override default installation settings provided in the chart with parameters that are specific to your environment.

The configuration file is a YAML file typically named values.yaml, although you can use any arbitrary name for it.

Create a Configuration File

Create a YAML file as follows (see also the example below):

BucketClassDefaults:
  secretName: "<secret>"
  endpoint: "<endpoint>"
  verifySsl: true|false
  sslCertsSecretName: "<SSL secret>"

bucketClasses:
  <bucket class name 1>:
    <option 1>
    <option 1>
    ...
    <option n>
  <bucket class name 2>:
    <option 1>
    <option 1>
    ...
    <option n>
 ...
  <bucket class name n>:
    <option 1>
    <option 1>
    ...
    <option n>

In the YAML file:

  1. Set session options:

    • secretName: "<secret>" (required): Specify the Kubernetes secret with VMS user credentials to be used by the VAST COSI Driver. The secret must include the VMS user's username and password. For more information, see Create a Kubernetes Namespace for VAST COSI Driver.

    • endpoint: "<endpoint>" (required): Enter the VAST Cluster management hostname.

    • verifySsl: true|false (optional): Specify true to enable SSL encryption for the connection to the VAST cluster. If set to false or not specified, SSL encryption is disabled.

      Tip

      When enabling SSL encryption, either upload a CA-signed SSL certificate to the VAST cluster (see the procedure in the VAST Cluster Administrator's Guide), or supply a self-signed SSL certificate to the driver. The latter can be done either via the sslCertsSecretName option, or using --set-file sslCert  on the Helm chart installation command.

    • sslCertsSecretName: "<SSL secret>" (optional): Specify the Kubernetes secret that contains the self-signed SSL certificate to be used to secure communications between VAST COSI Driver and the VAST cluster. For more information, see Configuring SSL Encryption for VAST COSI Driver.

  2. Set bucket class options:

    • <bucket class name> (required): Provide a name to identify the bucket class.

      Note

      Define at least one bucket class.

    • <option 1>...<option n>: Specify parameters to be used when provisioning storage for buckets with this bucket class. For information on supported options, see  Bucket Class Option Reference.

      For each bucket class, the required options are:

      bucketClasses:
        <bucket class name>:
          storagePath: "<path>"
          vipPool: "<virtual IP pool name>"
          viewPolicy: "<view policy>"
      
  3. (Optional) Configure registration of the VAST COSI Driver with kubelet:

    • kubeletPath: "<your kubelet root directory>" (optional): Add  this option if you are going to run VAST COSI Driver on a Kubernetes cluster where the kubelet root directory is not /var/lib/kubelet.

The following snippet shows a sample configuration file for VAST COSI Driver:

BucketClassDefaults:
  secretName: "vast-mgmt"
  endpoint: "my.endpoint"

bucketClasses:
  vastdata-bucket:
    storagePath: "/cosi/buckets"    
    vipPool: "vippool-1"
    viewPolicy: "cosi"

Verify the Configuration File

You can verify the newly created chart configuration file by running the following command:

helm template <release name> <repo>/<chart> -f <filename>.yaml -n <namespace>

Where:

  • <release name> identifies the release being deployed.

  • <repo> is the name of the VAST driver Helm repository.

  • <chart> is the name of the VAST driver Helm chart (vastcosi).

  • <filename>.yaml is the VAST driver chart configuration file.

  • <namespace> (optional) determines the Kubernetes namespace to which the release is deployed. If this parameter is not specified, the default namespace is used. Otherwise, create a custom namespace prior to installing the VAST driver chart.

For example:

helm template cosi-driver vastcosi/vastcosi -f values.yaml