Installing IBM Spectrum Scale Container Storage Interface driver using CLIs

Procedure for installing IBM Spectrum Scale Container Storage Interface driver by 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. Deploy the Operator.
    kubectl create -f https://raw.githubusercontent.com/IBM/ibm-spectrum-scale-csi/v2.1.0/generated/\
    installer/ibm-spectrum-scale-csi-operator.yaml
  3. 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.extensions/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. You can do this 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.1.0/operator/deploy/crds/\
    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. Verify that 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,statefulset -n ibm-spectrum-scale-csi-driver
    NAME                                       READY   STATUS             RESTARTS   AGE
    pod/ibm-spectrum-scale-csi-attacher-0      1/1     Running            0          4d2h
    pod/ibm-spectrum-scale-csi-dxslh           2/2     Running            0          4d2h
    pod/ibm-spectrum-scale-csi-provisioner-0   1/1     Running            0.         4d2h
    pod/ibm-spectrum-scale-csi-operator-6ff9cf6979-v5g4c   1/1     Running   0          1h
    
    NAME                                    DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
    daemonset.apps/ibm-spectrum-scale-csi   1         1         1       1            1           <none>          4d2h
    
    NAME                                                  READY   AGE
    statefulset.apps/ibm-spectrum-scale-csi-attacher      1/1     4d2h
    statefulset.apps/ibm-spectrum-scale-csi-provisioner   1/1     4d2h
    

For more information, see https://github.com/IBM/ibm-spectrum-scale-csi.