OpenShift Container Platform 4.2 introduced support for the CSI operator-framework-driven API. This CSI API manages the control plane 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.16 is integrated into OpenShift Container Platform 4.3.
The following table provides an overview of Dell Technologies storage platforms with their corresponding CSI and protocol support. These capabilities reflect what has been implemented in the CSI drivers that are intended for use with OpenShift Container Platform 4.3. The capabilities will be supported in the CSI drivers that are scheduled for release shortly after the publication of this design guide.
Table 4. Dell Technologies CSI storage products and capabilities
Storage capability |
PowerMax |
VxFlex OS |
Unity |
Isilon |
Static provisioning |
Yes |
Yes |
Yes |
Yes |
Dynamic provisioning |
Yes |
Yes |
Yes |
Yes |
Binding |
Yes |
Yes |
Yes |
Yes |
Retain Reclaiming |
Yes |
Yes |
Yes |
Yes |
Delete Reclaiming |
Yes |
Yes |
Yes |
Yes |
Create Snapshot Volume |
No |
Yes |
Yes |
Yes |
Create Volume from Snapshot |
No |
Yes |
Yes |
Yes |
Delete Snapshot |
No |
Yes |
Yes |
Yes |
Access Mode |
Readwriteonce |
Readwriteonce |
Readwriteonce |
Readwritemany |
FC |
Yes |
N/a |
Yes |
N/a |
iSCSI |
Yes |
N/a |
Yes |
N/a |
NFS |
N/a |
N/a |
No |
Yes |
Other protocols |
N/a |
ScaleIO protocol |
N/a |
|
RHEL node |
Yes |
Yes |
Yes |
Yes |
RHCOS node* |
Yes |
No |
Yes |
Yes |
*Support for Red Hat Enterprise Linux CoreOS is available with the Technical Preview version only.
More advanced storage feature support is being added to the CSI driver reference specifications. Future enhancements to the Kubernetes source code will be required to provide seamless advanced access to storage volume handling, such as volume cloning, backup and recovery operations, and advanced data protection.
Dell Technologies CSI drivers for FC and iSCSI arrays format the volumes with either xfs or ext4 before mounting these volumes to the pods.
Among other factors, consider workload performance and volume access requirements: for example, NFS array is a preferred option for workloads that require concurrent access from multiple clients (such as Access Mode ReadWriteMany).
Dell Technologies CSI drivers offer a Kubernetes operator to deploy and manage the life cycle of CSI drivers for OpenShift Container Platform 4.3. The operator and CSI drivers for OpenShift Container Platform 4.3 that this chapter describes are in a pre-release version. Operator deploys and manages the life cycle (installation, upgrade, uninstallation) for all the CSI drivers listed in Table 4, as shown in the following figure:
Figure 7. Operator-managed drivers
The storage array type dictates specific operator configuration parameters: the API endpoint for the management of the storage platform, protocol, storage pool, and so on.
After the installation is complete, you can access new storage classes directly from the UI and use them as objects with the CLI, as shown in the following figure:
Figure 8. OpenShift Container Platform: Creating storage classes
You can use the new storage classes in the PV or PVC the same way as the other supported types described in PV types, as shown in the following figure:
Figure 9. OpenShift Container Platform: Creating PVCs
OpenShift administrators can control the storage consumption with quotas. The LimitRange and ResourceQuota directives offer quota capability. Set the quota capability, at the namespace level to enforce a minimum and maximum request size as well as the number of volumes and total consumption. The setting prevents a pod from bloating all the storage resources and potentially affecting future claims.