Operator

Container Storage Module Operator

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.

The Container Storage Module Operator is a Kubernetes Operator, which can be used to install and manage the CSI Drivers and CSM Modules provided by Dell for various storage platforms. This operator is available as a community operator for upstream Kubernetes and can be deployed using OperatorHub.io. The operator can be installed using OLM (Operator Lifecycle Manager) or manually.

Supported CSM Components

For the supported version here.

These CR will be used for new deployment or upgrade. In most case, it is recommended to use the latest available version.

Installation

Before installing the driver, you need to install the operator. You can find the installation instructions here.

Manual Installation on a cluster without OLM

NOTE: You can update the resource requests and limits when you are deploying operator using manual installation without OLM

  1. Install volume snapshot CRDs. For detailed snapshot setup procedure, click here.
  2. Clone and checkout the required csm-operator version using
git clone -b v1.8.0 https://github.com/dell/csm-operator.git
  1. cd csm-operator
  2. (Optional) If using a local Docker image, edit the deploy/operator.yaml file and set the image name for the CSM Operator Deployment.
  3. (Optional) The Container Storage Module Operator might need more resources if users have larger environment (>1000 Pods). You can modify the default resource requests and limits in the files deploy/operator.yaml, config/manager/manager.yaml and increase the values for cpu and memory. More information on setting the resource requests and limits can be found here. Current default values are set as below:
        resources:
          limits:
            cpu: 200m
            memory: 512Mi
          requests:
            cpu: 100m
            memory: 192Mi
    
  4. (Optional) If CSM Replication is planned for use and will be deployed using two clusters in an environment where the DNS is not configured, and cluster API endpoints are FQDNs, in order to resolve queries to remote API endpoints, it is necessary to edit the deploy/operator.yaml file and add the hostAliases field and associated <FQDN>:<IP> mappings to the CSM Operator Controller Manager Deployment under spec.template.spec. More information on host aliases can be found, here.
    # example config
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: dell-csm-operator-controller-manager
    spec:
      template:
        spec:
          hostAliases:
          - hostnames:
            - "remote.FQDN"
            ip: "255.255.255.1"
    
  5. Run bash scripts/install.sh to install the operator.

NOTE: CSM Operator will be installed in the dell-csm-operator namespace.

  1. Run the command to validate the installation.
kubectl get pods -n dell-csm-operator

If installed successfully, you should be able to see the operator pod in the dell-csm-operator namespace.