When moving to Kubernetes, or beginning to deploy applications that use Kubernetes a lot of attention needs to be paid to the persistence and storage layer of the platform. For good reason, all systems store state somewhere, whether it be a database, key/value store, etc - it all needs to be stored somewhere.
When dealing with a system as dynamic as Kubernetes and containers where churn of containers and resources is massive and conceivably could be hundreds, if not thousands of operations per hour dynamicism is extremely important. Everything from container provisioning, volume provisioning and mounting, scaling up and down something needs to orchestrate the storage underneath Kubernetes to make these volumes available to the correct worker VMs, to the correct containers quickly and on-demand.
A traditional flow for adding a volume to a VM might be something like this:
- Developer asks a sysadmin for a new volume with certain amount of storage and availability profile
- Sysadmin identifies the VM to add the volume to
- Sysadmin checks to make sure there is storage space available to provision the volume
- Sysadmin creates the volume and attaches to the VM either manually or via the VM edit screen
- Sysadmin tells the developer that the volume is available
- Developer mounts and formats the volume to make it available for the app
Now imagine this workflow when the requests for volumes is coming in at a rate of hundreds per hour, each conceivably with different Storage Policies or redundancy/availability and performance profiles needed. It just isn't scalable.
That's why we built Project Hatchway, a dynamic volume provisioner for vSAN that can create and mount volumes as needed, into the right VMs and containers with the policies as defined by the developer, with no need to interact with the sysadmin.
Cloud Native Storage 1.0 (currently in beta) extends Project Hatchway by extending visibility to the vSphere administrators through the vCenter UI. For more information on CNS 1.0 - see my VMWorld recording! To sign up for the vSAN betas, apply here.