Blog post

1.3.4 – Describe basic storage concepts in K8s, vSAN and vSphere Virtual Volumes (vVols)

vSphere with Kubernetes will support up to three different types of storage:

  • Ephemeral virtual disks
  • Temporary storage, VD stores objects such as logs or other temporary data. Once the pod no longer exists, the disk is gone as well. It persists across restarts and each pod only has one disk
  • Container Image Virtual Disk, when the pod is deleted, the VD is detached
  • Persistent Volume Virtual Disk, certain K8s workloads need persistent storage to save some data that are independent of the pod. The persistent volumes objects are backed by first class disks and are identified by UUIDs 

Persistent volumes are usually used for stateful applications and supports dynamic and static provisioning of persistent volumes.

  • Dynamic: the storage does not need to be pre-provisioned and persistent volumes can be created on-demand.
  • Static: You are able to use an existing storage object and make it available to the cluster. It basically makes a VD to use as backing storage for the persistent storage volumes.

VSAN is a hyperconverged storage system that uses local SSD/HDD to create a pool of shared storage as a single datastore that is available for all host within vSAN cluster. 

You’ll need a minimum of 3 disks to be part of a vSphere cluster and enabled for vSAN. Each ESXi host has a minimum of 1 flash cache disk and 1 spinning or 1 flash capacity disk. A maximum of 7 capacity disks that can exist in a single disk group, and up to 5 disk groups can exist per host. 

VSAN is object based storage that uses policies to enable features needed to protect your VMs. 

VVols are a different kind of storage compared to traditional types of storage you know where you would carve storage out into LUNs and then you would create datastores on them. 

VVols give storage functionality to individual VMs, where VD’s are mapped and different pieces, such as clones, snapshots and replicas directly to objects called virtual volumes on a storage array. 

This helps vSphere to offload tasks such as cloning and snapshots to the storage array. You save on CPU cycles by doing that. 

VVOL creates three virtual volumes, the data-vVol, config-vVol and swap-vVol. You can choose to create more, but this depends on the features you are using.