IBM Storage Enabler for Containers

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

IBM Storage Enabler for Containers is based on an open-source IBM project, , integrating it with IBM Spectrum Connect. Through the IBM Storage Enabler for Containers, Kubernetes persistent volumes (PVs) can be provisioned from IBM storage. This is performed by specifying the Spectrum Connect storage service for Kubernetes storage class object. Thus, the containers can be used with stateful microservices, such as database applications (MongoDB, PostgreSQL etc).

IBM Storage Enabler for Containers uses Kubernetes dynamic provisioning for creating and deleting volumes on IBM storage systems. For details about volume provisioning in the Kubernetes environment, refer to (kubernetes.io/docs/concepts/storage/volumes). In addition, IBM Storage Enabler for Containers utilizes the full set of Kubernetes FlexVolume APIs for volume operations on a host. The operations include initiation, attachment/detachment, mounting/unmounting etc.

Taking full advantage of the flexible service-based storage provisioning model in Spectrum Connect, the IBM Storage Enabler expands 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. The storage administrators define Spectrum Connect storage services and select their capabilities, sizes and storage types. In their turn, the Kubernetes administrators do not need to be fully aware of the existing storage capabilities; all that they have to do is to select the relevant services to be used for the stateful containers.

To visualize how the IBM Storage Enabler for Containers interface is integrated in Kubernetes, see Concept diagram for Kubernetes environment.