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
- Acceda al espacio de nombres en el entorno de Kubernetes de vSphere.
- Compruebe que las clases de almacenamiento se encuentren disponibles.
- Cree una notificación de volumen persistente (Persistent Volume Claim, PVC).
- 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
enReadWriteMany
.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-pvc spec: accessModes: - ReadWriteOnce storageClassName: gold resources: requests: storage: 3Gi
- 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. - 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
- Cree un archivo YAML que contenga la configuración de notificación de volumen persistente.
- Cree un pod que monte el volumen persistente.
- Cree un archivo YAML que incluya el volumen persistente.
El archivo contiene estos parámetros.
... volumes: - name: my-pvc persistentVolumeClaim: claimName: my-pvc
- Implemente el pod desde el archivo YAML.
kubectl create -f pv_pod_name.yaml
- Compruebe que se haya creado el pod.
kubectl get pod
NAME READY STATUS RESTARTS AGE pod_name 1/1 Ready 0 40s
- Cree un archivo YAML que incluya el volumen persistente.
Resultados
El pod que configuró utilizará el almacenamiento persistente que se describe en la notificación de volumen persistente.