Tudo o que resta é montar o PersistentVolumeClaim no Pod que deseja consumi-lo. Já sabemos como montar um volume no Pod. A diferença aqui é que ao invés de, por exemplo, emptyDir: { }
utilizamos o spec.volumes.persistentVolumeClaim
e o claimName
.
Abaixo estão todos os manifestos criados nas páginas anteriores Creating Persistent Volumes e Creating PersistentVolumeClaims para facilitar a assimilação do conteúdo.
PersistentVolume
apiVersion: v1
kind: PersistentVolume
metadata:
name: db-pv
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
hostPath:
path: /data/db
PersistentVolumeClaim
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: db-pvc
spec:
storageClassName: ""
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 512m
Pod
apiVersion: v1
kind: Pod
metadata:
name: app-consuming-pvc
spec:
**volumes:
- name: app-storage
persistentVolumeClaim:
claimName: db-pvc**
containers:
- image: alpine
name: app
command: ["/bin/sh"]
args: ["-c", "while true; do sleep 60; done;"]
volumeMounts:
- mountPath: "/mnt/data"
name: app-storage