Cloud Native Storage utilizza diversi componenti per l'integrazione con lo storage vSphere.

La figura seguente mostra in che modo interagiscono questi componenti.

CNS utilizza FCD, condivisioni di file vSAN e criterio di storage per creare volumi persistenti.

Cluster Kubernetes
Nell'ambiente Cloud Native Storage, un cluster Kubernetes generico viene distribuito in un cluster di macchine virtuali o nodi, eseguiti in vSphere. Un utente Kubernetes interagisce direttamente con il cluster quando distribuisce applicazioni stateful al suo interno.
Nota: Per informazioni su un Supervisore e un cluster Tanzu Kubernetes Grid che possono essere eseguiti nell'ambiente vSphere IaaS control plane, vedere la documentazione Concetti e pianificazione di vSphere IaaS Control Plane.
Container Storage Interface (CSI) per vSphere
Per utilizzare le risorse dell'infrastruttura sottostanti, il cluster richiede un driver CSI.

vSphere CSI è un plug-in out-of-tree che espone lo storage vSphere ai carichi di lavoro containerizzati negli orchestrator dei container, ad esempio Kubernetes. Il plug-in abilita vSAN e altri tipi di storage vSphere.

vSphere CSI comunica con il piano di controllo CNS su vCenter Server per tutte le operazioni di provisioning dello storage. CSI vSphere supporta le funzionalità seguenti:
  • Provisioning dinamico dei volumi dei container.
  • Funzionalità First Class Disk di vSphere.
  • Zone Kubernetes.
  • Montaggi convenzionali e raw.
  • vCenter Server singolo e più data center e cluster.
  • Provisioning da più datastore o cluster di datastore.
  • Servizio file vSAN

In Kubernetes, il driver CSI viene utilizzato con l'interfaccia del provider cloud (CPI) vSphere out-of-tree. Il driver CSI viene fornito come immagine del container e deve essere distribuito dall'amministratore del cluster. Per informazioni, vedere la sezione Distribuzione del driver nella documentazione Driver vSphere CSI Kubernetes.

Per informazioni sulle varianti di CSI utilizzate nel Supervisore e nei cluster Tanzu Kubernetes Grid, vedere la documentazione Concetti e pianificazione di vSphere IaaS Control Plane.

Componenti del server Cloud Native Storage
Il componente del server CNS, o il piano di controllo 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 dei container.
Quando viene eseguito il provisioning dei volumi dei container, interagisce con vCenter Server per creare oggetti di storage che supportano i volumi. La funzionalità di gestione basata sui criteri di storage garantisce un livello di servizio richiesto per i volumi.
Il CNS esegue inoltre operazioni di query che consentono di gestire e monitorare i volumi dei container e i relativi oggetti di storage di supporto tramite vCenter Server.
FCD (First Class Disk)
Chiamato anche IVD (Improved Virtual Disk) o disco virtuale gestito. Si tratta di un disco virtuale denominato non associato a una macchina virtuale. Questi dischi si trovano in un datastore vSAN, VMFS, NFS o vVols e supportano volumi di container ReadWriteOnce.

La tecnologia FCD consente a di eseguire operazioni del ciclo di vita correlate a volumi persistenti esterni alla macchina virtuale o al ciclo di vita del pod. Se la macchina virtuale è un nodo Kubernetes che esegue più applicazioni basate su contenitore e utilizza volumi e dischi virtuali persistenti per molte applicazioni, CNS facilita le operazioni del ciclo di vita nel container e la granularità dei volumi persistenti.

Servizio file vSAN
Si tratta di un livello vSAN che fornisce condivisioni di file. Al momento, supporta le condivisioni di file NFSv3 e NFSv4.1. Cloud Native Storage utilizza condivisioni di file vSAN per i volumi permanenti di tipo ReadWriteMany. Un singolo volume ReadWriteMany può essere montato da più nodi. Il volume può essere condiviso tra più pod o applicazioni in esecuzione nei nodi Kubernetes o nei cluster Kubernetes.
Gestione basata sul criterio di storage
La gestione basata sui criteri di storage è un servizio vCenter Server che supporta il provisioning di volumi persistenti in base ai requisiti di storage specificati. Dopo il provisioning, il servizio monitora la conformità del volume con le caratteristiche dei criteri richieste.