IBM block storage

IBM® Storage Enabler for Containers allows IBM block storage systems to be used as persistent volumes for stateful application running in Kubernetes clusters.

Taking full advantage of the flexible service-based storage provisioning model in IBM Spectrum Connect, IBM Storage Enabler for Containers employs the storage profile (service) policy. This allows defining specific capabilities per storage service and creating a storage volume according to these requirements. This policy-driven approach helps the Kubernetes administrators easily define Kubernetes storage classes, such as gold, silver or bronze, by using the Spectrum Connect services. Only storage administrators deal with storage systems and manage IBM Spectrum Connect. These storage administrators create storage services, based on required storage attributes and capacities, according pre-defined SLAs. Then, these services are delegated to Kubernetes administrators. In their turn, the Kubernetes administrators easily consume the storage services by creating corresponding storage classes in Kubernetes without the need to know anything about underlying storage and without using IBM Spectrum Connect itself.

For details, see the IBM Spectrum Connect user guide and release notes on IBM Knowledge Center.

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 block storage systems through 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 block 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.