Документация Accelera

Настройка сервера для RWX томов

Создание сервера

В примере показана Ubuntu 24.04

  1. Создайте сервер, с которого будут шариться тома(volume)

  2. Установите NFS-server

sudo apt update
sudo apt install -y nfs-kernel-server
  1. Создайте экспортируемую папку
sudo mkdir -p /srv/nfs/k8s
sudo chmod 777 /srv/nfs/k8s
  1. Добавьте строку в файл /etc/exports строку
/srv/nfs/k8s *(rw,sync,no_subtree_check,no_root_squash)

* = разрешаем доступ всем (можно ограничить IP-адресами позже)

  1. Применить настройки
sudo exportfs -rav
sudo systemctl restart nfs-server

Развертывание StorageClass в k8s кластер

  1. Добавление чарта provisoner
helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
helm repo update
  1. Установка provisoner
helm install nfs-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
  --set nfs.server=<ip-nfs-server> \ #Сюда добавьте ip адрес nfs-сервера
  --set nfs.path=/srv/nfs/k8s \
  --set storageClass.name=nfs-rwx \
  --set storageClass.defaultClass=false

Параметры:

  • nfs.server — IP твоей внешней ВМ
  • nfs.path — путь, где хранятся подкаталоги
  • storageClass.name — имя, которое ты будешь использовать в чартах

Теперь можно использовать StorageClass в своих развертываниях

Например:

persistence:
  enabled: true
  size: 1Gi
  storageClassName: nfs-rwx
  accessModes:
    - ReadWriteMany
  mountPath: /usr/share/uploads

На этой странице