Certain Kubernetes workloads that DevOps run on a namespace 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 with Tanzu 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 with Tanzu components integrate with storage, see Supervisor Storage in vSphere with Tanzu Concepts and Planning.

Persistent Storage Workflow

The workflow for provisioning persistent storage in vSphere with Tanzu 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 with Tanzu in the Installing and Configuring vSphere with Tanzu 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.

Creates storage classes in the namespace

vSphere with Tanzu

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 with Tanzu

vSphere with Tanzu 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.