With containers, and Kubernetes in particular, becoming more prevalent as time goes on, we are seeing more questions revolving around their use with vSAN. We all know that vSAN can be used to host VM storage, iSCSI LUNs for physical machines, and more recently, container volumes for Docker and Kubernetes via the open-source Project Hatchway and upcoming Cloud Native Storage (CNS) which is currently in beta.
What might not be immediately clear, however, is that you do not have to dedicate a vSAN datastore to just a single purpose or use-case. One of the most powerful aspects of vSAN is because of the fact it is essentially object-based under the covers, this allows us to have it serve multiple different services at the same time using different SPBM policies and protocols (like vSAN File Services). Having this basis for the storage system allows us to extend it to support multiple use-cases at once.
vSAN First Class Disks (FCDs) alongside VM volumes.
So in that vein, if you want to use vSAN for VMs, but you also have a Kubernetes cluster installed on it and have configured the vSphere Cloud Provider and want to have Kubernetes users dynamically deploy container volumes to it at the same time, that's fine too!
For container volumes, vSAN hosts "First Class Disks" (FCDs), which are disks that can exist independently of a Virtual Machine (i.e. a container volume), along-side standard VM VMDKs or even NFS File Shares from the upcoming vSAN File Services mentioned in the intro. The use of FCDs for Kubernetes volumes means we can perform operations directly on the volume without needing a VM to be attached and opens up many possibilities for future enhancements, so stay tuned for more info!
If you're a seasoned container/K8s veteran, or just starting out and experimenting, rest easy in the knowledge that vSAN can support these use-cases simultaneously, today!