Concept diagram for Kubernetes environment
The following concept diagram illustrates how IBM® storage systems are accessed and utilized as persistent (stateful) storage devices for containers.
The IBM Storage Enabler for Containers ensures that the data persists (stays intact) even after the container is stopped or removed. The IBM Storage Enabler communicates with the IBM storage systems through IBM Spectrum Connect.Spectrum Connect creates a storage service (for example, gold, silver or bronze) and makes it available for Kubernetes Dynamic Provisioner and FlexVolume, automating IBM storage provisioning for Kubernetes persistent volumes.
- The Dynamic Provisioner allows storage volumes to be created on-demand, using Kubernetes storage classes based on Spectrum Connect storage services. This provides abstraction for the underlying storage platform, eliminating the need for cluster administrators to pre-provision storage.
- The FlexVolume is deployed as a DaemonSet on all nodes of the cluster, enabling the users to attach and mount storage volumes into a pod within a Kubernetes node. The DaemonSet installs the FlexVolume CLI on every node in the cluster in the Kubernetes plug-in directory.
Note: The instances of IBM Storage Enabler for Containers (ubiquity), its database (ubiquity-db) and IBM Storage Kubernetes Dynamic Provisioner (ubiquity-k8s-provisioner) are protected, using standard Kubernetes methods for high-availability. They are deployed as Kubernetes Deployment objects with replica=1, so if a node fails, Kubernetes automatically reschedules them to run on another node. IBM Storage Kubernetes FlexVolume (ubiquity-k8s-flex) is deployed as a Kubernetes DaemonSet on all the worker and master nodes.