Installation Guide

  1. Set up a Kubernetes cluster following the official documentation.
  2. Complete the base installation.
  3. Proceed with module installation.

Operator Installation

To deploy the Operator, follow the instructions available here.


Install CSI Driver


  1. Create namespace:

       kubectl create namespace isilon
    

    This command creates a namespace called isilon. You can replace isilon with any name you prefer.

  2. Create secret file:.

    a. Create a file called secret.yaml or pick a sample that has PowerScale array connection details:

    isilonClusters:
    - clusterName: "cluster2"
       username: "user"
       password: "password"
       endpoint: "1.2.3.4"
       endpointPort: "8080"
    
    • Update Parameters: Replace placeholders with actual values for your PowerScale array.
    • Add Blocks: If you have multiple PowerScale arrays, add similar blocks for each one.
    • Replication: If replication is enabled, make sure the secret.yaml includes all involved PowerScale arrays.

    b. After creating the secret.yaml, the following command can be used to create the secret,
    kubectl create secret generic isilon-creds -n isilon --from-file=config=secret.yaml
    

    Use the following command to replace or update the secret

    kubectl create secret generic isilon-creds -n isilon --from-file=config=secret.yaml -o yaml --dry-run | kubectl replace -f -
    

    Note: The user needs to validate the YAML syntax and array related key/values while replacing the isilon-creds secret. The driver will continue to use previous values in case of an error found in the YAML file.

  3. Create isilon-certs-n secret.

    Please refer this section for creating cert-secrets.

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

    apiVersion: v1
    kind: Secret
    metadata:
       name: isilon-certs-0
       namespace: isilon
    type: Opaque
    data:
       cert-0: ""
    
     kubectl create -f empty-secret.yaml
    
  4. Install Driver

    i. Create a CR (Custom Resource) for PowerFlex using the sample files provided

    a. Minimal Configuration:

    apiVersion: storage.dell.com/v1
    kind: ContainerStorageModule
    metadata:
    name: isilon
    namespace: isilon
    spec:
    driver:
       csiDriverType: "isilon"
       configVersion: v2.14.0
       forceRemoveDriver: true
    

    sample file for default settings. Modify if needed.

    [OR]

    b. Detailed Configuration: Use the sample file for detailed settings or use Wizard to generate the sample file.

  • Users should configure the parameters in CR. The following table lists the primary configurable parameters of the PowerScale driver and their default values:
    Parameters

    ii. Create PowerScale custom resource:

    kubectl create -f <input_sample_file.yaml>
    

    This command will deploy the PowerScale driver in the namespace specified in the input YAML file.

  1. Verify the installation as mentioned below

    • Check if ContainerStorageModule CR is created successfully using the command below:
      kubectl get csm/isilon -n isilon
      
    • 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

    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
    

    Refer Storage Class for different sample files.

    Run this command to create a storage class

      kubectl create -f < storage-class.yaml >
    
  2. Create Volume Snapshot Class

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

    Refer Volume Snapshot Class for the sample files.

    Run this command to create a volume snapshot class

      kubectl create -f < volume-snapshot-class.yaml >
    

Note :

  • “Kubelet config dir path” is not yet configurable in case of Operator based driver installation.
  • Also, snapshotter and resizer sidecars are not optional to choose, it comes default with Driver installation.


The driver and modules versions installable with the Container Storage Modules Operator Click Here