Модуль 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).