Home > Storage > PowerFlex > White Papers > Implementing Dell PowerFlex with VMware Tanzu > CNI and CNS
Storage is essential for using PowerFlex with Tanzu. This section provides a detailed discussion about the Container Storage Interface (CSI) and Cloud Native Storage (CNS).
CNS enables customers to consume persistent storage in Kubernetes, while providing automation or life cycle management. VMware offers the infographic in Figure 56, which shows the CNS components. VMware uses a CSI, or Container Storage Interface, to provision storage from various sources. A CSI is an implementation of the CSI specification which dictates how to connect storage to the orchestration tools in containers.
The vSphere CSI uses Storage Policy Based Management (SPBM), or storage policies with storage classes, to create persistent storage for Kubernetes. As shown in the diagram, that storage could be anything from vSAN to vVols, VMFS to NFS.
Volumes that are created with vSphere CSI are known as First Class Disks, or FCDs. What makes FCDs special is that unlike most disks in vSphere, these disks do not have to be associated with a VM. A .vmdk in vCenter is considered based on the VM to which it is attached.
Through editing the VM users can expand the disk, delete it, or even temporarily remove it, and add it to another VM. However, its life is associated with another object, unlike with FCDs. A First Class Disk has its own life cycle which can be controlled outside of the VM. Users can expand it, snapshot it, or delete it without it ever being tied to a VM.
Although VMware presents CNS as all the components in Figure 56, it really has two parts:
The volume driver consists of two pieces; a syncer and the vSphere Container Storage Interface (CSI) driver. CNS controls all aspects of volume provisioning with the storage control plane. It handles the entire life cycle – creation, deletion, and so forth, including snapshots, clones, and general health. One concept that is essential to this model is that these volumes are independent of the life cycle of VMs. This independence is only possible with the FCDs.
While the vSphere CSI does not know or care about the underlying storage, vendor CSIs are designed to provision only from their own storage. By design, these CSIs are not part of the VMware CNS. However, they can co-exist in the same Kubernetes environment. With the vSphere CSI, it is not possible to provision a device directly from say the PowerFlex array to a cloud-native application.
Any vSphere CSI-provisioned device from PowerFlex 4.0.x is a .vmdk in a VMFS or NFS datastore. Tanzu does not permit implementation of vendor CSI drivers on the Supervisor Cluster. It may be technically possible to use a vendor CSI driver on a Tanzu Kubernetes cluster. However, VMware would not support the steps that would be required to do so. VMware locks down the virtual machines that make up the cluster as seen in Figure 58.
Users must add network interface controllers and gain access to the operating system to install the SDC driver to use the PowerFlex CSI. NVMe/TCP is not supported with the CSI. Since the VM is purposely locked-down by VMware, anything that is done to unlock it, by definition, would be unsupported. Dell Technologies advises customers that want to use the PowerFlex CSI to install Kubernetes on VMs that are not part of the Tanzu environment.