Обновлена документация под новые аддоны (gitlab, redis, mongodb, kafka, kafka-ui, rabbitmq) и новую модель явного выбора зависимостей. Добавлены и унифицированы описания переключателей *_database_mode и *_redis_mode, обновлена таблица зависимостей аддонов, примеры конфигурации и список vault-секретов.
5.0 KiB
Хранилище
Доступные варианты storage: NFS, Longhorn, MinIO, CSI S3, Rook-Ceph, GlusterFS.
NFS (по умолчанию)
NFS сервер на master01 + CSI Driver для динамических PVC. StorageClass nfs-master01 (default).
addon_nfs_server: true # если NFS не установлен основным плейбуком
addon_csi_nfs: true
# PVC:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-data
spec:
accessModes: [ReadWriteMany]
storageClassName: nfs-master01
resources:
requests:
storage: 10Gi
Подробнее: addons/nfs-server/README.md, addons/csi-nfs/README.md.
Longhorn — distributed block storage
Реплицированное блочное хранилище. Хранит данные на дисках нод. Снимки, live migration.
addon_longhorn: true
longhorn_default_replica_count: 2
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: db-data
spec:
accessModes: [ReadWriteOnce]
storageClassName: longhorn
resources:
requests:
storage: 20Gi
Подробнее: addons/longhorn/README.md.
MinIO — объектное хранилище S3
S3-совместимый сервер для хранения объектов. Используется как backend для Loki, Velero, CSI S3, Databasus.
addon_minio: true
minio_mode: "standalone" # или distributed (требует 4+ нод)
minio_storage_size: "50Gi"
Endpoint: http://minio.minio.svc.cluster.local:9000
Подробнее: addons/minio/README.md.
CSI S3 Driver — S3 как PVC
Монтирует S3/MinIO бакеты как PersistentVolume. Автоматически подключается к MinIO при addon_minio: true.
addon_csi_s3: true
addon_minio: true
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: s3-storage
spec:
accessModes: [ReadWriteMany]
storageClassName: csi-s3
resources:
requests:
storage: 100Gi
Подробнее: addons/csi-s3/README.md.
Rook-Ceph — distributed storage
Block (RWO) + Filesystem (RWX) storage через Ceph. Требует минимум 3 ноды с незанятыми дисками.
addon_ceph_rock: true
# или legacy-алиас:
addon_csi_ceph: true
rook_ceph_mon_count: 3
rook_ceph_block_replica_count: 3
StorageClasses:
rook-ceph-block— ReadWriteOnce (БД)rook-ceph-filesystem— ReadWriteMany (общие файлы)
Подробнее: addons/ceph-rock/README.md, addons/csi-ceph/README.md.
CSI GlusterFS
Внешний GlusterFS кластер + Heketi как PVC в кластере.
addon_csi_glusterfs: true
csi_glusterfs_heketi_url: "http://192.168.1.20:8080"
Подробнее: addons/csi-glusterfs/README.md.
Сравнение вариантов
| StorageClass | Тип | RWO | RWX | Особенности |
|---|---|---|---|---|
nfs-master01 |
NFS | ✓ | ✓ | По умолчанию, просто |
longhorn |
Block | ✓ | ✗ | Реплики, снимки, migration |
csi-s3 |
Object | ✓ | ✓ | FUSE, S3-совместимый |
rook-ceph-block |
Block | ✓ | ✗ | Производительность, надёжность |
rook-ceph-filesystem |
FS | ✓ | ✓ | CephFS, POSIX |
glusterfs |
FS | ✓ | ✓ | Внешний GlusterFS |
Рекомендации по выбору
- Для большинства приложений — NFS (простота, RWX, работает из коробки)
- Для баз данных — Longhorn или Rook-Ceph block (RWO, производительность)
- Для больших файлов / медиа — MinIO + CSI S3
- Для production-кластера с несколькими нодами — Rook-Ceph
- Для совместного доступа — NFS, Rook-Ceph filesystem
Резервное копирование PVC
Через Velero
addon_velero: true
velero_schedule_cron: "0 2 * * *"
velero backup create my-backup --include-namespaces my-app
velero restore create --from-backup my-backup
Через Longhorn UI
Longhorn → Volumes → Take Snapshot → Create Backup (→ S3)
Статический PV (без StorageClass)
apiVersion: v1
kind: PersistentVolume
metadata:
name: static-nfs-pv
spec:
capacity:
storage: 50Gi
accessModes: [ReadWriteMany]
nfs:
server: "192.168.1.10"
path: "/storage/nfs/static"
persistentVolumeReclaimPolicy: Retain
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: static-pvc
spec:
accessModes: [ReadWriteMany]
resources:
requests:
storage: 50Gi
volumeName: static-nfs-pv