Las aplicaciones con estado (por ejemplo, bases de datos) guardan datos entre sesiones y requieren almacenamiento persistente para almacenar los datos. Estos datos que se conservan se denominan estado de la aplicación. Posteriormente, puede recuperarlos y utilizarlos en la siguiente sesión. Kubernetes ofrece volúmenes persistentes como objetos que pueden conservar su estado y sus datos.

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, gold) y la asigna a un espacio de nombres en Supervisor, la directiva de almacenamiento se muestra como una clase de almacenamiento de Kubernetes coincidente en espacio de nombres de vSphere y en todos los clústeres de TKG 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.
      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 TKG.
      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.