Installation
Supported driver and module versions offered by the Container Storage Module Operator hereOperator 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
vxflexos
.oc new-project vxflexos
-
Create config secret:
Create a file called
config.yaml
or use sample:Example:
cat << EOF > config.yaml - username: "admin" password: "password" systemID: "2b11bb111111bb1b" endpoint: "https://127.0.0.2" skipCertificateValidation: true mdm: "10.0.0.3,10.0.0.4" EOF
Add blocks for each Powerflex array in
config.yaml
, and include both source and target arrays if replication is enabled.
Edit the file, then run the command to create the
vxflexos-config
.oc create secret generic vxflexos-config --from-file=config=config.yaml -n vxflexos --dry-run=client -oyaml > secret-vxflexos-config.yaml
Use this command to create the config:
oc apply -f secret-vxflexos-config.yaml
Use this command to replace or update the config:
oc replace -f secret-vxflexos-config.yaml --force
Verify config secret is created.
oc get secret -n vxflexos NAME TYPE DATA AGE vxflexos-config Opaque 1 3h7m
-
Create Custom Resource ContainerStorageModule for powerflex.
Use this command to create the ContainerStorageModule Custom Resource:
oc create -f csm-vxflexos.yaml
Example:
cat << EOF > csm-vxflexos.yaml apiVersion: storage.dell.com/v1 kind: ContainerStorageModule metadata: name: vxflexos namespace: vxflexos spec: driver: csiDriverType: "powerflex" configVersion: v2.13.0 EOF
Detailed Configuration: Use the sample file for detailed settings.
To set the parameters in CR. The table shows the main settings of the PowerFlex driver and their defaults.
-
Check if ContainerStorageModule CR is created successfully:
oc get csm vxflexos -n vxflexos
NAME CREATIONTIME CSIDRIVERTYPE CONFIGVERSION STATE
vxflexos 3h powerflex 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-vxflexos.yaml
Example:
cat << EOF > sc-vxflexos.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: vxflexos annotations: storageclass.kubernetes.io/is-default-class: "true" provisioner: csi-vxflexos.dellemc.com reclaimPolicy: Delete allowVolumeExpansion: true parameters: storagepool: <STORAGE_POOL> systemID: <SYSTEM_ID> csi.storage.k8s.io/fstype: ext4 volumeBindingMode: Immediate EOF
Replace placeholders with actual values for your powerflex array and various storage class sample refer here
Verify Storage Class is created:
oc get storageclass vxflexos NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE vxflexos (default) csi-vxflexos.dellemc.com Delete Immediate true 3h8m
-
Create Volume Snapshot Class:
Use this command to create the Volume Snapshot Class:
oc apply -f vsclass-vxflexos.yaml
Example:
cat << EOF > vsclass-vxflexos.yaml apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshotClass metadata: name: vsclass-vxflexos driver: csi-vxflexos.dellemc.com deletionPolicy: Delete EOF
Verify Volume Snapshot Class is created:
oc get volumesnapshotclass NAME DRIVER DELETIONPOLICY AGE vsclass-vxflexos csi-vxflexos.dellemc.com Delete 3h9m