Installation

Supported driver and module versions offered by the Container Storage Module Operator here


CSM Installation Wizard Support Matrix Click Here


The Container Storage Modules Installation Wizard is a webpage that helps you create a manifest file to install Dell CSI Drivers and CSM Modules. Users can enable or disable modules through the UI, and it generates a single manifest file, eliminating the need to download individual Helm charts for drivers and modules.

Generate Manifest File

  1. Open the Installation Wizard.
  2. Select the Installation Type as Helm/Operator.
  3. Select the Array.
  4. Enter the Image Repository. The default value is dellemc.
  5. Select the CSM Version.
  6. Select the modules for installation. If there are module specific inputs, enter their values.
  7. If needed, modify the Controller Pods Count.
  8. If needed, select Install Controller Pods on Control Plane and/or Install Node Pods on Control Plane.
  9. Enter the Namespace. The default value is csi-<array>.
  10. Click on Generate YAML.
  11. A manifest file, values.yaml will be generated and downloaded.
  12. A section Run the following commands to install will be displayed.
  13. Run the commands displayed to install Dell CSI Driver and Modules using the generated manifest file.

Installation Using Operator

Steps

NOTE: Ensure that the csm-operator is installed and that the namespace, secrets, and config.yaml are created as prerequisites.

  • Copy the downloaded values.yaml file.

  • Look over all the fields in the generated values.yaml and fill in/adjust any as needed.

NOTE: The CSM Installation Wizard generates values.yaml with the minimal inputs required to install the CSM. To configure additional parameters in values.yaml, you can follow the steps outlined in CSI Driver, Resiliency.

  • If Observability is checked in the wizard, refer to Observability to export metrics to Prometheus and load the Grafana dashboards.
  • If Authorization is checked in the wizard, only the sidecar is enabled. Refer to Authorization to install and configure the CSM Authorization Proxy Server.
  • If Replication is checked in the wizard, refer to Replication for the necessary prerequisites required for this module.
  • Install the Operator.

On your terminal, run this command:

    kubectl create -f values.yaml
  


Operator Installation


  1. On the OpenShift console, navigate to OperatorHub and use the keyword filter to search for Dell Container Storage Modules.

  2. Click Dell Container Storage Modules tile

  3. Keep all default settings and click Install.


    Verify that the operator is deployed

    oc get operators
    
    NAME                                                          AGE
    dell-csm-operator-certified.openshift-operators               2d21h
    
    oc get pod -n openshift-operators
    
    NAME                                                       READY   STATUS       RESTARTS      AGE
    dell-csm-operator-controller-manager-86dcdc8c48-6dkxm      2/2     Running      21 (19h ago)  2d21h
    

CSI Driver Installation


  1. Create project:

    Use this command to create new project. You can use any project name instead of isilon.

    oc new-project isilon
    

  1. Create config secret:

    Create a file called config.yaml or use sample:

    Example:

    cat << EOF > config.yaml
    isilonClusters:
     - clusterName: "cluster2"
        username: "user"
        password: "password"
        endpoint: "1.2.3.4"
        endpointPort: "8080"
    EOF
    

    Add blocks for each Powerscale array in config.yaml, and include both source and target arrays if replication is enabled.


    Edit the file, then run the command to create the isilon-config.

    oc create secret generic isilon-config --from-file=config=config.yaml -n isilon --dry-run=client -oyaml > secret-isilon-config.yaml
    

    Use this command to create the config:

    oc apply -f secret-isilon-config.yaml
    

    Use this command to replace or update the config:

    oc replace -f secret-isilon-config.yaml --force
    

    Verify config secret is created.

    oc get secret -n isilon
    
    NAME                 TYPE        DATA   AGE
    isilon-config        Opaque      1      3h7m
    

  1. Create isilon-certs-n secret.

    If certificate validation is skipped, empty secret must be created. To create an empty secret. Ex: empty-secret.yaml

    cat << EOF > empty-secret.yaml
    apiVersion: v1
    kind: Secret
    metadata:
       name: isilon-certs-0
       namespace: isilon
    type: Opaque
    data:
       cert-0: "" 
    EOF
    
     oc create -f empty-secret.yaml
    

  1. Create Custom Resource ContainerStorageModule for PowerScale.

    Use this command to create the ContainerStorageModule Custom Resource:

    oc create -f csm-isilon.yaml
    

    Example:

    cat << EOF > csm-isilon.yaml
    apiVersion: storage.dell.com/v1
    kind: ContainerStorageModule
    metadata:
      name: isilon
      namespace: isilon
    spec:
      driver:
        csiDriverType: "isilon"
        configVersion: v2.13.0
    EOF 
    

    Detailed Configuration: Use the sample file for detailed settings.

    To set the parameters in CR. The table shows the main settings of the Powerscale driver and their defaults.

    Parameters
    Check if ContainerStorageModule CR is created successfully:
    oc get csm isilon -n isilon
    
    NAME        CREATIONTIME   CSIDRIVERTYPE   CONFIGVERSION   STATE
    isilon      3h             isilon      v2.13.0         Succeeded      
    

    Check the status of the CR to verify if the driver installation is in the Succeeded state. If the status is not Succeeded, see the Troubleshooting guide for more information.


  1. Create Storage class:

    Use this command to create the Storage Class:

    oc apply -f sc-isilon.yaml
    

    Example:

    cat << EOF > sc-isilon.yaml
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
       name: isilon
    provisioner: csi-isilon.dellemc.com
    reclaimPolicy: Delete
    allowVolumeExpansion: true
    parameters:  
       AccessZone: System  
       IsiPath: /ifs/data/csi  
       RootClientEnabled: "false" 
    volumeBindingMode: Immediate
    EOF
    

    Replace placeholders with actual values for your powerscale array and various storage class sample refer here


    Verify Storage Class is created:

    oc get storageclass isilon
    
    NAME                    PROVISIONER                    RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION    AGE
    isilon (default)        csi-isilon.dellemc.com         Delete          Immediate           true                    3h8m
    

  2. Create Volume Snapshot Class:

    Use this command to create the Volume Snapshot:

    oc apply -f vsclass-isilon.yaml
    

    Example:

    cat << EOF > vsclass-isilon.yaml
    apiVersion: snapshot.storage.k8s.io/v1
    kind: VolumeSnapshotClass
    metadata:
       name: isilon-snapclass
    driver: csi-isilon.dellemc.com
    deletionPolicy: Delete
    parameters:
       IsiPath: /ifs/data/csi
    EOF 
    

    Verify Volume Snapshot Class is created:

    oc get volumesnapshot
    
    NAME                      DRIVER                              DELETIONPOLICY   AGE
    isilon-snapclass          csi-isilon.dellemc.com              Delete           3h9m
    

Configurations


Persistent Volume Claim
Volume Snapshot