vSphere Container Storage Plug-in version 3.1.0 and later supports VMware vSAN HCI Mesh feature for block volumes on vSphere version 7.0 Update 3 and later.

HCI Mesh is a software based approach for disaggregation of compute and storage resources in vSAN. It brings multiple independent vSAN clusters together by enabling cross cluster use of remote datastore capacity within vCenter Server. HCI Mesh enables you to efficiently use and consume data center resources, which provides simple storage management at scale. You can create a HCI Mesh by mounting remote vSAN datastores on vSAN clusters, and enable data sharing from vCenter Server.

The following image displays the HCI Mesh Configuration.

Note: HCI Mesh does not support remote vSAN datastores on stretched clusters. For more information on sharing remote datastores with HCI Mesh, see Sharing Remote Datastores with HCI Mesh.

Considerations when Using HCI Mesh with vSphere Container Storage Plug-in

When you use HCI Mesh capabilities with vSphere Container Storage Plug-in, consider the following:
  • If you have a SPBM policy that is compatible with all the vSAN datastores in a HCI Mesh deployment, you can use it in StorageClasses in the Kubernetes cluster. However, vSphere Container Storage Plug-in will select a local vSAN datastore or a remote vSAN datastore for volume placement. If there is a difference in data path performance between the two types of datastores, and if you want to offer two different SLAs for your applications, you can create two separate policies and storage classes.
  • If you have two vSAN clusters and have mounted a remote vSAN datastore on one of the clusters, you can create two SPBM policies per cluster. One policy is assigned for the local vSAN datastore, and the other one is assigned for the remote vSAN datastore. Later, create two StorageClass objects in the Kubernetes cluster, one for each policy. This allows you to assign different SLAs for the two datastores. Refer to the following command to create a SPBM policy for every vSAN cluster.
    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
      name: block-volume-local-vsan-cluster
    provisioner: csi.vsphere.vmware.com
    parameters:
      storagepolicyname: "local-vsan-cluster-policy"
    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
      name: block-volume-remote-vsan-cluster
    provisioner: csi.vsphere.vmware.com
    parameters:
      storagepolicyname: "remote-vsan-cluster-policy"

Limitations

The following limitations apply when you use vSphere Container Storage Plug-in with HCI Mesh deployment.
  1. vSphere Container Storage Plug-in does not support RWX and File Volumes on HCI Mesh deployments.
  2. All objects that comprise a VM must reside on the same datastore when you use HCI Mesh deployment. For more information, see Sharing Remote Datastores with HCI Mesh.
  3. vSphere Container Storage Plug-in version 3.1.0 does not support vSAN stretch in combination with HCI Mesh. For more information, see Sharing Remote Datastores with HCI Mesh.