Files
K3S/addons/csi-nfs/README.md
Sergey Antropoff eccc1c2a01 docs: полная документация проекта — docs/ и README.md для каждого аддона
- README.md: перепиcан как компактный обзор (98 строк) с навигацией по docs/
- docs/: 13 файлов — getting-started, architecture, configuration, addons,
  storage, security, cicd, observability, networking, operations,
  make-reference, molecule-testing, troubleshooting
- addons/*/README.md: 31 новый файл — описание, параметры, примеры кода
  для каждого из 34 аддонов (vault и external-secrets уже существовали)
2026-04-26 00:22:06 +03:00

1.9 KiB
Raw Blame History

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