The MapR CSI Storage plugin provides the persistent storage for Application containers. For more information, Refer to MapR documentation
Note: Kubernetes or CSI alpha features are not supported on MapR CSI Storage plugin v1.0.0.
MapR CSI Plugin version | Supported Kubernetes Version | CSI Spec version | Posix Client (Core) Version |
---|---|---|---|
v1.0.0 | >=1.13.0 | v1.0.0 | 6.1.0 |
The released MapR CSI Storage plugin docker images will be published to:
maprtech/csi-kdfplugin
maprtech/csi-kdfprovisioner
maprtech/csi-kdfdriver
Currently, MapR CSI Storage plugin (v1.0.0) only support Kubernetes as CO (Container Orchestration) system.
Before installing the MapR Container Storage Interface (CSI) Storage Plugin, Please note the following:
- The installation procedure assumes that the Kubernetes cluster (See supported Kubernetes version) is already installed and functioning normally.
- Configure
--maxvolumepernode
to Maximum volumes allowed on a node as per it's capacity in thedeploy/kubernetes/csi-maprkdf-v1.0.0.yaml
accordingly. - The Privileged Pods and Mount Propogation are enabled on the Kubernetes environment. See below procedure to enable them:
a) Enable privileged Pods
This can be achieved with starting kubelet and Apiserver with allow-privileged flag to true:
./kube-apiserver ... --allow-privileged=true ...
./kubelet ... --allow-privileged=true ...
Note: This is default in some environments, such as GKE, Kubeadm etc.
b) Enable mount propogation
MapR CSI Storage plugin require the mount propogation enabled on the Kubernetes environment. This will
allow sharing of volumes mounted by one container with other containers in the same pod, or even
to other pods on the same node.
See Mount Propogation
for more info.
Note: To test if Mount Propagation is enabled, Run the following command and it should run fine without error.
$ docker run -it -v /mnt:/mnt:shared busybox sh -c ls /
Note: For more detail instructions, Please refer to Public CSI Documentation
Follow the below procedure to install MapR CSI Storage plugin in Kubernetes environment:
Note: The following steps requires the git
and kubectl
to be installed on the computer.
- clone the mapr-csi repository
$ git clone https://github.com/mapr/mapr-csi.git
- cd to mapr-csi directory
$ cd mapr-csi
- Deploy Installation yaml file for MapR CSI storage
$ kubectl create -f deploy/kubernetes/csi-maprkdf-v1.0.0.yaml
Please refer to Troubleshooting section for the installation troubleshooting tips.
Note: csi-maprkdf-v1.0.0.yaml
provides the MapR released CSI storage plugin based of MapR provided Centos OS image and CSI KDF driver.
If you would like to build your own container with other supported Posix Client OS and modify the image in csi-maprkdf-v1.0.0.yaml
, Please refer to
BYOC for MapR CSI Storage Plugin for more info.
This step is optional and is provided as a reference to build a custom plugin image:
Note: This step requires docker
to be installed on the computer.
a) cd build/<centos/ubuntu>
b) (Optional) Modify the maprtech/csi-kdfdriver
tag to an released tag in Dockerfile
c) (Optional) Modify the custom image tag in docker-custom-build.sh
d) Run ./docker-custom-build.sh
to start building the custom docker image
Check out the sample examples section for the usage of MapR CSI storage plugin.
To remove MapR CSI storage plugin from Kubernetes cluster, Run the following:
$ kubectl delete -f deploy/kubernetes/csi-maprkdf-v1.0.0.yaml