Middle
Czym jest Persistent Volume (PV) i Persistent Volume Claim (PVC)?
sobes.tech AI
Odpowiedź od AI
Persistent Volume (PV) to abstrakcja w Kubernetes, reprezentująca część przechowywania w klastrze, która została specjalnie przygotowana przez administratora. PV jest zasobem klastra i istnieje niezależnie od cyklu życia poda.
Persistent Volume Claim (PVC) to żądanie poda o wykorzystanie określonej ilości przechowywania z określonymi cechami dostępu (trybami) i wydajnością. PVC jest powiązane z PV spełniającym jego wymagania.
Główne cechy:
- PV: Zasób klastra zarządzany przez administratora. Opisuje fizyczny lub sieciowy nośnik danych (NFS, iSCSI, chmura obliczeniowa itp.). Ma cykl życia niezależny od podów.
- PVC: Żądanie użytkownika (programisty) na potrzebną ilość przechowywania. Powiązuje się z dostępnym PV. Określa wymagania (rozmiar, prawa dostępu).
Cykl życia PV/PVC:
- Provisioning (rezerwacja): Administrator tworzy PV lub Kubernetes tworzy go dynamicznie na podstawie StorageClass.
- Binding (wiązanie): PVC szuka odpowiedniego PV spełniającego wymagania (rozmiar, tryby dostępu). Jeśli znajdzie, dochodzi do wiązania.
- Using (użycie): Pod korzysta z PVC, montując go w kontenerze.
- Releasing (zwolnienie): PVC jest usuwane. PV może być zwolnione lub pozostać zarezerwowane (w zależności od polityki).
- Recycling (recykling)/Deleting (usuwanie)/Retaining (zachowanie): Polityka czyszczenia PV po zwolnieniu PVC.
Przykład PV:
apiVersion: v1
kind: PersistentVolume
metadata:
name: nfs-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteMany
nfs:
server: nfs.przyklad.com
path: "/exported/path"
Przykład PVC:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: moj-pvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 5Gi
Użycie: Pod odwołuje się do PVC w swojej specyfikacji, aby zamontować wolumin.