Determinati carichi di lavoro Kubernetes richiedono uno storage persistente per archiviare i dati in modo permanente. Per eseguire il provisioning dello storage persistente per i carichi di lavoro Kubernetes, vSphere with Tanzu si integra con Cloud Native Storage (CNS), un componente di vCenter Server che gestisce i volumi persistenti.

Lo storage persistente viene utilizzato dai cluster di Pod vSphere Tanzu Kubernetes e dalle macchine virtuali. L'esempio seguente illustra come lo storage persistente viene utilizzato da un Pod vSphere.

vSphere with Tanzu si integra con Cloud Native Storage per eseguire il provisioning dello storage persistente.

Per comprendere come funziona vSphere with Tanzu con lo storage persistente, è necessario acquisire familiarità con i seguenti concetti essenziali.

Volume persistente
Per fornire uno storage persistente, Kubernetes utilizza volumi persistenti che possono conservare il proprio stato e i propri dati. Se i volumi persistenti vengono montati da un pod, continuano ad esistere anche quando il pod viene eliminato o riconfigurato. Nell'ambiente di vSphere with Tanzu, gli oggetti di volumi persistenti sono supportati dai First Class Disk in un datastore.

vSphere with Tanzu supporta il provisioning dinamico e statico dei volumi in modalità ReadWriteOnce, in cui i volumi possono essere montati da un singolo pod.

A partire da vSphere 7.0 Update 3, vSphere with Tanzu supporta anche la modalità ReadWriteMany per i volumi persistenti nei cluster di Tanzu Kubernetes. Con il supporto ReadWriteMany, un singolo volume può essere montato simultaneamente da più pod o applicazioni in esecuzione in un cluster. vSphere with Tanzu utilizza condivisioni di file vSAN per i volumi permanenti di tipo ReadWriteMany. Per ulteriori informazioni, vedere Creazione di volumi persistenti ReadWriteMany in vSphere with Tanzu.

Provisioning statico e dinamico
Con il provisioning dinamico dei volumi, non è necessario eseguire il pre-provisioning dello storage e i volumi persistenti possono essere creati su richiesta. I tecnici di DevOps emettono una richiesta di volume persistente che fa riferimento a una classe di storage disponibile nello spazio dei nomi. vSphere with Tanzu esegue automaticamente il provisioning del volume persistente corrispondente e di un disco virtuale di supporto.

Sia Cluster supervisore che il cluster di Tanzu Kubernetes supportano il provisioning dinamico.

Per un esempio di come creare dinamicamente un volume persistente, vedere Eseguire il provisioning di un volume persistente dinamico per un'applicazione con stato.

Con il provisioning statico, è possibile utilizzare un oggetto di storage esistente e renderlo disponibile a un cluster.

In genere, un tecnico di DevOps deve conoscere i dettagli dell'oggetto di storage esistente, le sue configurazioni supportate e le opzioni di montaggio per poter riutilizzarlo.

Per un esempio di come eseguire il provisioning di un volume persistente statico, vedere Provisioning di un volume persistente statico in un cluster Tanzu Kubernetes.

First Class Disk
vSphere with Tanzu utilizza il tipo di dischi virtuali First Class Disk (FCD) per supportare i volumi persistenti. First Class Disk, noto anche come disco virtuale migliorato, è un disco virtuale denominato non associato a una macchina virtuale.

I First Class Disk sono identificati da UUID. Questo UUID è univoco a livello globale e rappresenta l'identificatore primario per FCD. L'UUID rimane valido anche se il relativo FCD viene trasferito o utilizzato per uno snapshot.

Richiesta volume persistente
I tecnici di DevOps creano richieste di volumi persistenti per richiedere risorse di storage persistente. La richiesta esegue il provisioning di un oggetto volume persistente e di un disco virtuale corrispondente. Nel vSphere Client, il volume persistente si manifesta come un disco virtuale FCD che può essere monitorato dagli amministratori di vSphere.
La richiesta è associata al volume persistente. I carichi di lavoro possono utilizzare la richiesta per montare i volumi persistenti e accedere allo storage.
Quando i tecnici di DevOps eliminano la richiesta, vengono eliminati anche l'oggetto volume persistente corrispondente e il disco virtuale ottenuto in provisioning.
Classe di storage
Kubernetes utilizza classi di storage per descrivere i requisiti per lo storage che supporta i volumi persistenti. I tecnici di DevOps possono includere una determinata classe di storage nella specifica di richiesta di volume persistente per richiedere il tipo di storage descritto dalla classe.

Workflow storage persistente

Il workflow per il provisioning dello storage persistente in vSphere with Tanzu generalmente include le seguenti azioni sequenziali.

Passaggio Azione Descrizione
1 Gli amministratori di vSphere inviano risorse di storage persistenti al team di DevOps. Gli amministratori di vSphere creano criteri di storage di macchina virtuale che descrivono diversi requisiti di storage e classi di servizi. Possono quindi assegnare i criteri di storage a un Spazio dei nomi vSphere.
2 vSphere with Tanzu crea classi di storage che corrispondono ai criteri di storage assegnati al Spazio dei nomi vSphere. Le classi di storage vengono visualizzate automaticamente nell'ambiente Kubernetes e possono essere utilizzate dal team DevOps. Se un amministratore di vSphere assegna più criteri di storage al Spazio dei nomi vSphere, viene creata una classe di storage separata per ogni criterio di storage.

Se si utilizza Servizio Tanzu Kubernetes Grid per eseguire il provisioning dei cluster di Tanzu Kubernetes, ogni cluster di Tanzu Kubernetes eredita le classi di storage dal Spazio dei nomi vSphere in cui viene eseguito il provisioning del cluster.

3 I tecnici di DevOps utilizzano le classi di storage per richiedere risorse di storage persistenti per un carico di lavoro. La richiesta di un volume persistente fa riferimento a una classe di storage specifica.
4 vSphere with Tanzu crea un oggetto di volume persistente e un disco virtuale persistente corrispondente per un carico di lavoro. vSphere with Tanzu posiziona il disco virtuale nel datastore che soddisfa i requisiti specificati nel criterio di storage originale e nella classe di storage corrispondente. Il disco virtuale può essere montato da un carico di lavoro.
5 Gli amministratori di vSphere monitorano i volumi persistenti nell'ambiente vSphere with Tanzu. Utilizzando vSphere Client, gli amministratori di vSphere monitorano i volumi persistenti e i relativi dischi virtuali di supporto. Possono inoltre monitorare la conformità dello storage e gli stati di integrità dei volumi persistenti.

I tecnici di DevOps creano richieste di volumi persistenti per richiedere risorse di storage persistente. La richiesta dello storage persistente fa riferimento a una classe di storage specifica.

Guardare questo video per ulteriori informazioni sullo storage persistente in vSphere with Tanzu.

Attività di gestione dello storage di un amministratore di vSphere

In genere, le attività di gestione dello storage persistente in vSphere with Tanzu includono le seguenti attività. L'amministratore di vSphere di utilizza vSphere Client per eseguire queste attività.

Attività di gestione dello storage di un tecnico di DevOps

Il tecnico di DevOps utilizza in genere kubectl per eseguire le seguenti attività di storage.