Middle
Cos'è un Persistent Volume (PV) e una Persistent Volume Claim (PVC)?
sobes.tech AI
Risposta dell'AI
Persistent Volume (PV) è un'astrazione in Kubernetes che rappresenta una parte dello storage nel cluster, preparata appositamente dall'amministratore. Il PV è una risorsa del cluster e esiste indipendentemente dal ciclo di vita del pod.
Persistent Volume Claim (PVC) è una richiesta del pod per consumare una quantità specifica di storage con caratteristiche di accesso (mode) e prestazioni determinate. La PVC si collega a un PV che soddisfa i suoi requisiti.
Caratteristiche principali:
- PV: Risorsa del cluster gestita dall'amministratore. Descrive un supporto fisico o di rete per i dati (NFS, iSCSI, storage cloud, ecc.). Ha un ciclo di vita indipendente dai pod.
- PVC: Richiesta dell'utente (sviluppatore) per la quantità di storage necessaria. Si collega a un PV disponibile. Indica requisiti (dimensione, permessi di accesso).
Ciclo di vita di PV/PVC:
- Provisioning (Provisioning): L'amministratore crea un PV o Kubernetes lo crea dinamicamente sulla base di StorageClass.
- Binding (Binding): La PVC cerca un PV adatto in base ai requisiti (dimensione, modalità di accesso). Se ne trova uno, avviene il binding.
- Using (Utilizzo): Il pod utilizza la PVC montandola nel contenitore.
- Releasing (Rilascio): La PVC viene eliminata. Il PV può essere rilasciato o rimanere riservato (a seconda della policy).
- Recycling (Riciclaggio)/Deleting (Eliminazione)/Retaining (Conservazione): Politica di pulizia del PV dopo il rilascio della PVC.
Esempio di PV:
apiVersion: v1
kind: PersistentVolume
metadata:
name: nfs-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteMany
nfs:
server: nfs.esempio.com
path: "/exported/path"
Esempio di PVC:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mio-pvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 5Gi
Utilizzo: Il pod fa riferimento alla PVC nella sua specifica per montare il volume.