Persistent Volume Claims
Un Persistent Volume Claim (PVC) est une demande d'espace de stockage. En créant un PVC, tu indiques au cluster que tu as besoin d'un espace de stockage et le cluster va essayer de le fournir.
- Créer un PVC à partir de
resources/volumes/pvc.yml - Mettre à jour le déploiement Database pour attacher le PVC créé:
apiVersion: apps/v1
kind: Deployment
# [...]
spec:
template:
spec:
containers:
- name: postgres
# [...]
env:
# postgres requiert que le dossier où les données sont créées soit vide
# Utiliser le chemin par défaut /var/lib/postgresql/data provoquerait une erreur
# car il contient un dossier "lost.found", empêchant le serveur de s'initialiser
# Utiliser cette astuce pour stocker les données dans un sous-dossier du volume créé
- name: PGDATA
value: "/var/lib/postgresql/data/pg"
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: db-data
volumes:
- name: db-data
persistentVolumeClaim:
claimName: db-data-pvc # Le nom doit correspondre au nom du PVC
- Trouver le Persistent Volume (PV) créé suite à ta demande de stockage via le PVC
- Détruire et recréer le déploiement Database, vérifier que le PVC est resté intact