Installing IBM Spectrum Scale Container Storage Interface driver using CLIs

Before you install IBM Spectrum Scale Container Storage Interface driver, ensure that the prerequisites are met. For more information, see Performing pre-installation tasks.

Note: This procedure is applicable for both Kubernetes and Red Hat® OpenShift®. For Red Hat OpenShift, replace "kubectl" with "oc" in all the commands.
Installing IBM Spectrum Scale Container Storage Interface driver by using Operator involves the following phases:
  1. Deploy the Operator on your cluster.
  2. Use the Operator for deploying IBM Spectrum Scale Container Storage Interface driver.
Phase 1: Deploying the Operator
To deploy Operator on your cluster, do the following steps:
  1. Create a namespace.
    kubectl create namespace ibm-spectrum-scale-csi-driver
    Note: For Red Hat OpenShift, use this command.
    oc new-project ibm-spectrum-scale-csi-driver
  2. Download the operator manifest.
    • For CSI 2.6.0, issue the following command:
      curl -O https://raw.githubusercontent.com/IBM/ibm-spectrum-scale-csi/v2.6.0/generated/installer/ibm-spectrum-scale-csi-operator.yaml
    • For CSI 2.6.1, issue the following command:
      curl -O https://raw.githubusercontent.com/IBM/ibm-spectrum-scale-csi/v2.6.1/generated/installer/ibm-spectrum-scale-csi-operator.yaml
    • If you are using an OCP cluster with RHEL nodes, issue the following command for CSI 2.6.0:
      curl -O https://raw.githubusercontent.com/IBM/ibm-spectrum-scale-csi/v2.6.0/generated/installer/ibm-spectrum-scale-csi-operator-ocp-rhel.yaml
    • If you are using an OCP cluster with RHEL nodes, issue the following command for CSI 2.6.1:
      curl -O https://raw.githubusercontent.com/IBM/ibm-spectrum-scale-csi/v2.6.1/generated/installer/ibm-spectrum-scale-csi-operator-ocp-rhel.yaml
    Start of change
    Note: See Offline Installation and Upgrade for additional steps required for offline upgrade.
    End of change
  3. Issue the following command to apply the operator manifest to deploy the operator.
    kubectl create -f ibm-spectrum-scale-csi-operator.yaml
    Start of changeFor OCP cluster with RHEL nodes, issue the following command:
    kubectl create -f ibm-spectrum-scale-csi-operator-ocp-rhel.yaml
    End of change
  4. Verify that the Operator is deployed, and the Operator pod is in running state.
    kubectl get pod,deployment -n ibm-spectrum-scale-csi-driver
    
    NAME                                                   READY   STATUS    RESTARTS    AGE
    pod/ibm-spectrum-scale-csi-operator-6ff9cf6979-v5g4c   1/1     Running      0        6d3h
    
    NAME                                                   READY   UP-TO-DATE  AVAILABLE AGE
    deployment.apps/ibm-spectrum-scale-csi-operator        1/1        1            1     6d3h
    
Phase 2: Deploying IBM Spectrum Scale Container Storage Interface driver

Now that the Operator is up and running, you must access the Operator's API and request a deployment by using the CSIScaleOperator custom resource.

Do the following steps:
  1. Create a secret with IBM Spectrum Scale GUI server’s credentials in the ibm-spectrum-scale-csi-driver namespace. For more information, see Secrets.
    Note: If you are using a remote cluster setup, then create a secret object for the GUI server of each cluster.
  2. Download the sample custom resource file on your cluster.
    curl -O https://raw.githubusercontent.com/IBM/ibm-spectrum-scale-csi/v2.6.0/operator/config/samples/csiscaleoperators.csi.ibm.com_cr.yaml
  3. Modify the parameters in the file to suit your environment. For more information, see Operator.
  4. Apply the custom resource file to deploy IBM Spectrum Scale Container Storage Interface driver.
    kubectl apply -f csiscaleoperators.csi.ibm.com_cr.yaml
  5. Start of changeVerify that the IBM Spectrum Scale Container Storage Interface driver is installed, Operator and driver resources are ready, and pods are in running state.
    
    kubectl get pod,daemonset,deployment -n ibm-spectrum-scale-csi-driver
    
    NAME                                                    READY   STATUS    RESTARTS   AGE
    pod/ibm-spectrum-scale-csi-9tvlj                        3/3     Running   0          5d7h
    pod/ibm-spectrum-scale-csi-attacher-66879bb7f9-f25h4    1/1     Running   3(10h ago) 5d8h
    pod/ibm-spectrum-scale-csi-attacher-66879bb7f9-ggnlv    1/1     Running   1(5d7h ago)5d8h
    pod/ibm-spectrum-scale-csi-bvc7p                        3/3     Running   0          5d7h
    pod/ibm-spectrum-scale-csi-operator-df7ddcf8d-54pdg     1/1     Running   0(36s ago) 5d7h
    pod/ibm-spectrum-scale-csi-provisioner-59b777f96d-xppxs 1/1     Running   3(10h ago) 5d7h
    pod/ibm-spectrum-scale-csi-resizer-6d854f78bd-r29tc     1/1     Running   3(10h ago) 5d7h
    pod/ibm-spectrum-scale-csi-snapshotter-6fbb5cf945-q8fsq 1/1     Running   3(10h ago) 5d7h
    
    
    NAME                                    DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
    daemonset.apps/ibm-spectrum-scale-csi   2         2         2       2            2           scale=true      5d22h
    
    
    NAME                                               READY   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/ibm-spectrum-scale-csi-attacher    2/2     2            2           5d22h
    deployment.apps/ibm-spectrum-scale-csi-operator    1/1     1            0           7d
    deployment.apps/ibm-spectrum-scale-csi-provisioner 1/1     1            1           5d22h
    deployment.apps/ibm-spectrum-scale-csi-resizer     1/1     1            1           5d22h
    deployment.apps/ibm-spectrum-scale-csi-snapshotter 1/1     1            1           5d22h
    End of change

For more information, see IBM Spectrum Scale Container Storage Interface (CSI) project in the IBM® GitHub repository.