Las aplicaciones con estado (por ejemplo, bases de datos) guardan datos entre sesiones y requieren volúmenes persistentes para almacenar los datos. Con vSphere IaaS control plane, puede aprovisionar dinámicamente un volumen persistente para la aplicación.

En el entorno de vSphere, los objetos de volúmenes persistentes se respaldan con discos virtuales que residen en almacenes de datos. Los almacenes de datos se representan a través de directivas de almacenamiento. Después de que el administrador de vSphere crea una directiva de almacenamiento (por ejemplo, Oro) y la asigna a un espacio de nombres en un Supervisor, la directiva de almacenamiento se muestra como una clase de almacenamiento de Kubernetes coincidente en el espacio de nombres de vSphere y los clústeres de Tanzu Kubernetes Grid disponibles.

Como ingeniero de desarrollo y operaciones, puede utilizar la clase de almacenamiento en sus especificaciones de notificación de volúmenes persistentes. Posteriormente, puede implementar una aplicación que utilice almacenamiento de la notificación de volumen persistente. En este ejemplo, el volumen persistente de la aplicación se crea de forma dinámica.

Requisitos previos

Asegúrese de que el administrador de vSphere haya creado una directiva de almacenamiento adecuada y haya asignado la directiva al espacio de nombres.

Procedimiento

  1. Acceda al espacio de nombres en el entorno de Kubernetes de vSphere.
  2. Compruebe que las clases de almacenamiento se encuentren disponibles.
  3. Cree una notificación de volumen persistente (Persistent Volume Claim, PVC).
    1. Cree un archivo YAML que contenga la configuración de notificación de volumen persistente.
      En este ejemplo, el archivo hace referencia a la clase de almacenamiento gold.
      Para aprovisionar un volumen persistente ReadWriteMany, establezca accessModes en ReadWriteMany. Consulte Usar el servicio de archivos de vSAN para crear volúmenes ReadWriteMany en vSphere IaaS control plane.
      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        name: my-pvc
      spec:
        accessModes:
          - ReadWriteOnce
        storageClassName: gold
        resources:
          requests:
              storage: 3Gi
                 
    2. Aplique la notificación de volumen persistente al clúster de Kubernetes.
      kubectl apply -f pvc_name.yaml
      Este comando crea de forma dinámica un volumen persistente de Kubernetes y un volumen de vSphere con un disco virtual de respaldo que cumple los requisitos de almacenamiento de la notificación.
    3. Compruebe el estado de la notificación de volumen persistente.
      kubectl get pvc my-pvc

      El resultado muestra que el volumen está enlazado a la notificación de volumen persistente.

      NAME     STATUS    VOLUME   CAPACITY   ACCESSMODES   STORAGECLASS   AGE
      my-pvc   Bound     my-pvc   2Gi        RWO           gold           30s
  4. Cree un pod que monte el volumen persistente.
    1. Cree un archivo YAML que incluya el volumen persistente.
      El archivo contiene estos parámetros.
      ...
      volumes:
          - name: my-pvc
            persistentVolumeClaim:
              claimName: my-pvc
    2. Implemente el pod desde el archivo YAML.
      kubectl create -f pv_pod_name.yaml
    3. Compruebe que se haya creado el pod.
      kubectl get pod
      NAME       READY   STATUS    RESTARTS   AGE
      pod_name   1/1     Ready     0          40s

Resultados

El pod que configuró utilizará el almacenamiento persistente que se describe en la notificación de volumen persistente.

Qué hacer a continuación

Para supervisar el estado de mantenimiento del volumen persistente, consulte Supervisar el estado del volumen en un clúster de espacio de nombres de vSphere o Tanzu Kubernetes Grid. Para revisar y supervisar el volumen persistente en vSphere Client, consulte Supervisar volúmenes persistentes en vSphere Client.