What are Dell Container Storage Modules (CSM)? How different is it from a CSI driver?

Dell Container Storage Modules are a set of modules that aim to extend features beyond what is available in the CSI specification.

The main goal with CSM modules is to expose storage array enterprise features directly within Kubernetes so developers are empowered to leverage them for their deployment in a seamless way.

Where do I start with Dell Container Storage Modules (CSM)?

The umbrella repository for every Dell Container Storage Module is: https://github.com/dell/csm.

Is the Container Storage Module XYZ available for my array?

Please see module and the respectice CSI driver version available for each array:

CSM Module CSI PowerFlex v2.1 CSI PowerScale v2.1 CSI PowerStore v2.1 CSI PowerMax v2.1 CSI Unity XT v2.1
Authorization v1.1 ✔️ ✔️ ✔️
Observability v1.0 ✔️ ✔️
Replication v1.1 ✔️ ✔️
Resilency v1.0 ✔️ ✔️
CSM Installer v1.0 ✔️ ✔️ ✔️ ✔️ ✔️

What are the prerequisites for deploying Container Storage Modules?

Prerequisites can be found on the respective module deployment pages:

Prerequisites for deploying the Dell EMC CSI drivers can be found here:

How do I uninstall or a disable a module?

How do I troubleshoot Container Storage Modules?

Can I use the CSM functionality like Prometheus collection or Authorization quotas for my non-Kubernetes storage clients?

No, all the modules have been designed to work inside Kubernetes with Dell EMC CSI drivers.

Should I install the module in the same namespace as the driver or another?

It is recommended to install CSM for Observability in a namespace separate from the Dell EMC CSI drivers because it works across multiple drivers. All other modules either run as standalone or are injected into the Dell EMC CSI driver as a sidecar.

Which Kubernetes distributions are supported?

The supported Kubernetes distributions for Container Storage Modules are documented:

The supported distros for the Dell EMC CSI Drivers are located here.

How do I get a list of Container Storage Modules deployed in my cluster with their versions?

The easiest way to find the module version is to check the image tag for the module. For all the namespaces you can execute the following:

kubectl get pods -A -o jsonpath="{..image}" | tr -s '[[:space:]]' '\n' | grep 'csm\|karavi' | sort | uniq -c

Or if you know the namespace:

kubectl get deployment,daemonset -o wide -n {{namespace}}

Does the CSM Installer provide full Container Storage Modules functionality for all products?

The CSM Installer supports the installation of all the Container Storage Modules and Dell EMC CSI drivers.

Do all Container Storage Modules need to be the same version, or can I mix and match?

It is advised to comply with the support matrices (links below) and not deviate from it with mixed versions.

The CSM installer module will help to stay aligned with compatible versions during the first install and future upgrades.

Can I run Container Storage Modules in a production environment?

As of CSM 1.0, the Container Storage Modules are GA and ready for production systems.

Is Dell Container Storage Modules (CSM) supported by Dell Technologies?


If you find an issue, please follow our support process

Can I modify a module or contribute to the project?


All Container Storage Modules are released as open-source projects under Apache-2.0 License. You are free to contribute directly following the contribution guidelines, fork the projects, modify them, and of course share feedback or open tickets ;-)

What is coming next?

This is just the beginning of the journey for Dell Container Storage Modules, and there is a full roadmap with more to come, which you can check under the GithHub Milestones page.