NFS CSI Driver

В предыдущих статьях я уже показал:
как установить HA Kubernetes кластер
как развернуть NFS-сервер для Kubernetes
Теперь осталось связать всё это, чтобы хранилище работало динамически: при создании PersistentVolumeClaim (PVC) Kubernetes сам выдавал готовый PersistentVolume (PV) через NFS. Для этого нам нужно настроить StorageClass и установить NFS CSI Driver.

Установка NFS CSI Driver

helm repo add csi-driver-nfs https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/charts
helm install csi-driver-nfs csi-driver-nfs/csi-driver-nfs \
  --namespace kube-system \
  --version 4.11.0

Проверка статуса:

kubectl -n kube-system get pods \
  --selector="app.kubernetes.io/instance=csi-driver-nfs" --watch

Создание StorageClass

#nfs-storageclass.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: nfs-csi
provisioner: nfs.csi.k8s.io
parameters:
  server: IP_NFS_SERVER     # IP NFS сервера
  share: /data/path       # Путь на сервере
reclaimPolicy: Delete
volumeBindingMode: Immediate
mountOptions:
  - nfsvers=4.1

Применение:

kubectl apply -f nfs-storageclass.yaml

Использование

Создаём PVC, указывая storageClassName: nfs-csi:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: test-nfs-pvc
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: nfs-csi
  resources:
    requests:
      storage: 5Gi
kubectl apply -f pvc.yaml

PV должен будет создаться автоматически

Прокрутить вверх