/csm-operator

Primary LanguageGoApache License 2.0Apache-2.0

Dell Technologies Container Storage Modules (CSM) Operator

Contributor Covenant License Docker Pulls Go version GitHub release (latest by date including pre-releases)

Dell Technologies Container Storage Modules (CSM) Operator is an open-source Kubernetes operator which can be used to install and manage various CSI Drivers and CSM Modules.

Table of Contents

Dell Container Storage Modules Operator

Dell Container Storage Modules Operator is a Kubernetes native application which helps in installing and managing CSI Drivers and CSM Modules provided by Dell Technologies for its various storage platforms. Dell Container Storage Modules Operator uses Kubernetes CRDs (Custom Resource Definitions) to define a manifest that describes the deployment specifications for each driver to be deployed.

Dell Container Storage Modules Operator is built using the operator framework and runs custom Kubernetes controllers to manage the driver installations. These controllers listen for any create/update/delete request for the respective CRDs and try to reconcile the request.

Currently, the Dell Container Storage Modules Operator can be used to deploy the following CSI drivers provided by Dell Technologies

  • CSI Driver for Dell Technologies PowerScale
    • CSM Authorization
    • CSM Replication
    • CSM Observability
    • CSM Resiliency

NOTE: You can refer to additional information about the Dell Container Storage Modules Operator on the new documentation website here

Support

The Dell Container Storage Modules Operator image is available on Dockerhub and is officially supported by Dell Technologies. For any CSM Operator and driver issues, questions or feedback, join the Dell Technologies Container community or the Slack channel for Dell Container Storage Modules.

Supported Platforms

Dell Container Storage Modules Operator has been tested and qualified with

* Upstream Kubernetes cluster v1.29, v1.30, v1.31
* OpenShift Clusters 4.16, 4.17 with RHEL 9.x & RHCOS worker nodes

Installation

Install Operator (both OLM and Non OLM) in dev mode

  1. Clone the repo: git clone https://github.com/dell/csm-operator.git
  2. Navigate one level inside the cloned repo: cd csm-operator
  3. Execute make install to install the CRDs
  4. Execute make run to have the operator running.
  5. Install any of the operands (CSI Driver) using another session

NOTE: Closing the session where operator is running will stop the operator.

Install Operator using scripts

Operator install on a cluster without OLM

For Non OLM based install of Operator please refer the steps given here at https://dell.github.io/csm-docs/docs/deployment/csmoperator/#operator-installation-on-a-cluster-without-olm

To uninstall the Operator, execute bash scripts/uninstall.sh

Operator install on a cluster with OLM

NOTE: Index image or Catalog image should be used for OLM based install of Operator. This mode of install is used only for internal testing purposes as the bundle and index/catalog images are not posted in Dockerhub.

  1. Clone the repo: git clone https://github.com/dell/csm-operator.git
  2. Navigate one level inside the cloned repo: cd csm-operator
  3. Update the image specified in deploy/olm/operator_community.yaml to the required image.
  4. Execute bash scripts/install_olm.sh to install the operator.

To uninstall the Operator, execute bash scripts/uninstall_olm.sh

Operator install using offline bundle on a cluster without OLM

For Non OLM based install of Operator using offline bundle please refer the steps given here at https://dell.github.io/csm-docs/docs/deployment/csmoperator/#offline-bundle-installation-on-a-cluster-without-olm

Install CSI Drivers and CSM Modules

To install CSI drivers and CSM modules using the operator please refer here at https://dell.github.io/csm-docs/docs/deployment/csmoperator/

Uninstall CSI Drivers and CSM Modules

To uninstall CSI drivers and CSM modules installed using the operator please refer here at https://dell.github.io/csm-docs/docs/deployment/csmoperator/.

Versioning

This project is adhering to Semantic Versioning.

About

Dell Technologies Container Storage Modules (CSM) operator is 100% open source and community-driven. All components are available under Apache 2 License on GitHub.