Familiarícese con varios conceptos fundamentales para el entorno de Almacenamiento nativo en la nube en vSphere.

Componentes del entorno de almacenamiento nativo en la nube.

Clúster de Kubernetes
En el entorno de Almacenamiento nativo en la nube, puede implementar un clúster de Kubernetes genérico en un clúster de máquinas virtuales. Las aplicaciones en contenedor se implementan sobre el clúster de Kubernetes. Las aplicaciones pueden tener estado o no.
Nota: Para obtener información sobre un clúster Supervisor y un clúster de Tanzu Kubernetes Grid que puede ejecutar en el entorno de vSphere with Tanzu, consulte la documentación de Conceptos y planificación de vSphere with Tanzu .
Pod
Un pod es un grupo de una o varias aplicaciones en contenedor que comparten recursos como el almacenamiento y la red. Los contenedores dentro de un pod se inician, se detienen y se replican como un grupo.
Orquestador de contenedores
Plataformas de código abierto (como Kubernetes) para implementar, escalar y administrar las aplicaciones en contenedor en clústeres de hosts. Las plataformas proporcionan una infraestructura centrada en contenedores.
Aplicación con estado
A medida que las aplicaciones en contenedor pasan de no tener estado a tenerlo, requieren un almacenamiento persistente. A diferencia de las aplicaciones sin estado, las cuales no guardan datos entre sesiones, las aplicaciones con estado sí guardan datos en un almacenamiento persistente. Estos datos que se conservan se denominan estado de la aplicación. Posteriormente, puede recuperarlos y utilizarlos en la siguiente sesión. La mayoría de las aplicaciones tienen estado. Una base de datos es un ejemplo de una aplicación con estado.
PersistentVolume
Las aplicaciones con estado utilizan objetos PersistentVolume para almacenar sus datos. Un objeto PersistentVolume es un volumen de Kubernetes capaz de conservar su estado y sus datos. Es independiente de un pod y puede seguir existiendo incluso cuando el pod se elimina o se vuelve a configurar. En el entorno de vSphere, los objetos de PersistentVolume usan discos virtuales de vSphere de tipo de disco de primera clase (First Class Disk, FCD) o recursos compartidos de archivos de vSAN como almacenamiento de respaldo. Los discos de primera clase también se denominan discos virtuales mejorados (Improved Virtual Disks, IVD) o discos virtuales administrados.
  • Los discos virtuales admiten volúmenes montados como ReadWriteOnce. Un único pod puede usar estos volúmenes en Kubernetes.

    Puede utilizar la tecnología de cifrado de vSphere para proteger los discos virtuales de FCD que respaldan los volúmenes persistentes. Para obtener más información, consulte Usar cifrado con el almacenamiento nativo en la nube de vSphere.

  • Los recursos compartidos de archivos de vSAN admiten volúmenes de ReadWriteMany montados por varios nodos. Estos volúmenes pueden compartirse entre varios pods o aplicaciones que se ejecutan en nodos de Kubernetes o en clústeres de Kubernetes. Para obtener información sobre las posibles configuraciones con recursos compartidos de archivos, consulte Usar el servicio de archivos de vSAN para aprovisionar volúmenes de archivos vSphere.
StorageClass
Kubernetes utiliza una StorageClass para definir diferentes niveles de almacenamiento y para describir diferentes tipos de requisitos de almacenamiento que respaldan PersistentVolume. En el entorno de vSphere, una clase de almacenamiento se puede vincular con una directiva de almacenamiento. Como administrador de vSphere, cree directivas de almacenamiento que describan diferentes requisitos de almacenamiento. Las directivas de almacenamiento de máquina virtual pueden usarse como parte de la definición StorageClass del aprovisionamiento dinámico de volúmenes.

El siguiente archivo YAML de ejemplo hace referencia a la directiva de almacenamiento Gold que creó anteriormente con vSphere Client. El VMDK de volumen persistente resultante se ubica en un almacén de datos compatible que cumple con los requisitos de la directiva de almacenamiento Gold.

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: gold-sc
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
provisioner: csi.vsphere.vmware.com
parameters:
  storagepolicyname: "Gold"
  
PersistentVolumeClaim
Generalmente, las aplicaciones o los pods pueden solicitar almacenamiento persistente a través de PersistentVolumeClaim. PersistentVolumeClaim especifica el tipo y la clase de almacenamiento, el modo de acceso, ya sea ReadWriteOnce o ReadWriteMany, y otros parámetros para PersistentVolume. A continuación, la solicitud puede aprovisionar de forma dinámica el objeto de PersistentVolume correspondiente y el disco virtual subyacente o el recurso compartido de archivos de vSAN en el entorno de vSphere.
Cuando se crea la reclamación, PersistentVolume se enlaza automáticamente a ella. Los pods usan la reclamación para montar el objeto PersistentVolume y acceder al almacenamiento.
Cuando esta notificación se elimina, se eliminan también el objeto PersistentVolume y el almacenamiento subyacente.
kind: PersistentVolumeClaim
metadata:
 name: persistent-VMDK
spec:
 accessModes:
 - ReadWriteOnce
 resources:
 requests:
 storage: 5Gi
 storageClassName: gold-sc