Привет, DevOps-энтузиасты! 👋 Сегодня разберём персистентные тома (PV) и их запросы (PVC) в Kubernetes — без воды, только практика! 🔥
А ещё расскажем, почему RWX (ReadWriteMany) — это редкий зверь 🦄 и где его искать (спойлер: в основном на AWS/Azure).
📌 P.S. Скоро выйдет детальное видео на эту тему! Следи за соцсетями — будет мега-полезно! 🎥
---
## 🔹 PV & PVC: Что Это и Зачем?
В Kubernetes данные в подах (Pods) по умолчанию не сохраняются после перезапуска. Persistent Volume (PV) и Persistent Volume Claim (PVC) решают эту проблему!
- PV (Persistent Volume) — это "диск" в кластере (как AWS EBS, NFS, Local Storage).
- PVC (Persistent Volume Claim) — запрос пода на выделение PV (как аренда хранилища).
### 📌 Простая схема работы:
Pod → PVC → PV → Реальное хранилище (EBS, NFS, Local Disk и т. д.)
---
## 🔹 Типы PVC (Access Modes) — Какой Выбрать?
У PVC есть три режима доступа, и не все провайдеры их поддерживают!
| Тип 🏷 | Описание 📝 | Где работает? 🌍 |
|------------|----------------|---------------------|
| RWO (ReadWriteOnce) | Только одна нода может писать | Все облака (AWS, GCP, Yandex Cloud, Local) ✅ |
| ROX (ReadOnlyMany) | Много подов только для чтения | NFS, Ceph, GlusterFS 🗂 |
| RWX (ReadWriteMany) | Много подов пишут и читают | Только AWS EFS, Azure Files, GCP Filestore 🦄 |
### 💡 Важно!
- RWX — редкость! В Яндекс.Облаке и многих других его нет (только через NFS вручную).
- RWO — самый популярный, работает везде.
---
## 🔹 Как Создать PVC? (Пример для RWO)
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce # ⚠️ Только одна нода!
resources:
requests:
storage: 10Gi # 💾 Размер тома
storageClassName: standard # � Класс хранилища (зависит от облака)
---
## 🚀 Выводы: Что Запомнить?
✅ RWO — основной режим, работает везде.
⚠️ RWX — только в AWS/Azure/GCP, в российских облаках нет (кроме ручного NFS).
📹 Скоро будет видео! Разберём на практике + лайфхаки!
---
ТЕКСТ ПАСХАЛКА ДЛЯ ООООЧЕНЬ ВНИМАТЕЛЬНЫХ :
ОЧЕНЬ И ОЧЕНЬ МНОГИЕ ЗАБЫВАЮТ ПРО 4 ТИП
💡 Что особенного в RWOP?
Это более строгая версия RWO — том привязывается не просто к ноде, а к конкретному поду.
Идеально для:
Stateful-приложений, где том должен быть строго у одного пода (например, БД).
Защиты от случайного мульти-монтирования (если Pod пересоздаётся).
Пример PVC с RWOP:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-exclusive-pvc
spec:
accessModes:
- ReadWriteOncePod # 🔒 Только один Pod!
resources:
requests:
storage: 10Gi
storageClassName: fast-ssd
[ Pod A ] --(RWOP)--> [ PVC ] --> [ PV ] --> (Диск в облаке)
[ Pod B ] --(RWO)--> [ PVC ] --> [ PV ] --> (Диск в облаке)
[ Pod C+D ] --(RWX)--> [ PVC ] --> [ PV ] --> (NFS/EFS)
🔥 Остались вопросы? Пиши в комменты! Делимся опытом! 👇
🤗 Наш чат для обсуждений получи футболку тут |🔝 Буст для канала
✋Поддержи канал и автора миской супа и на развитие мерча!