MapR Container Storage Interface (CSI) Storage Plugin Release 1.0.2

These notes describe Release 1.0.2 of the MapR Container Storage Interface (CSI) Storage Plugin.

You may also be interested in the Kubernetes Release Notes.

Version 1.0.2
Release Date March 2020
MapR Version Interoperability Compatible with MapR 6.1.0 or later.
Kubernetes Compatibility Kubernetes 1.13.0 and later.*
OpenShift Compatibility 4.1 and 4.2
CSI Driver Downloads See Downloads for more information.
Documentation MapR Container Storage Interface (CSI) Storage Plugin Overview
Related Resources https://mapr.com/solutions/data-fabric/kubernetes/

* Kubernetes alpha features are not supported.

New in this Release

This release of the MapR Container Storage Interface (CSI) Storage Plugin increments the version of the csi-kdfplugin to 1.0.2. Release 1.0.2 adds support for all three MapR POSIX licenses (Basic, Container, and Platinum) and allows users to pass custom startup parameters to the FUSE process.

For new-feature information, see Example: Mounting a PersistentVolume for Static Provisioning Using MapR Container Storage Interface (CSI) Storage Plugin.

You can access the new csi-kdfplugin by installing the custom resource definition using the csi-maprkdf-v1.0.2.yaml file. Or you can build your own container and point to the plugin on the Docker hub at maprtech/csi-kdfplugin:1.0.2. For installation information, see Installing and Uninstalling the MapR Container Storage Interface (CSI) Storage Plugin.

Patches

None.

Limitations

Note the following limitations:

  • CSI Driver version 1.0 does not support coexistence with the FlexVolume Driver on the same Kubernetes cluster.
  • All nodes in the Kubernetes cluster must use the same Linux OS. Configuration files are available to support the following Linux distributions:
    • CentOS
    • Red Hat (use CentOS configuration file)
    • Ubuntu
  • The Container POSIX client package is included by default when you install the MapR Container Storage Interface (CSI) Storage Plugin. The Basic or Platinum POSIX client can be enabled by specifying a parameter in the Pod spec. Only the FUSE-based POSIX client is supported. NFSv3 and NFSv4 are not supported.
  • The CSI Driver does not include support for inline volumes in pods. It supports only PersistentVolumes.

Known Issues

Note the following known issues:

  • On nodeplugin Pod restart or upgrade scenario, the existing POSIX client(s) running in the CSI Driver container are killed. The workaround is to move/stop the container workload using MapR CSI Storage Plugin, restart/update the MapR CSI Storage Plugin and start using the MapR CSI Storage Plugin again.
  • On Provisioner restart, Provisioner loses the information about the REST server where volume or snapshot should be deleted for existing volume and snapshots provisioned. The administrator must manually remove the volume and/or snapshot for provisioned volumes from the MapR Data Platform.
  • Provisioned snapshot information is written to the provisioner log, but not available in the Kubernetes objects such as volumeSnapshots, VolumesnapshotContents etc.
  • If you want read-only behavior, specify readOnly in the volumeAttributes. For example, the following is supported:
    csi:
        nodePublishSecretRef:
          name: "mapr-ticket-secret"
          namespace: "test-csi"
        driver: com.mapr.csi-kdf
        volumeHandle: pv-securepv-test-read-only-id
        volumeAttributes:
          volumePath: "/user/root"
          cluster: "clusterA"
          cldbHosts: "10.10.10.210"
          securityType: "secure"
          readOnly: "true"
    The following is not supported:
    csi:
        nodePublishSecretRef:
          name: "mapr-ticket-secret"
          namespace: "test-csi"
        driver: com.mapr.csi-kdf
        volumeHandle: pv-securepv-test-read-only-id
        readOnly: true
        volumeAttributes:
          volumePath: "/user/root"
          cluster: "clusterA"
          cldbHosts: "10.10.10.210"
          securityType: "secure"

Resolved Issues

Issue Description
K8S-844 MapR K8S log rotation policy and clearing of unused mounts
K8S-1068 Ability to modify the fuse.conf per container basis.
K8S-1208 PODs fail to mount MapR with /opt/mapr/k8s/hostname empty file error.