Csi-driver-nfs#

Csi-driver-nfs - инструмент, предназначенный для интеграции NFS (Network File System) хранилища DropApp Plus.

Csi-driver-nfs позволяет DropApp Plus использовать удаленные NFS-хранилища в качестве персистентного хранилища для контейнеров. Полезен в случаях, когда требуется доступ к общим данным или персистентным томам между различными контейнерами и/или pods в DropApp Plus кластере. Это может понадобиться для развертывания приложений, которые требуют постоянного доступа к файлам или для обмена данными между pods.

Csi-driver-nfs предоставляет следующие функциональности:

  1. Подключение и монтирование NFS-хранилища к pods DropApp Plus.

  2. Создание и управление персистентными томами, основанными на NFS.

  3. Поддержка динамического выделения хранилища (Dynamic Provisioning) на основе NFS.

Рекомендуемые флаги приведены в таблице.

Таблица. Рекомендуемые флаги Csi-driver-nfs.

Синтаксис флага

Значение

oc create -f nfs-csi-driver.yaml

Создание ресурсов CSI драйвера для NFS.

oc create -f nfs-pvc.yaml

Создание Persistent Volume Claim (PVC) для использования с NFS.

oc create -f nfs-pod.yaml

Создание pod, который использует PVC для монтирования NFS-хранилища.

Флаги могут варьироваться в зависимости от конфигурации драйвера и DropApp Plus кластера, но обычно они включают параметры конфигурации NFS-сервера, такие как IP-адрес, путь к экспорту и т.д.

Предусловия#

  • Настройте сервер NFS в кластере DropApp Plus;

  • Установите Csi-driver-nfs.

Последовательность выполнения#

Использование Storage Class (класс хранилищ):

  1. Создайте класс хранилища, указав параметры для подключения к серверу NFS:

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: nfs-csi
    provisioner: nfs.csi.k8s.io
    parameters:
      server: nfs-server.default.svc.cluster.local
      share: /
      # csi.storage.k8s.io/provisioner-secret is only needed for providing mountOptions in DeleteVolume
      # csi.storage.k8s.io/provisioner-secret-name: "mount-options"
      # csi.storage.k8s.io/provisioner-secret-namespace: "default"
    reclaimPolicy: Delete
    volumeBindingMode: Immediate
    mountOptions:
      - nfsvers=4.1
    
  2. Создайте Persistent Volume Claim (PVC) с использованием нового класса хранилища:

    oc create -f https://<repoexample.ru>/kubernetes-csi/csi-driver-nfs/master/deploy/example/pvc-nfs-csi-dynamic.yaml # Укажите актуальный путь до локального репозитория
    

Результат#

Csi-driver-nfs настроен готов к использованию.