vSphere with Tanzu utilizza diversi componenti per l'integrazione con lo storage vSphere.

Cloud Native Storage (CNS) in vCenter Server
Il componente CNS si trova in vCenter Server. Si tratta di un'estensione della gestione di vCenter Server che implementa le operazioni di provisioning e del ciclo di vita per i volumi persistenti.
Quando si esegue il provisioning dei volumi di container, il componente interagisce con la funzionalità First Class Disk di vSphere per creare dischi virtuali che supportano i volumi. Il componente server CNS comunica inoltre con la gestione basata sui criteri di storage per garantire il livello di servizio necessario per i dischi.
CNS esegue anche operazioni di query che consentono agli amministratori di vSphere di gestire e monitorare i volumi persistenti e i relativi oggetti di storage di supporto tramite vCenter Server.
FCD (First Class Disk)
Chiamato anche Improved Virtual Disk. Si tratta di un disco virtuale denominato non associato a una macchina virtuale. Questi dischi si trovano in un datastore VMFS, NFS o vSAN e supportano volumi persistenti ReadWriteOnce.

La tecnologia FCD esegue operazioni del ciclo di vita relative ai volumi persistenti esternamente a un ciclo di vita di una macchina virtuale o di un pod.

Quando si utilizzano gli FCD, tenere presente quanto segue:
  • Gli FCD non supportano i protocolli NFS 4.x. Utilizzare invece NFS 3.
  • vCenter Server non serializza le operazioni nello stesso FCD. Di conseguenza, le applicazioni non possono eseguire contemporaneamente operazioni sullo stesso FCD. L'esecuzione di operazioni come clonazione, riposizionamento, eliminazione e recupero contemporaneamente da thread diversi determina risultati imprevedibili. Per evitare problemi, le applicazioni devono eseguire le operazioni sullo stesso FCD in ordine sequenziale.
  • FCD non è un oggetto gestito e non supporta un blocco globale che protegge più scritture in un singolo FCD. Di conseguenza, l'FCD non supporta più istanze di vCenter Server che gestiscono lo stesso FCD. Se è necessario utilizzare più istanze di vCenter Server con gli FCD, sono disponibili le seguenti opzioni:
    • Più istanze di vCenter Server possono gestire datastore diversi.
    • Più istanze di vCenter Server non funzionano nello stesso FCD.
Gestione basata sul criterio di storage
La gestione basata sui criteri di storage è un servizio di vCenter Server che supporta il provisioning dei volumi persistenti e dei relativi dischi virtuali di supporto in base ai requisiti di storage descritti in un criterio di storage. Dopo il provisioning, il servizio monitora la conformità del volume con le caratteristiche del criterio di storage. Per ulteriori informazioni sulla gestione basata sui criteri di storage, vedere Gestione basata sui criteri di storage.
vSphere CNS-CSI
Il componente vSphere CNS-CSI è conforme alla specifica Container Storage Interface (CSI), uno standard di settore progettato per fornire un'interfaccia che gli orchestrator di container come Kubernetes utilizzano per il provisioning dello storage persistente. Il driver CNS-CSI viene eseguito nel Cluster supervisore e connette vSphere Storage all'ambiente Kubernetes in un Spazio dei nomi vSphere. vSphere CNS-CSI comunica direttamente con il piano di controllo CNS per tutte le richieste di provisioning dello storage provenienti da Pod vSphere e i pod eseguiti in un cluster di Tanzu Kubernetes nello spazio dei nomi.
CSI paravirtuale (pvCSI)
pvCSI è la versione del driver vSphere CNS-CSI modificata per i cluster di Tanzu Kubernetes. pvCSI si trova nel cluster di Tanzu Kubernetes ed è responsabile di tutte le richieste relative allo storage provenienti dal cluster di Tanzu Kubernetes. Le richieste vengono consegnate a CNS-CSI, che quindi le propaga a CNS in vCenter Server. Di conseguenza, pvCSI non ha una comunicazione diretta con il componente CNS, ma si basa su CNS-CSI per tutte le operazioni di provisioning dello storage.
A differenza di CNS-CSI, pvCSI non richiede le credenziali dell'infrastruttura. Viene configurato con un account di servizio in Spazio dei nomi vSphere.

Di seguito viene illustrato come interagiscono i diversi componenti quando un tecnico DevOps esegue un'operazione relativa allo storage nel cluster di Tanzu Kubernetes, ad esempio crea una richiesta di volume persistente (PVC).

Il tecnico DevOps crea una PVC utilizzando la riga di comando nel cluster di Tanzu Kubernetes. Questa azione genera una PVC corrispondente nel cluster supervisore e attiva CNS-CSI. CNS-CSI richiama l'API di creazione del volume CNS.

Dopo aver creato un volume, l'operazione viene propagata al cluster di Tanzu Kubernetes tramite il cluster supervisore. Per effetto di questa propagazione, gli utenti possono visualizzare il volume persistente e la richiesta di volume persistente nello stato associato nel cluster supervisore. Possono visualizzare il volume persistente e la richiesta di volume persistente nello stato associato anche nel cluster di Tanzu Kubernetes.