Обновлена документация под новые аддоны (gitlab, redis, mongodb, kafka, kafka-ui, rabbitmq) и новую модель явного выбора зависимостей. Добавлены и унифицированы описания переключателей *_database_mode и *_redis_mode, обновлена таблица зависимостей аддонов, примеры конфигурации и список vault-секретов.
78 lines
2.4 KiB
Markdown
78 lines
2.4 KiB
Markdown
# CSI NFS Driver
|
||
|
||
CSI-драйвер для динамического provisioning PersistentVolume через NFS. Создаёт StorageClass `nfs-<hostname>` (например `nfs-master01`). Работает в паре с аддоном `nfs-server` или внешним NFS сервером.
|
||
|
||
## Быстрый старт
|
||
|
||
```yaml
|
||
# group_vars/all/addons.yml
|
||
addon_csi_nfs: true
|
||
```
|
||
|
||
```bash
|
||
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 сервер
|
||
|
||
```yaml
|
||
csi_nfs_server: "192.168.1.20"
|
||
csi_nfs_share: "/srv/nfs/k8s"
|
||
```
|
||
|
||
## Использование в PVC
|
||
|
||
```yaml
|
||
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/
|
||
```
|
||
|
||
## Проверка
|
||
|
||
```bash
|
||
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://kubernetes-csi.github.io/docs/drivers.html)
|
||
- Официальная документация: [https://github.com/kubernetes-csi/csi-driver-nfs](https://github.com/kubernetes-csi/csi-driver-nfs)
|
||
- Версии Helm chart / ПО: [https://github.com/kubernetes-csi/csi-driver-nfs/releases](https://github.com/kubernetes-csi/csi-driver-nfs/releases)
|