You can design your vSphere environment in such a way that certain datastores become accessible only from a subset of nodes in the vSphere cluster, based on availability zones. You can segment the cluster into racks, regions, or zones, or use some other type of grouping. When topology is enabled in the cluster, you can use vSphere Container Storage Plug-in to deploy a Kubernetes workload to a specific region or zone defined in the topology.
In addition, you can use the volumeBindingMode
parameter in the StorageClass to specify when the volume should be created and bound to the PVC request. vSphere Container Storage Plug-in supports two volume binding modes that Kubernetes provides.
- Immediate
-
This is the default volume binding mode. The mode indicates that volume binding and dynamic provisioning occur immediately after the PersistentVolumeClaim is created. To deploy workloads with
Immediate
binding mode in topology-aware environment, you can specify zone parameters in the StorageClass. - WaitForFirstConsumer
- This mode delays the creation and binding of a persistent volume for a PVC until a pod that uses the PVC is created. When you use this mode, you do not need to specify StorageClass zone parameters because pod policies drive the decision of which zones to use for volume provisioning.
Before deploying workloads with topology, enable topology in the native Kubernetes cluster in your vSphere environment. For more information, see Deploy vSphere Container Storage Plug-in with Topology.