Crear un Pod con Volúmenes Persistentes
El quinto paso es crear un Pod con un Volumen Persistente (Persistent Volume, PV) y una Solicitud de Volumen Persistente (Persistent Volume Claim, PVC). Los PV y PVC se utilizan para almacenar y acceder a datos de forma persistente a través de reinicios de Pod.
Para hacer esto, primero crearás un PV.
apiVersion: v1
kind: PersistentVolume
metadata:
name: my-pv
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/data"
Guarda el código anterior en un archivo llamado /home/labex/project/pv.yaml
y ejecuta el siguiente comando:
kubectl apply -f /home/labex/project/pv.yaml
Este comando creará un PV llamado my-pv
con una capacidad de 1Gi y una ruta de host de /mnt/data
.
A continuación, crearás un PVC que solicite 1Gi de almacenamiento del PV.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
Guarda el código anterior en un archivo llamado /home/labex/project/pvc.yaml
y ejecuta el siguiente comando:
kubectl apply -f /home/labex/project/pvc.yaml
Este comando creará un PVC llamado my-pvc
que solicita 1Gi de almacenamiento.
Finalmente, modificarás el archivo YAML para agregar un volumen y un montaje de volumen al contenedor de Nginx.
apiVersion: v1
kind: Pod
metadata:
name: my-pod-5
spec:
containers:
- name: my-container
image: nginx
volumeMounts:
- name: my-volume
mountPath: /mnt/data
volumes:
- name: my-volume
persistentVolumeClaim:
claimName: my-pvc
Guarda el código anterior en un archivo llamado /home/labex/project/pod-pv.yaml
y ejecuta el siguiente comando:
kubectl apply -f /home/labex/project/pod-pv.yaml
Este comando creará un Pod llamado my-pod-5
con un solo contenedor llamado my-container
que ejecuta la imagen de Nginx y tiene un montaje de volumen en /mnt/data
respaldado por el PVC llamado my-pvc
.