- 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 уже существовали)
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