Installation
Starting with Container Storage Module 1.12, all deployments will use images from quay.io by default. New release images will be available on Docker Hub until CSM 1.14 (May 2025), and existing releases will remain on Docker Hub.
CSM Installation Wizard Support Matrix Click Here
The Container Storage Modules Installation Wizard is a webpage that helps you create a manifest file to install Dell CSI Drivers and CSM Modules. Users can enable or disable modules through the UI, and it generates a single manifest file, eliminating the need to download individual Helm charts for drivers and modules.
Generate Manifest File
- Open the Installation Wizard.
- Select the
Installation Type
asHelm
/Operator
. - Select the
Array
. - Enter the
Image Repository
. The default value isdellemc
. - Select the
CSM Version
. - Select the modules for installation. If there are module specific inputs, enter their values.
- If needed, modify the
Controller Pods Count
. - If needed, select
Install Controller Pods on Control Plane
and/orInstall Node Pods on Control Plane
. - Enter the
Namespace
. The default value iscsi-<array>
. - Click on
Generate YAML
. - A manifest file,
values.yaml
will be generated and downloaded. - A section
Run the following commands to install
will be displayed. - Run the commands displayed to install Dell CSI Driver and Modules using the generated manifest file.
Installation Using Operator
Steps
NOTE: Ensure that the csm-operator is installed and that the namespace, secrets, and
config.yaml
are created as prerequisites.
-
Copy the downloaded
values.yaml
file. -
Look over all the fields in the generated
values.yaml
and fill in/adjust any as needed.
NOTE: The CSM Installation Wizard generates
values.yaml
with the minimal inputs required to install the CSM. To configure additional parameters in values.yaml, you can follow the steps outlined in CSI Driver, Resiliency.
- If Observability is checked in the wizard, refer to Observability to export metrics to Prometheus and load the Grafana dashboards.
- If Authorization is checked in the wizard, only the sidecar is enabled. Refer to Authorization to install and configure the CSM Authorization Proxy Server.
- If Replication is checked in the wizard, refer to Replication for the necessary prerequisites required for this module.
- Install the Operator.
On your terminal, run this command:
kubectl create -f values.yaml
Operator Installation
-
On the OpenShift console, navigate to OperatorHub and use the keyword filter to search for Dell Container Storage Modules.
-
Click Dell Container Storage Modules tile
-
Keep all default settings and click Install.
Verify that the operator is deployed
oc get operators
NAME AGE
dell-csm-operator-certified.openshift-operators 2d21h
oc get pod -n openshift-operators
NAME READY STATUS RESTARTS AGE
dell-csm-operator-controller-manager-86dcdc8c48-6dkxm 2/2 Running 21 (19h ago) 2d21h
CSI Driver Installation
-
Create project:
Use this command to create new project. You can use any project name instead of
powerstore
.oc new-project powerstore
-
Create config secret:
Create a file called
config.yaml
or use sample:Example:
cat << EOF > config.yaml arrays: - endpoint: "https://11.0.0.1/api/rest" globalID: "unique" username: "user" password: "password" skipCertificateValidation: true blockProtocol: "FC" EOF
Add blocks for each PowerStore array in
config.yaml
, and include both source and target arrays if replication is enabled.The username in
config.yaml
must be from PowerStore’s authentication providers and have at least the Storage Operator role.
Edit the file, then run the command to create the
powerstore-config
.oc create secret generic powerstore-config --from-file=config=config.yaml -n powerstore --dry-run=client -oyaml > secret-config.yaml
Use this command to create the config:
oc apply -f secret-powerstore-config.yaml
Use this command to replace or update the config:
oc replace -f secret-powerstore-config.yaml --force
Verify config secret is created.
oc get secret -n powerstore NAME TYPE DATA AGE powerstore-config Opaque 1 3h7m
-
Create Custom Resource ContainerStorageModule for powerstore.
Use this command to create the ContainerStorageModule Custom Resource:
oc create -f csm-store.yaml
Example:
cat << EOF > csm-powerstore.yaml apiVersion: storage.dell.com/v1 kind: ContainerStorageModule metadata: name: powerstore namespace: powerstore spec: driver: csiDriverType: "powerstore" configVersion: v2.13.0 forceRemoveDriver: true EOF
Detailed Configuration: Use the sample file for detailed settings.
To set the parameters in CR. The table shows the main settings of the PowerStore driver and their defaults.
-
Check if ContainerStorageModule CR is created successfully:
oc get csm powerstore -n powerstore
NAME CREATIONTIME CSIDRIVERTYPE CONFIGVERSION STATE
powerstore 3h powerstore v2.13.0 Succeeded
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.
-
Create Storage class:
Use this command to create the Storage Class:
oc apply -f sc-powerstore.yaml
Example:
cat << EOF > sc-powerstore.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: "powerstore-ext4" provisioner: "csi-powerstore.dellemc.com" parameters: csi.storage.k8s.io/fstype: "ext4" reclaimPolicy: Delete allowVolumeExpansion: true volumeBindingMode: Immediate EOF
Replace placeholders with actual values for your powerstore array and various storage class sample refer here
Verify Storage Class is created:
oc get storageclass powerstore NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE powerstore(default) csi-powerstore.dellemc.com Delete Immediate true 3h8m
-
Create Volume Snapshot Class:
Use this command to create the Volume Snapshot:
oc appky -f vsclass-powerstore.yaml
Example:
cat << EOF > vsclass-powerstore.yaml apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshotClass metadata: name: powerstore-snapshot driver: "csi-powerstore.dellemc.com" deletionPolicy: Delete EOF
Verify Volume Snapshot Class is created:
oc get volumesnapshotclass NAME DRIVER DELETIONPOLICY AGE powerstore-snapclass csi-powerstore.dellemc.com Delete 3h9m