Container Storage Interface (CSI) Storage Plugin Release 1.0 (Loopback NFS)

These notes describe release 1.0.x of the Container Storage Interface (CSI) Storage Plugin for Loopback NFS.

You may also be interested in the Kubernetes Release Notes. For the latest 1.0.x version, see the mapr-csi github repository.

Version 1.0.x
Release Date November 2020
MapR Version Interoperability Compatible with release 6.1.0 and later.
Kubernetes Compatibility Kubernetes 1.17.0 and later.*
OpenShift Compatibility 4.4 and later.
CSI Driver Downloads See Downloads (CSI) for more information.
Documentation
Related Resources https://www.hpe.com/us/en/resource-library.html

* Kubernetes alpha features are not supported.

New in this Release

With the FUSE 1.2.11 and Loopback NFS 1.0.11 plugins, snapshot restore to new volumes uses Data Fabric mirroring functionality to restore the volumes. This works only with Data Fabric 6.2.0.10 and higher. For older core versions, the restoreMethod: "snapshot" parameter must be passed in the StorageClass parameters section.

Release 1.0.x of the Container Storage Interface (CSI) Storage Plugin for NFS includes .yaml configuration files that can be installed onto a Kubernetes cluster. Once installed, these containers provide an NFS-based CSI Driver for the file-system volume plug-in and a Kubernetes Dynamic Volume Provisioner that permit static and dynamic provisioning of data-fabric storage from Kubernetes.

You can access the csi-nfsplugin by installing the custom resource definition (CRD) using the csi-maprnfskdf-v<version>.yaml file. Or you can build your own container and point to the plugin on the Docker hub at maprtech/csi-nfsplugin:<version>. For installation information, see Installing, Uninstalling, and Upgrading the Container Storage Interface (CSI) Storage Plugin.

Release 1.0.x also includes support for dynamic and static provisioning of raw block volumes. For more information, see Raw Block Volumes.

Patches

None.

Limitations

Note the following limitations:

  • CSI Driver version 1.0.x 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
    • RHEL (use CentOS configuration file)
    • Ubuntu
  • The CSI Driver does not include support for inline volumes in pods. It supports only PersistentVolumes.

Known Issues

Note the following known issues:

  • On FUSE 1.2.10 and older or LoopbackNFS 1.0.10 and older, snapshot restore fails if the snapshot contains symlinks to other files in the directory.

    If your cluster is installed with Data Fabric 6.2.0.10 or higher, use the restoreMethod: "mirror" in StorageClass parameters.

Resolved Issues

Issue Description
CSI-289 Update Go version in the CSI repo to 1.22
CSI-290 Update CSI spec to 1.9
CSI-292 Update CSI driver with DF 7.8 RHEL9 packages with ubi9.4 base images
CSI-294 Support TLS verification in CSI (MAPR_CLUSTER_TLSCERT, MAPR_CLUSTER_CLIENTCERT & MAPR_CLUSTER_CLIENTKEY)
CSI-295 Use DF internal mirroring to restore snapshots to new volumes
CSI-296 Go critical vulnerabilities. Update all sidecar containers to latest compatible versions & use registry.k8s.io instead of discontinued k8s.gcr.io repository