At the end of this procedure, the IBM Storage
Scale Container Storage Interface operator
is installed, and the operator pod is
running.
Before you install the IBM Storage
Scale Container Storage Interface operator, make sure that the
prerequisites are met. For more information, see Performing preinstallation tasks.
Note: This procedure is applicable for both Kubernetes and Red Hat®
OpenShift® with RHEL worker nodes. For Red Hat
OpenShift, replace "kubectl" with "oc" in all the
commands.
To deploy the operator on your cluster, follow the next procedure.
- Create a namespace.
kubectl create namespace ibm-spectrum-scale-csi-driver
- Issue the following command to download the operator manifest for CSI 2.13.1:
curl -O https://raw.githubusercontent.com/IBM/ibm-spectrum-scale-csi/v2.13.1/generated/installer/ibm-spectrum-scale-csi-operator.yaml
- For an air gap installation, follow this additional step. If you are not doing an air gap
installation, skip this step.
Before you start this step, confirm that all the required container images are available in your
container registry that is locally hosted. For information about how to upload the images, see Table 1 in Deployment considerations.
For an air gap installation or upgrade, edit the downloaded
ibm-spectrum-scale-csi-operator.yaml file with the following details.
- In the downloaded ibm-spectrum-scale-csi-operator.yaml, go to the
deployment stanza file named ibm-spectrum-scale-csi-operator, and update the
image environment values for the container
operator.
By
default, Image points to the external repository.
- Update the following environment variables in the Deployment
section.
- CSI_DRIVER_IMAGE
- CSI_ATTACHER_IMAGE
- CSI_SNAPSHOTTER_IMAGE
- CSI_PROVISIONER_IMAGE
- CSI_LIVENESSPROBE_IMAGE
- CSI_NODE_REGISTRAR_IMAGE
- CSI_RESIZER_IMAGE
These environment variables are used to specify the images of various CSI pods.
By default, these environment variables point to images in the external repository. You must
update these values to use an internal registry.
Example:
This example highlights differences in an updated
ibm-spectrum-scale-csi-operator.yaml. Here,
example.io is
the considered as the internal registry.
- name: operator
- image: quay.io/ibm-spectrum-scale-dev/ibm-spectrum-scale-csi-operator@sha256:a371ac2539ddf2e4708ba22f539381880e500758de20e8db3823b1f32c5a3794
+ image: example.io/ibm-spectrum-scale-csi-operator@sha256:a371ac2539ddf2e4708ba22f539381880e500758de20e8db3823b1f32c5a3794
args:
- --leaderElection=true
env:
- name: METRICS_BIND_ADDRESS
value: "8383"
- name: WATCH_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: CSI_DRIVER_IMAGE
- value: quay.io/ibm-spectrum-scale-dev/ibm-spectrum-scale-csi-driver@sha256:ffecac38546bf0b36e0c87fd6e4c06c58bc85c6f7c2140651149a284d29a5d6f
+ value: example.io/ibm-spectrum-scale-csi-driver@sha256:ffecac38546bf0b36e0c87fd6e4c06c58bc85c6f7c2140651149a284d29a5d6f
- name: CSI_SNAPSHOTTER_IMAGE
- value: registry.k8s.io/sig-storage/csi-snapshotter@sha256:b3e90b33781670ac050c22c9e88b9e876493dca248966b9da6f7a90cc412ab86
+ value: example.io/csi-snapshotter@sha256:b3e90b33781670ac050c22c9e88b9e876493dca248966b9da6f7a90cc412ab86
- name: CSI_ATTACHER_IMAGE
- value: registry.k8s.io/sig-storage/csi-attacher@sha256:b4d611100ece2f9bc980d1cb19c2285b8868da261e3b1ee8f45448ab5512ab94
+ value: example.io/sig-storage/csi-attacher@sha256:b4d611100ece2f9bc980d1cb19c2285b8868da261e3b1ee8f45448ab5512ab94
- name: CSI_PROVISIONER_IMAGE
- value: registry.k8s.io/sig-storage/csi-provisioner@sha256:7b9cdb5830d01bda96111b4f138dbddcc01eed2f95aa980a404c45a042d60a10
+ value: example.io/csi-provisioner@sha256:7b9cdb5830d01bda96111b4f138dbddcc01eed2f95aa980a404c45a042d60a10
- name: CSI_LIVENESSPROBE_IMAGE
- value: registry.k8s.io/sig-storage/livenessprobe@sha256:33692aed26aaf105b4d6e66280cceca9e0463f500c81b5d8c955428a75438f32
+ value: example.io/livenessprobe@sha256:33692aed26aaf105b4d6e66280cceca9e0463f500c81b5d8c955428a75438f32
- name: CSI_NODE_REGISTRAR_IMAGE
- value: registry.k8s.io/sig-storage/csi-node-driver-registrar@sha256:e01facb9fb9cffaf52d0053bdb979fbd8c505c8e411939a6e026dd061a6b4fbe
+ value: example.io/csi-node-driver-registrar@sha256:e01facb9fb9cffaf52d0053bdb979fbd8c505c8e411939a6e026dd061a6b4fbe
- name: CSI_RESIZER_IMAGE
- vale: registry.k8s.io/sig-storage/csi-resizer@sha256:be6a7de1d43dba90710b61bd3d0d8f568654a6adadaeea9188cf4cd3554cbb87
+ vale: example.io/csi-resizer@sha256:be6a7de1d43dba90710b61bd3d0d8f568654a6adadaeea9188cf4cd3554cbb87
- Issue the following command to apply the operator manifest to deploy the operator:
kubectl create -f ibm-spectrum-scale-csi-operator.yaml
- Verify that the operator is deployed, and the operator pod is in the 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
After you complete the installation of the CSI operator, you must install the CSI
driver.
The installation instructions for the CSI driver are detailed in Deploying the IBM Storage Scale Container Storage Interface driver.