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:
- Installing, Uninstalling, and Upgrading the MapR Container Storage Interface (CSI) Storage Plugin
- Using the MapR Container Storage Interface (CSI) Storage Plugin
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.
- 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
andsnapshot-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.