Describes how the FlexVolume driver for Kubernetes Interfaces for Data Fabric integrates with Kubernetes to provide persistent data for containers.
To review the FlexVolume Driver end-of-life announcement, see support advisory 4822. For a comparison of the CSI and FlexVolume technologies, see FlexVolume.

The Data Fabric for Kubernetes consists of a set of Docker
containers and their respective .yaml
configuration files for installation into
Kubernetes. Once installed, both a Kubernetes FlexVolume Driver for MaprFS and a Kubernetes Dynamic Volume Provisioner are available for both static and
dynamic provisioning of data-fabric
storage.
Containers are stand-alone, executable images of applications. They freeze all code needed to run an application, including an OS. Unlike VMs, containers run directly on an operating system without the need for a HyperVisor. Both Linux- and Windows-based applications can be packaged as containers. Containers represent an easy way to deploy applications in development and test environments. Using containers, developers can quickly create a development platform to test their code.
Containers are ephemeral by nature and light-weight. They enable setting up compute clusters quickly. They also allow a cluster to be dismantled quickly. To accomplish this task, containers are designed to be ephemeral. That is, they are designed to be somewhat stateless. However, truly stateless containers would eliminate many classes of applications. It is therefore important to provide containers with persistent data independent of the container lifecycle. A natural solution is to have persistent storage (data) presented to the containers, just as persistent storage is presented today for VMs and in bare-metal environments.
Simple container solutions are somewhat limited when orchestrating multiple containers to solve complex business challenges. Managing containers for production is challenging. With many workloads transitioning to fully production-grade containers, cluster admins need something beyond a container engine like Docker. Several container-orchestration engines are now available to manage containers in production. Kubernetes is the most prominent example of these container-orchestration solutions.
In general, Kubernetes is not aware of data-fabric volumes. When static provisioning a data-fabric path, Kubernetes simply uses a data-fabric POSIX client to obtain a specific mount point within the data-fabric file system. When dynamically provisioning a new data-fabric volume for a container to use, the dynamic provisioner issues REST calls to the data-fabric REST server to create actual data-fabric volumes.