Модуль NFS оператора (NFS Provisioner)

Модуль NFS оператора (NFS Provisioner) является драйвером Network File System (NFS) Container Storage Interface (CSI). В кластерах Kubernetes он позволяет использовать NFS для хранения данных. NFS Provisioner отвечает за:

  • возможность статического, динамического предоставления Persistent Volumes (PV) на основе NFS;
  • обеспечение совместного доступа к данным нескольким приложениями.
Обратите внимание!

В кластерах с ОС Astra Linux до версии 1.7.6 (включительно) при использовании NFS Provisioner может возникнуть “утечка памяти”, что приведет к OOM (Out of Memory) и падению подов в кластере. Во избежании потери работоспособности в кластере обновите версию до 1.7.7. Инструкция по обновлению представлена на странице документации Astra Linux.

После обновления версии Astra Linux, в провайдерах инфраструктуры (VMware vSphere, oVirt , OpenStack , Basis Dynamix , Yandex Cloud) кластеров потребуется заменить шаблоны ВМ со старыми версиями.

Установка в кластер

Модуль не является критически важным для работы платформы “Штурвал”. По умолчанию модуль устанавливается в кластер управления отключенным, в клиентские кластеры не устанавливается.

Обратите внимание! Для работы NFS в кластере на узлах требуется инсталлировать клиента NFS. Например, для дистрибутива RPM установите пакет утилит nfs-utils, для DEB - nfs-common.

Кластер управления

Чтобы включить модуль в развернутом кластере управления, перейдите на страницу Установленные сервисы раздела Сервисы и репозитории в графическом интерфейсе. Найдите Модуль NFS оператора shturval-nfs-csi и перейдите к управлению.

В блоке Спецификация сервиса вы можете указать параметры для создания Storage Class с провиженером nfs.csi.k8s.io в кластере или добавить Storage Class после включения модуля.

Пример добавления Storage Class в спецификации
storageClass:
  create: true
  name: nfs-csi
  parameters:
    server: 10.11.12.13 
    share: /nfs # Адрес шары
  mountOptions:
   - nfsvers=3
  reclaimPolicy: Delete
  volumeBindingMode: Immediate

Где вместо 10.11.12.13 укажите IP-адрес NFS сервера. В mountOptions вы можете указать дополнительные функции монтирования. При инсталляции сервиса рекомендуется использовать третий сервер (nfsvers=3), поскольку у четвертого (nfsvers=4.1) наблюдается утечка ресурсов.

Включите модуль и выберите автоматический режим управления.

Клиентский кластер

Чтобы установить Модуль NFS оператора в созданном клиентском кластере, перейдите на страницу на страницу Доступные чарты раздела Сервисы и репозитории. На вкладке shturval выберите чарт shturval-nfs-csi и нажмите Установить.

Выберите необходимую версию чарта, а также создайте неймспейс nfs. После выбора версии чарта в правой части экрана отобразятся Доступные параметры конфигурации для сервиса (values). Пропишите в блоке Спецификация сервиса необходимые параметры в качестве customvalues.

В блоке Спецификация сервиса вы можете указать параметры для создания Storage Class с провиженером nfs.csi.k8s.io в кластере или добавить Storage Class после включения модуля.

Пример добавления Storage Class в спецификации
storageClass:
  create: true
  name: nfs-csi
  parameters:
    server: 10.11.12.13 
    share: /nfs # Адрес шары
  mountOptions:
   - nfsvers=3
  reclaimPolicy: Delete
  volumeBindingMode: Immediate

Где вместо 10.11.12.13 укажите IP-адрес NFS сервера. В mountOptions вы можете указать дополнительные функции монтирования. При инсталляции сервиса рекомендуется использовать третий сервер (nfsvers=3), поскольку у четвертого (nfsvers=4.1) наблюдается утечка ресурсов.

Включите модуль и выберите автоматический режим управления.

Для корректной работы Модуля NFS в кластере должен быть включен Модуль управления сетями кластера (shturval-networking).

×