Certain Kubernetes workloads that DevOps run on a namespace in Supervisor require persistent storage to store data permanently. Persistent storage can be used by vSphere Pods, Tanzu Kubernetes Grid clusters, VMs, and other workloads you run on the namespace.

To make persistent storage available to the DevOps team, the vSphere administrator creates storage policies that describe different storage requirements and classes of services. The administrator then assigns storage policies and configures storage limits at a namespace level.

To understand how vSphere IaaS control plane works with persistent storage, be familiar with the such essential Kubernetes concepts as storage classes, persistent volumes, and persistent volume claims. For more information, see the Kubernetes documentation at https://kubernetes.io/docs/home/.

For information on how vSphere IaaS control plane components integrate with storage, see Supervisor Storage in vSphere IaaS Control Plane Concepts and Planning.

Persistent Storage Workflow

The workflow for provisioning persistent storage in vSphere IaaS control plane generally includes the following sequential actions.

Action

Performed by

Description

Delivers persistent storage resources to the DevOps team

vSphere administrator

A vSphere administrators creates storage policies that describe different storage requirements and classes of services.

See Create Storage Policies for vSphere IaaS Control Plane in the Installing and Configuring vSphere IaaS Control Plane documentation.

The administrator then assigns the storage policies to a namespace and sets storage limits for the namespace.

See Create and Configure a vSphere Namespace on the Supervisor.

Creates storage classes in the namespace

vSphere IaaS control plane

The storage classes that match the storage policies assigned to the namespace automatically appear in the Kubernetes environment. If the vSphere administrator assigns multiple storage policies to the namespace, a separate storage class is created for each storage policy.

If you use the Tanzu Kubernetes Grid clusters, each cluster inherits storage classes from the namespace in which the cluster is provisioned.

The DevOps team can use the storage classes for their persistent storage needs.

See Display Storage Classes in a Namespace.

Requests persistent storage resources for a workload

DevOps

The DevOps team uses the storage classes to request persistent storage resources for a workload. The request comes in a form of a persistent volume claim that references a specific storage class.

See Provision a Dynamic Persistent Volume for a Stateful Application and Deploying a Stand-Alone VM in vSphere with Tanzu.

Creates a persistent volume object and a matching persistent virtual disk for a workload

vSphere IaaS control plane

vSphere IaaS control plane places the virtual disk into the datastore that meets the requirements specified in the original storage policy and its matching storage class. The virtual disk can be mounted by a workload.

Monitors persistent volumes

vSphere administrator

Using the vSphere Client, vSphere administrators monitor the persistent volumes and their backing virtual disks. They can also monitor storage compliance and health statuses of the persistent volumes.

See Monitor Persistent Volumes in the vSphere Client.

The following illustrates how a persistent volume object and a matching persistent FCD virtual disk are created for a vSphere Pod. The persistent storage claim references a specific storage class.

DevOps engineers create persistent volume claim to request storage resources. The persistent storage claim references a specific storage class.