Cloud Native Storage uses several components to integrate with vSphere storage.
The following illustration shows how these components interact.
- Kubernetes Cluster
- In the Cloud Native Storage environment, a Kubernetes cluster is a cluster of virtual machines, or nodes, deployed in vSphere. A Kubernetes user directly interacts with the cluster when deploying stateful applications on top of it.
- vSphere Container Storage Interface (CSI)
The vSphere CSI is an interface that exposes vSphere storage to containerized workloads on container orchestrators, such as Kubernetes. It enables vSAN and other types of vSphere storage.
On Kubernetes, the CSI driver is used with the out of tree vSphere Cloud Controller Manager (CCM).
The Container Storage Interface supports dynamic provisioning of container volumes.The interface supports the following functionalities:
- The vSphere First Class Disk functionality.
- Kubernetes zones.
- Conventional and raw mounts.
- Single vCenter Server, and multiple data centers and clusters.
- Provisioning from multiple datastores or datastore clusters.
On Kubernetes, the CSI driver is used with the out-of-tree vSphere Cloud Provider Interface (CPI). The CSI driver is shipped as a container image and must be deployed by the cluster administrator. For information, see the Deploying a Kubernetes Cluster on vSphere with CSI and CPI section of the Kubernetes vSphere Cloud Provider documentation on GitHub.
- Cloud Native Storage Server Component
- The CNS server component resides in vCenter Server. It is an extension of vCenter Server management that implements the provisioning and life cycle operations for the container volumes.
- When provisioning container volumes, it interacts with the First Class Disk functionality to create virtual disks that back the volumes. In addition, the CNS server component communicates with the Storage Policy Based Management to guarantee a required level of service to the disks.
- The CNS also performs query operations that allow you to manage and monitor container volumes and their backing virtual disks through vCenter Server.
- First Class Disk (FCD)
- Also called Improved Virtual Disk (IVD) or managed virtual disk. It is a named virtual disk unassociated with a VM. These disks reside on a VMFS, NFS, or vSAN datastore and back container volumes.
- Storage Policy Based Management
- Storage Policy Based Management is a vCenter Server service that supports provisioning of persistent volumes according to specified storage requirements. After provisioning, the service monitors compliance of the volume with the required policy characteristics.