vSphere with Tanzu utiliza varios componentes para integrarse con el almacenamiento de vSphere.

Almacenamiento nativo en la nube (CNS) en vCenter Server
El componente CNS reside en vCenter Server. Se trata de una extensión de administración de vCenter Server que implementa las operaciones de aprovisionamiento y ciclo de vida de los volúmenes persistentes.
Cuando se aprovisionan volúmenes contenedores, el componente interactúa con la funcionalidad de disco de primera clase de vSphere para crear discos virtuales que respaldan dichos volúmenes. Adicionalmente, el componente de servidor de almacenamiento nativo en la nube se comunica con la administración de almacenamiento basada en directivas para garantizar un nivel necesario de servicio a los discos.
El almacenamiento nativo en la nube también realiza operaciones de consulta que permiten a los administradores de vSphere administrar y supervisar volúmenes persistentes y sus objetos de almacenamiento de respaldo a través de vCenter Server.
Disco de primera clase (First Class Disk, FCD)
También se denomina disco virtual mejorado. Se trata de un disco virtual designado que no está asociado con ninguna máquina virtual. Estos discos residen en un almacén de datos de VMFS, NFS o vSAN, y proporcionan respaldo a los volúmenes persistentes de ReadWriteOnce.

La tecnología FCD realiza operaciones de ciclo de vida relacionadas con volúmenes persistentes fuera de un ciclo de vida de una máquina virtual o un pod.

Al usar FCD, tenga en cuenta lo siguiente:
  • Los FCD no admiten protocolos NFS 4.x. En su lugar, utilice NFS 3.
  • vCenter Server no serializa las operaciones en el mismo FCD. Como resultado, las aplicaciones no pueden realizar operaciones simultáneamente en el mismo FCD. Realizar operaciones, tales como clonar, reubicar, eliminar, recuperar, etc., al mismo tiempo desde diferentes subprocesos provoca resultados impredecibles. Para evitar problemas, las aplicaciones deben realizar operaciones en el mismo FCD en un orden secuencial.
  • FCD no es un objeto administrado y no admite un bloqueo global que proteja varias escrituras en un único FCD. Como resultado, FCD no admite varias instancias de vCenter Server que administren el mismo FCD. Si necesita utilizar varias instancias de vCenter Server con FCD, tiene las siguientes opciones:
    • Varias instancias de vCenter Server pueden administrar distintos almacenes de datos.
    • Varias instancias de vCenter Server no funcionan en el mismo FCD.
Administración de almacenamiento basada en directivas
La administración de almacenamiento basada en directivas es un servicio del vCenter Server que admite el aprovisionamiento de volúmenes persistentes y sus discos virtuales de respaldo según los requisitos de almacenamiento descritos en una directiva de almacenamiento. Después del aprovisionamiento, el servicio supervisa el cumplimiento del volumen con las características de directiva de almacenamiento. Para obtener más información sobre la administración basada en directivas de almacenamiento, consulte Administración basada en directivas de almacenamiento.
CNS-CSI de vSphere
El componente CNS-CSI de vSphere cumple con la especificación de la interfaz de almacenamiento de contenedor (Container Storage Interface, CSI), un estándar de la industria diseñado para proporcionar una interfaz que los orquestadores de contenedores como Kubernetes utilizan para aprovisionar el almacenamiento persistente. El controlador de CNS-CSI se ejecuta en clúster supervisor y conecta el almacenamiento de vSphere al entorno de Kubernetes en un espacio de nombres de vSphere. El componente CNS-CSI de vSphere se comunica directamente con el plano de control de CNS para todas las solicitudes de aprovisionamiento de almacenamiento provenientes de los pods de vSphere y los pods que se ejecutan en un clúster de Tanzu Kubernetes en el espacio de nombres.
CSI paravirtual (Paravirtual CSI, pvCSI)
pvCSI es la versión del controlador de CNS-CSI vSphere modificada para los clústeres de Tanzu Kubernetes. pvCSI reside en el clúster de Tanzu Kubernetes y es responsable de todas las solicitudes relacionadas con el almacenamiento que se originan en el clúster de Tanzu Kubernetes. Las solicitudes se envían a CNS-CSI, que a su turno las propaga a CNS en vCenter Server. Como resultado, pvCSI no tiene comunicación directa con el componente de CNS, sino que depende del CNS-CSI para las operaciones de aprovisionamiento de almacenamiento.
A diferencia de CNS-CSI, pvCSI no requiere credenciales de infraestructura. Se configura con una cuenta de servicio en el espacio de nombres de vSphere.

CNS aparece como un componente de vCenter Server y CNS-CSI como un componente de clúster supervisor. pvCSI es un componente de clúster de TKG.

A continuación, se muestra cómo interactúan diferentes componentes cuando un ingeniero de desarrollo y operaciones realiza una operación relacionada con el almacenamiento en el clúster de Tanzu Kubernetes, por ejemplo, crea una notificación de volumen persistente (Persistent Volume Claim, PVC).

El ingeniero de desarrollo y operaciones crea un PVC mediante la línea de comandos en el clúster de Tanzu Kubernetes. Esta acción genera un PVC que coincide en el clúster supervisor y activa el CNS-CSI. CNS-CSI invoca la API de creación de volumen de CNS.

Tres componentes interactúan para crear un volumen persistente.

Después de crear correctamente un volumen, la operación se propaga de vuelta a través del clúster supervisor al clúster de Tanzu Kubernetes. Como resultado de esta propagación, los usuarios pueden ver el volumen persistente y la notificación de volumen persistente en el estado enlazado en el clúster supervisor. Además, también verán el volumen persistente y la notificación de volumen persistente en el estado enlazado del clúster de Tanzu Kubernetes.