MapR Container Storage Interface (CSI) Storage Plugin Overview

This page describes how the MapR Container Storage Interface (CSI) Storage Plugin can be used to expose the MapR Data Platform to the containerized workload on Kubernetes.

To install or use the MapR Container Storage Interface (CSI) Storage Plugin, see:

About the MapR Container Storage Interface (CSI) Storage Plugin

The MapR Container Storage Interface (CSI) Storage Plugin is an industry-standard interface that Container Orchestration systems can use to expose MapR Data Platform to their containerized workloads. Traditionally, storage vendors had either to write and support multiple volume drivers for different Container Orchestration systems or choose not to support Container Orchestration systems. Using CSI, you can use the same volume driver with different Container Orchestration systems. Also, CSI enables the volume plug-ins to be containerized to make it agnostic to the host underneath, which might run other software such as MapR, allowing both Kubernetes and MapR to co-exist on the same node with CSI support.

The MapR CSI driver:
  • Allows other software to run on the same node.
  • Does not require volume plug-ins to be built into the Kubernetes binaries.
  • Does not require direct access to the machine to deploy the volume plug-in.

The CSI Driver for MapR consists of .yaml configuration files for installation into Kubernetes. Once installed, a Kubernetes Container Storage Interface (CSI) driver for the file system and a Kubernetes Dynamic Volume Provisioner are available for both static and dynamic provisioning of MapR storage.

The CSI driver uses sidecar containers, which are containers included with the driver for handling Kubernetes events and for communicating with CSI drivers for storage provisioning. Specifically:

  • The csi-provisioner provisions and creates volumes for the MapR Data Platform.
  • The csi-driver-registrar registers the driver to the kubelet.
  • The csi-attacher attaches volumes to the node and mounts the volumes.
  • The livenessprobe probes the driver for health and readiness.
  • The csi-snapshotter and snapshot-controller provision and create snapshots on the MapR Data Platform.

When you install the CSI driver, it creates a DaemonSet Pod for the CSI node service and StatefulSet Pod for CSI controller service.

Additional Resources