Aller au contenu

Stockage persistant

Par défaut, les données écrites dans un conteneur sont éphémères : elles disparaissent quand le pod redémarre. Pour conserver vos données, demandez un volume persistant via un PersistentVolumeClaim (PVC).

Exemple complet, prêt à copier :

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mes-donnees
spec:
accessModes:
- ReadWriteOnce
storageClassName: ceph-block-rwo
resources:
requests:
storage: 10Gi

Choisir sa classe de stockage

La règle en une ligne : un seul pod écrit → ceph-block-rwo ; plusieurs pods lisent/écrivent en même temps → ceph-filesystem-rwx.

ceph-block-rwo (défaut)ceph-filesystem-rwx
Mode d’accèsReadWriteOnce — un seul pod écrivainReadWriteMany — accès partagé
Typique pourBases de données (MySQL, PostgreSQL, Redis…)Fichiers partagés entre replicas (uploads WordPress, CMS…)
PerformanceOptimale (stockage bloc)Normale (système de fichiers distribué)

Les deux classes sont répliquées, chiffrées, sauvegardées chaque nuit et au même tarif. Quotas : 10 PVC et 100 Gi par classe (détails).

Créer un volume

  1. Dans votre namespace : Storage › PersistentVolumeClaimsCreate.

  2. Nommez le PVC, choisissez la Storage Class et le mode d’accès (Single-Node Read/Write pour RWO, Many-Node Read/Write pour RWX), puis la taille.

  3. Validez avec Create — le volume est provisionné en quelques secondes.

Monter le volume dans un pod

Exemple avec MySQL (un écrivain unique → RWO) :

apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql
spec:
replicas: 1
selector:
matchLabels:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- name: mysql
image: mysql:8.4
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-secret
key: password
resources:
requests:
cpu: 250m
memory: 512Mi
volumeMounts:
- name: data
mountPath: /var/lib/mysql
volumes:
- name: data
persistentVolumeClaim:
claimName: mes-donnees

Agrandir un volume

Un PVC peut être agrandi à chaud, jamais réduit.

Storage › PersistentVolumeClaims → menu du PVC → augmentez la taille → enregistrez.

L’espace supplémentaire apparaît dans le pod en quelques instants (certaines applications nécessitent un redémarrage pour le voir).

Bon à savoir

  • Vos volumes sont sauvegardés automatiquement chaque nuit — périmètre et procédure de restauration dans Sauvegardes et restauration ;
  • Le stockage est facturé sur la capacité provisionnée : commencez petit, agrandissez au besoin ;
  • Un PVC en statut Pending prolongé ? Vérifiez le quota de stockage : kubectl describe pvc mes-donnees -n <namespace>.

Étapes suivantes