Home > Workload Solutions > SAP > Guides > SAP Data Intelligence on Dell Ready Stack for Red Hat OpenShift Container Platform 4.6 > CSI external storage
OpenShift Container Platform 4.2 introduced support for the CSI operator framework-driven API. This CSI API manages the control plane (meaning it runs on the control-plane nodes) to orchestrate and manage configuration and tear-down of data-path storage operations. Storage driver plug-in support was available in earlier Kubernetes releases, but it required the integration of volume plug-ins into the core Kubernetes codebase. Kubernetes version 1.19 is integrated into OpenShift Container Platform 4.6.
CSI was introduced in Kubernetes v1.13 to replace the volume plug-in system. Because volume plug-ins were built “in-tree,” that is, as part of the Kubernetes source code, changes or fixes to volume plug-ins provided by storage vendors had to be made in lockstep with the core Kubernetes release schedule. The CSI specification aims to standardize the exposure of block and file storage systems to workloads running on container orchestration systems such as Kubernetes. In consequence, Kubernetes can now be readily extended to support any storage solution with CSI drivers that are provided by the vendor. By using an operator, vendors can manage the life cycle of their drivers directly without needing to wait until the next core Kubernetes release.
Drivers are typically shipped as container images. These images are not platform-aware and therefore additional components are required to enable interaction between OpenShift Container Platform and the driver image. An external CSI controller running on infrastructure nodes has three containers: attacher, provisioner, and driver container. The attacher and provisioner containers serve as translators; they map OpenShift Container Platform calls to the corresponding calls to the CSI driver. No other communication to the CSI driver is allowed. On each compute node, a CSI driver daemonset is created containing the CSI driver, and a CSI registrar. The registrar registers the driver with the openshift-node service, which then directly connects to the driver. The following figure illustrates the CSI architecture:
Kubernetes v1.18 added support for snapshots of CSI volumes. OpenShift Container Platform 4.6 supports volume snapshots as a Tech Preview feature. OpenShift provides the CSI Snapshot Controller Operator to manage snapshot objects. To enable snapshot functionality, it is necessary to implement an external snapshot sidecar container in the CSI driver. Dell EMC CSI storage drivers all support snapshots.
The following table shows a number of Dell EMC storage platforms with their corresponding CSI and protocol support. These capabilities reflect what is implemented in the CSI drivers that are intended for use with OpenShift Container Platform 4.6.
Storage capability |
PowerMax |
PowerFlex OS |
Unity |
PowerScale |
PowerStore |
Static provisioning |
Yes |
Yes |
Yes |
Yes |
Yes |
Dynamic provisioning |
Yes |
Yes |
Yes |
Yes |
Yes |
Binding |
Yes |
Yes |
Yes |
Yes |
Yes |
Retain Reclaiming |
Yes |
Yes |
Yes |
Yes |
Yes |
Delete Reclaiming |
Yes |
Yes |
Yes |
Yes |
Yes |
Create Snapshot Volume |
No |
Yes |
Yes |
Yes |
Yes |
Create Volume from Snapshot |
No |
Yes |
Yes |
Yes |
Yes |
Delete Snapshot |
No |
Yes |
Yes |
Yes |
Yes |
Access Mode |
ReadWriteOnce |
ReadWriteOnce |
ReadWriteOnce |
ReadWriteMany |
ReadWriteOnce |
FC |
Yes |
N/a |
Yes |
N/a |
Yes |
iSCSI |
Yes |
N/a |
Yes |
N/a |
Yes |
NFS |
N/a |
N/a |
No |
Yes |
Yes |
Other protocols |
N/a |
ScaleIO protocol |
N/a |
N/a |
N/a |
RHEL node |
Yes |
Yes |
Yes |
Yes |
Yes |
RHCOS node |
Yes |
No |
Yes |
Yes |
Yes |
More advanced storage feature support is being added to the CSI driver reference specifications. New to Kubernetes v1.19 is beta support for snapshots, enabling customers to back up and restore application data.
Dell CSI drivers for FC and iSCSI arrays format the volumes with either xfs or ext4 before mounting these volumes to the pods.
When choosing CSI external storage, consider workload performance, CSI supported features, and the volume access requirements that Table 8 shows. For example, NFS array is a preferred option for workloads that require concurrent access from multiple clients, such as Access Mode ReadWriteMany.
CSI drivers provide a Red Hat-certified Operator to deploy and manage the life cycle of CSI drivers for OpenShift Container Platform 4.6. The Operator deploys and manages the life cycle (installation, upgrade, uninstallation) for all the CSI drivers that Table 8 shows.
To view the APIs that are available with installed CSI drivers, connect to the Openshift Container Platform UI and select Installed Operators > Dell CSI Operators.
The following page opens: