Installing the driver using the OpenShift web console

When using the Red Hat OpenShift Container Platform, the operator for IBM block storage CSI driver can be installed directly from OpenShift web console, through the OperatorHub. Installing the CSI (Container Storage Interface) driver is part of the operator installation process.

Before you begin

About this task

The Red Hat OpenShift Container Platform uses the following SecurityContextConstraints for the following serviceAccounts:
serviceAccount SecurityContextConstraint
ibm-block-csi-operator restricted
ibm-block-csi-controller-sa anyuid
ibm-block-csi-node-sa privileged

Procedure

  1. From Red Hat OpenShift Container Platform Home > Projects, click Create Project. In the Create Project dialog box, fill in a Project name (also referred to as namespace). Click Create to save.
  2. From Operators > OperatorHub. Select the namespace from Projects: <namespace>, defined in step 1.
  3. Search for IBM block storage CSI driver.
  4. Select the Operator for IBM block storage CSI driver and click Install.
    The Operator Subscription form appears.
  5. Set the Installation Mode to the project namespace selected above, in step 2, under A specific namespace on the cluster.
  6. (Optional): Set the Approval Strategy to Automatic.
  7. Click Subscribe.
  8. From Operators > Installed Operators, check the status of the Operator for IBM block storage CSI driver.
    Wait until the Status is Up to date and then InstallSucceeded.
  9. Once the operator installation progress has completed, click on the installed Operator for IBM block storage CSI driver.
  10. Click Create Instance to create the IBM block storage CSI driver (IBMBlockCSI).
    A yaml file appears in the web console. This can be left as-is, or edited as needed.
    apiVersion: csi.ibm.com/v1
    kind: IBMBlockCSI
    metadata:
      name: ibm-block-csi
      namespace: <user_defined_namespace>
    spec:
      controller:
        affinity:
          nodeAffinity:
            requiredDuringSchedulingIgnoredDuringExecution:
              nodeSelectorTerms:
              - matchExpressions:
                - key: kubernetes.io/arch
                  operator: In
                  values:
                  - amd64
                  - s390x
        imagePullPolicy: IfNotPresent
        repository: ibmcom/ibm-block-csi-driver-controller
        tag: 1.1.0
      node:
        affinity:
          nodeAffinity:
            requiredDuringSchedulingIgnoredDuringExecution:
              nodeSelectorTerms:
              - matchExpressions:
                - key: kubernetes.io/arch
                  operator: In
                  values:
                  - amd64
                  - s390x
        imagePullPolicy: IfNotPresent
        repository: ibmcom/ibm-block-csi-driver-node
        tag: 1.1.0
      sidecars:
      - imagePullPolicy: IfNotPresent
        name: csi-node-driver-registrar
        repository: registry.redhat.io/openshift4/ose-csi-driver-registrar
        tag: latest
      - imagePullPolicy: IfNotPresent
        name: csi-provisioner
        repository: registry.redhat.io/openshift4/ose-csi-external-provisioner-rhel7
        tag: latest
      - imagePullPolicy: IfNotPresent
        name: csi-attacher
        repository: registry.redhat.io/openshift4/ose-csi-external-attacher
        tag: latest
      - imagePullPolicy: IfNotPresent
        name: livenessprobe
        repository: registry.redhat.io/openshift4/ose-csi-livenessprobe
        tag: latest
    
  11. Click Create.
    Wait until the Status is Running.