Обновлена документация под новые аддоны (gitlab, redis, mongodb, kafka, kafka-ui, rabbitmq) и новую модель явного выбора зависимостей. Добавлены и унифицированы описания переключателей *_database_mode и *_redis_mode, обновлена таблица зависимостей аддонов, примеры конфигурации и список vault-секретов.
2.4 KiB
2.4 KiB
CSI NFS Driver
CSI-драйвер для динамического provisioning PersistentVolume через NFS. Создаёт StorageClass nfs-<hostname> (например nfs-master01). Работает в паре с аддоном nfs-server или внешним NFS сервером.
Быстрый старт
# group_vars/all/addons.yml
addon_csi_nfs: true
make addon-csi-nfs
Параметры
| Переменная | Умолч. | Описание |
|---|---|---|
csi_nfs_server |
первый мастер | IP или hostname NFS сервера |
csi_nfs_share |
/storage/nfs |
Базовый путь NFS экспорта |
csi_nfs_storageclass_default |
true |
Сделать StorageClass по умолчанию |
csi_nfs_reclaim_policy |
Delete |
Delete | Retain |
csi_nfs_on_delete |
delete |
delete | retain | archive |
Внешний NFS сервер
csi_nfs_server: "192.168.1.20"
csi_nfs_share: "/srv/nfs/k8s"
Использование в PVC
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: app-data
spec:
accessModes: [ReadWriteMany]
storageClassName: nfs-master01
resources:
requests:
storage: 5Gi
Политика при удалении PVC
delete— директория удаляетсяretain— директория остаётсяarchive— директория переименовывается вarchived-<имя>
Структура данных на сервере
/storage/nfs/
├── default/ ← namespace
│ └── my-pvc/ ← имя PVC
│ └── pvc-xxx/ ← имя PV
│ └── data/
Проверка
kubectl get storageclass
# NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE
# nfs-master01 (default) nfs.csi.k8s.io Delete Immediate
kubectl get pvc -A
Официальные ресурсы
- Официальный сайт: https://kubernetes-csi.github.io/docs/drivers.html
- Официальная документация: https://github.com/kubernetes-csi/csi-driver-nfs
- Версии Helm chart / ПО: https://github.com/kubernetes-csi/csi-driver-nfs/releases