Модуль NFS оператора (NFS Provisioner)
На этой странице
Модуль NFS оператора (NFS Provisioner) является драйвером Network File System (NFS) Container Storage Interface (CSI). В кластерах Kubernetes он позволяет использовать NFS для хранения данных. NFS Provisioner отвечает за:
- возможность статического, динамического предоставления Persistent Volumes (PV) на основе NFS;
- обеспечение совместного доступа к данным нескольким приложениями.
Особенности
- Для работы NFS в кластере на узлах требуется инсталлировать клиента NFS. Например, для дистрибутива RPM установите пакет утилит
nfs-utils, для DEB -nfs-common. - В кластерах с ОС Astra Linux до версии 1.7.6 (включительно) при использовании NFS Provisioner может возникнуть “утечка памяти”, что приведет к OOM (Out of Memory) и падению подов в кластере. Во избежании потери работоспособности в кластере воспользуйтесь одним из способов:
Способ 1
- При инсталляции Модуля NFS оператора в customvalues используйте третий сервер (nfsvers=3). Подробнее о конфигурации модуля в разделах для кластера управления и клиентского кластера.
Способ 2
- Обновите версию Astra Linux до 1.7.7. Инструкция по обновлению представлена на странице документации Astra Linux.
После обновления версии ОС, в провайдерах инфраструктуры (VMware vSphere, oVirt , OpenStack , Basis Dynamix , Yandex Cloud, vCloud Director) кластеров потребуется заменить шаблоны ВМ со старыми версиями.
- После перезагрузки узла на ОС Debian может возникнуть ситуация, когда PVC не монтируется. Добавьте дополнительную функцию
nolockвmountOptions, которая отключает блокировку файлов. При этом потребуется отредактировать ранее созданные PV, вручную добавивnolockвmountOptions.
Пример ошибки
Output: mount.nfs: rpc.statd is not running but is required for remote locking.
mount.nfs: Either use '-o nolock' to keep locks local, or start statd
Установка в кластер
Модуль не является критически важным для работы платформы “Штурвал”. По умолчанию модуль устанавливается в кластер управления отключенным, в клиентские кластеры не устанавливается.
Кластер управления
Чтобы включить модуль в развернутом кластере управления, перейдите на страницу Установленные сервисы раздела Сервисы и репозитории в графическом интерфейсе. Найдите Модуль 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).