Installation Wizard
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 TypeasHelm/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 Planeand/orInstall Node Pods on Control Plane. - Enter the
Namespace. The default value iscsi-<array>. - Click on
Generate YAML. - A manifest file,
values.yamlwill be generated and downloaded. - A section
Run the following commands to installwill 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.yamlare created as prerequisites.
-
Copy the downloaded
values.yamlfile. -
Look over all the fields in the generated
values.yamland fill in/adjust any as needed.
NOTE: Starting from CSM version 1.16, users can utilize the
versionparameter (as defined in thevalues.yamlfile) for both installation and upgrade. When using this parameter, there are two approaches:
- ConfigMap Approach:
Create a ConfigMap specifying the required images and apply it to the operator’s namespace prior applying the CR. The operator will pull and apply the images defined in the ConfigMap.
NOTE: When a ConfigMap is applied, it takes precedence over all other settings. Any alternative image source configuration, such as custom registry, will be ignored.
Sample ConfigMap Configuration:
apiVersion: v1
kind: ConfigMap
metadata:
name: csm-images
namespace: dell-csm-operator
data:
versions.yaml: |
- version: v1.16.0
images:
powerstore: quay.io/dell/container-storage-modules/csi-powerstore:v2.16.0
powerflex: quay.io/dell/container-storage-modules/csi-vxflexos:v2.16.0
isilon: quay.io/dell/container-storage-modules/csi-isilon:v2.16.0
powermax: quay.io/dell/container-storage-modules/csi-powermax:v2.16.0
karavi-authorization-proxy: quay.io/dell/container-storage-modules/csm-authorization-sidecar:v2.4.0
podmon: quay.io/dell/container-storage-modules/podmon:v1.15.0
otel-collector: ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector:0.143.1
nginx-proxy : quay.io/nginx/nginx-unprivileged:1.27
metrics-powermax: quay.io/dell/container-storage-modules/csm-metrics-powermax:v1.9.0
metrics-powerstore: quay.io/dell/container-storage-modules/csm-metrics-powerstore:v1.14.0
metrics-powerflex: quay.io/dell/container-storage-modules/csm-metrics-powerflex:v1.14.0
metrics-powerscale: quay.io/dell/container-storage-modules/csm-metrics-powerscale:v1.11.0
dell-csi-replicator: quay.io/dell/container-storage-modules/dell-csi-replicator:v1.14.0
dell-replication-controller-manager: quay.io/dell/container-storage-modules/dell-replication-controller:v1.14.0
csipowermax-reverseproxy: quay.io/dell/container-storage-modules/csipowermax-reverseproxy:v2.15.0
sdc: quay.io/dell/storage/powerflex/sdc:5.0
sdc-monitor: quay.io/dell/storage/powerflex/sdc:5.0
provisioner: registry.k8s.io/sig-storage/csi-provisioner:v6.1.0
attacher: registry.k8s.io/sig-storage/csi-attacher:v4.10.0
registrar: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.15.0
resizer: registry.k8s.io/sig-storage/csi-resizer:v2.0.0
snapshotter: registry.k8s.io/sig-storage/csi-snapshotter:v8.4.0
csi-metadata-retriever: quay.io/dell/container-storage-modules/csi-metadata-retriever:v1.13.0
external-health-monitor: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.16.0
cert-manager-cainjector: quay.io/jetstack/cert-manager-cainjector:v1.11.0
cert-manager-controller: quay.io/jetstack/cert-manager-controller:v1.11.0
cert-manager-webhook: quay.io/jetstack/cert-manager-webhook:v1.11.0
proxy-service: quay.io/dell/container-storage-modules/csm-authorization-proxy:v2.4.0
tenant-service: quay.io/dell/container-storage-modules/csm-authorization-tenant:v2.4.0
role-service: quay.io/dell/container-storage-modules/csm-authorization-role:v2.4.0
storage-service: quay.io/dell/container-storage-modules/csm-authorization-storage:v2.4.0
opa: docker.io/openpolicyagent/opa:0.70.0
opa-kube-mgmt: docker.io/openpolicyagent/kube-mgmt:9.3.0
authorization-controller: quay.io/dell/container-storage-modules/csm-authorization-controller:v2.4.0
redis: redis:8.2.0-alpine
commander: docker.io/rediscommander/redis-commander:latest
- version: v1.15.0
images:
powerstore: quay.io/dell/container-storage-modules/csi-powerstore:v2.15.0
powerflex: quay.io/dell/container-storage-modules/csi-vxflexos:v2.15.0
isilon: quay.io/dell/container-storage-modules/csi-isilon:v2.15.0
....
- version: v1.14.0
images:
powerstore: quay.io/dell/container-storage-modules/csi-powerstore:v2.14.0
powerflex: quay.io/dell/container-storage-modules/csi-vxflexos:v2.14.0
isilon: quay.io/dell/container-storage-modules/csi-isilon:v2.14.0
....
-
Custom Registry Approach:
Alternatively, you can specifycustomRegistryandretainImageRegistryPathin the configuration. The custom registry approach allows you to redirect all container image pulls to a registry of your choice while optionally preserving the original image path structure. This is useful in environments where images must be sourced from a private or enterprise-approved registry. If users want to use custom registry they must mirror all required images into the custom registry prior to upgrade.-
customRegistry – The customRegistry field in the CSM Custom Resource (CR) enables administrators to override the default image registry. When specified, all images are pulled from the custom registry using their default image names and paths, unless otherwise modified by additional configuration.
-
retainImageRegistryPath – The retainImageRegistryPath field is a boolean flag that determines whether the original image path structure should be preserved when using a custom registry. This parameter is only evaluated when customRegistry is set.
- retainImageRegistryPath: false
When set to false, only the registry hostname is replaced. For example, with customRegistry=my.artifactory-registry.example, an image such as csi-vxflexos:v2.16.0 will be pulled frommy.artifactory-registry.example/csi-vxflexos:v2.16.0. - retainImageRegistryPath: true
When set to true, the full original image path under the registry is retained. For example, with customRegistry=my.artifactory-registry.example, the same image will be pulled frommy.artifactory-registry.example/dell/container-storage-modules/csi-vxflexos:v2.16.0.
- retainImageRegistryPath: false
-
NOTE: The custom registry value must be Fully Qualified Domain Name (FQDN) and must not include any nested path or folder structure. For example: my.artifactory-registry.example
Sample CustomRegistry Configuration:
apiVersion: storage.dell.com/v1
kind: ContainerStorageModule
metadata:
name: powerflex
namespace: vxflexos
spec:
version: v1.16.0
customRegistry: my.artifactory-registry.example
retainImageRegistryPath: false
# Add fields here
driver:
....
If neither method is configured, the operator automatically falls back to using the default image set associated with the corresponding drivers and modules. In case the environment is offline, the user should use either a ConfigMap or customRegistry.
NOTE: If the upgrade using the version field fails, consult the Operator Troubleshooting Guide. If the issue persists, uninstall the existing resources and proceed with a fresh installation.
NOTE: The CSM Installation Wizard generates
values.yamlwith 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