Home > APEX > Cloud Platforms > White Papers > Dell APEX Cloud Platform for Red Hat OpenShift > Container Storage Interface
Regardless of whether you chose to leverage ACP Storage or PowerFlex, the OpenShift nodes consume that storage through the Dell Container Storage Interface (CSI). The CSI driver is a Kubernetes driver that runs on the OpenShift compute nodes and can communicate with the storage management layer to provision, mount, snap, and de-provision volumes.
A critical component related to the CSI driver is a Kubernetes resource called a Storage Class, which defines the storage cluster as well as options like the Protection Domain and Storage Pool. The APEX Cloud Platform creates a single storage class by default and marks that class as the default class, you also have the ability to define additional storage classes so that you can isolate data onto specific storage nodes (Protection Domains) or use different storage pools with different performance characteristics, or different Quality-of-Service policies applied.
When you provision a Persistent Volume Claim (PVC), you define the size of the volume, the volume type, and the storage class. The CSI driver uses that information and communicates with the storage system to create the Persistent Volume (PV), either immediately (if the storage binding type is Immediate), or when the PVC is attached to a pod (if the storage binding type is WaitForFirstConsumer). If that PVC resource is deleted, then the default behavior is to delete the PV and by extension the volume on the storage cluster. This capability allows the developers to control the underlying infrastructure in a consistent way, using Infrastructure-as-Code (IaC), which is a core tenant of the cloud operating model.