Comprendre les Volumes Persistants dans Kubernetes
Dans Kubernetes, les Volumes Persistants (Persistent Volumes - PVs) sont un composant crucial pour fournir un stockage persistant à vos applications. Les PVs sont des ressources de stockage approvisionnées par l'administrateur du cluster ou approvisionnées dynamiquement par une classe de stockage (storage class). Ils abstraient les détails de l'implémentation du stockage sous-jacent, permettant à vos applications de consommer du stockage sans avoir besoin de connaître les spécificités du système de stockage.
Les Demandes de Volumes Persistants (Persistent Volume Claims - PVCs) sont les demandes de stockage effectuées par les utilisateurs. Lorsqu'un PVC est créé, Kubernetes trouvera un PV approprié à lier au PVC, garantissant que l'application dispose des ressources de stockage nécessaires.
graph TD
A[Application] --> B[PVC]
B --> C[PV]
C --> D[Storage]
Pour créer un Volume Persistant, vous pouvez utiliser la configuration YAML suivante :
apiVersion: v1
kind: PersistentVolume
metadata:
name: my-pv
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
hostPath:
path: /data/my-pv
Dans cet exemple, nous créons un Volume Persistant nommé my-pv avec une capacité de 5 Gio. Le champ accessModes spécifie que le volume peut être monté en mode ReadWriteOnce, ce qui signifie qu'il peut être monté par un seul nœud en mode lecture-écriture.
Le champ hostPath spécifie que le stockage pour ce PV est fourni par un répertoire sur le système de fichiers local du nœud Kubernetes.
Une fois le PV créé, vous pouvez créer une Demande de Volume Persistant (PVC) pour demander du stockage au PV :
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
Dans cet exemple, nous créons un PVC nommé my-pvc qui demande 3 Gio de stockage avec le mode d'accès ReadWriteOnce. Kubernetes trouvera ensuite un PV approprié à lier à ce PVC, et l'application pourra utiliser le stockage revendiqué.
En comprenant les Volumes Persistants et les Demandes de Volumes Persistants, vous pouvez vous assurer que vos applications Kubernetes disposent des ressources de stockage nécessaires pour conserver les données, permettant à vos applications d'être plus fiables et évolutives.