Назад к вопросам
Middle
69
questionbank
Что такое Persistent Volume (PV) и Persistent Volume Claim (PVC)?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Persistent Volume (PV) — это абстракция в Kubernetes, представляющая собой часть хранения в кластере, которая была специально подготовлена администратором. PV является ресурсом кластера и существует независимо от жизненного цикла пода.
Persistent Volume Claim (PVC) — это запрос пода на потребление определенного объема хранения с определенными характеристиками доступа (modes) и производительности. PVC привязывается к PV, удовлетворяющему его требованиям.
Основные характеристики:
- PV: Ресурс кластера, управляется администратором. Описывает физический или сетевой носитель данных (NFS, iSCSI, облачное хранилище и т.д.). Имеет жизненный цикл, не связанный с подами.
- PVC: Запрос пользователя (разработчика) на необходимый объем хранения. Привязывается к доступному PV. Указывает на требования (размер, права доступа).
Жизненный цикл PV/PVC:
- Provisioning (резервирование): Администратор создает PV или Kubernetes динамически создает его на основе StorageClass.
- Binding (связывание): PVC ищет подходящий PV по требованиям (размер, access modes). Если находит, происходит связывание.
- Using (использование): Под использует PVC путем монтирования его в контейнер.
- Releasing (освобождение): PVC удаляется. PV может быть освобожден или оставаться зарезервированным (based on policy).
- Recycling (переработка)/Deleting (удаление)/Retaining (сохранение): Политика очистки PV после освобождения PVC.
Пример PV:
apiVersion: v1
kind: PersistentVolume
metadata:
name: nfs-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteMany
nfs:
server: nfs.example.com
path: "/exported/path"
Пример PVC:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-app-pvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 5Gi
Использование: Под ссылается на PVC в своей спецификации для монтирования тома.