vSAN file service offers vSAN file shares that are consumed by persistent volumes of the ReadWriteMany (RWM) type. A single RWM volume can be mounted by multiple nodes. The volume can be shared between multiple pods or applications running across Kubernetes nodes or across Kubernetes clusters in vSphere.
When a Kubernetes pod request an RWM volume, Cloud Native Storage communicates with vSAN file service to create an NFS-based file share of the requested size and storage class. Cloud Native Storage then mounts the RWM volume into the Kubernetes worker node where the pod runs. If multiple nodes are requesting access to the RWM volume, Cloud Native Storage determines that the RWM volume already exists for that particular deployment and mounts the existing volume into the nodes.
- vSphere 7.0 and later with vSAN
- vSAN file service enabled. For information, see vSAN File Service in the Administering VMware vSAN documentation.
- Kubernetes version 1.14 and later
- Compatible version of CSI. For information, see the VMware vSphere Container Storage Plug-in Documentation documentation.
You can use different configurations for file volumes.
Single File Volume Shared Across Applications in the Same Namespace
In this example, a single file volume is used as shared storage across different applications in the same namespace. You use a single persistent volume claim to provision the file volume.
Single File Volume Shared Across Applications and Namespaces
This example uses a single file volume as shared storage across different applications and different namespaces. For each namespace, you create a separate persistent volume claim to provision the same file volume.