Persistent volume claims
Los persistent volume claims
en Kubernetes son un recurso que permite a los pods solicitar almacenamiento persistente. Los persistent volume claims
son una forma de solicitar almacenamiento persistente en un clúster de Kubernetes sin tener que preocuparse por los detalles de la implementación subyacente.
Comandos generales
Crear un persistent volume claim
Para crear un persistent volume claim
en Kubernetes, podemos utilizar el comando kubectl create -f
. Por ejemplo, para crear un persistent volume claim
con una capacidad de 1Gi y un modo de acceso de ReadWriteOnce
, podemos ejecutar el siguiente comando:
kubectl create -f Kubernetes/manifests/mi-pvc.yaml
Ver persistent volume claims
Para ver los persistent volume claims
en un clúster de Kubernetes, podemos utilizar el comando kubectl get persistentvolumeclaims
:
kubectl get persistentvolumeclaims
NOTA: usa
-o wide
para ver más detalles de lospersistent volume claims
.
Para ver los detalles de un persistent volume claim
en particular, podemos utilizar el comando kubectl describe persistentvolumeclaim <nombre_del_pvc>
:
kubectl describe persistentvolumeclaim mi-pvc
Eliminar un persistent volume claim
Para eliminar un persistent volume claim
, podemos utilizar el comando kubectl delete persistentvolumeclaim <nombre_del_pvc>
:
kubectl delete persistentvolumeclaim mi-pvc
Montar un volumen persitente en un pod
Un persistent volume claim
puede ser montado como un volumen en un pod para que las aplicaciones puedan acceder al almacenamiento persistente. Para montar un persistent volume claim
en un pod, podemos utilizar la siguiente definición en el manifiesto del pod:
apiVersion: v1
kind: Pod
metadata:
name: mi-pod
spec:
containers:
- name: mi-contenedor
image: nginx
volumeMounts:
- mountPath: "/var/www/html"
name: mi-volumen
volumes:
- name: mi-volumen
persistentVolumeClaim:
claimName: mi-pvc
También podemos especificar un path en el volumen montado:
apiVersion: v1
kind: Pod
metadata:
name: mi-pod
spec:
containers:
- name: mi-contenedor
image: nginx
volumeMounts:
- mountPath: "/var/www/html"
subPath: "mi-carpeta"
name: mi-volumen
volumes:
- name: mi-volumen
persistentVolumeClaim:
claimName: mi-pvc
readOnly: false