Установка и настройка хранилища Longhorn

При установке продукта «Форсайт. Мобильная платформа» создаётся несколько контейнеров с данными постоянного хранения (StatefulSets), которые требуют достаточно много места на диске, а также обеспечения резервирования томов. По умолчанию в состав Kubernetes не входит класс хранилища (StorageClass), для этого используется класс хранилища Longhorn.

Для установки и настройки хранилища Longhorn выполните действия на первом главном узле:

  1. Создайте файл longhorn-values.yaml с содержимым:

defaultSettings:
 defaultDataPath: /mnt/longhorn/data
ingress:
 enabled: true
 host: <хост>

В подстановке <хост> укажите IP-адрес или DNS-имя, по которому доступен Longhorn, например: longhorn.k8s.internal.

В параметре defaultDataPath указывается путь до папки монтирования тома, которая была создана в шаге 5 при формировании раздела LVM. Если раздел не создавался, то удалите данный параметр.

  1. Создайте пространство имён longhorn-system:

kubectl create ns longhorn-system

  1. Раздайте пространству имён longhorn-system максимальные привилегии для подов:

kubectl label ns longhorn-system security.kubernetes.io/pod-policy=privileged

  1. Установите репозиторий Longhorn:

helm repo add longhorn https://charts.longhorn.io
helm repo update

  1. Установите хранилище Longhorn:

helm install longhorn longhorn/longhorn --namespace longhorn-system --set defaultSettings.defaultDataPath="/mnt/longhorn/data"

В параметре defaultDataPath указывается путь до папки монтирования тома, которая была создана в шаге 5 при формировании раздела LVM. Если раздел не создавался, то выполните команду без дополнительных параметров:

helm install longhorn longhorn/longhorn --namespace longhorn-system

  1. Примените настройки, заданные в файле longhorn-values.yaml:

helm upgrade longhorn longhorn/longhorn --namespace longhorn-system --values ~/longhorn/longhorn-values.yaml --version `helm list -n longhorn-system -o json | jq -r .'[0].app_version'`

  1. Убедитесь, что хост Longhorn соответствует IP-адресам, указанным при установке компонента metallb.

  2. Откройте Longhorn в браузере по хосту, заданному в параметре host в файле longhorn-values.yaml. После чего перейдите на вкладку «Nodes» и убедитесь, что указана директория для хранения, заданная в параметре defaultDataPath.

Примечание. Если в файле longhorn-values.yaml не используется параметр defaultDataPath, то пропустите данный шаг.

  1. Установите хранилище Longhorn по умолчанию:

kubectl annotate sc longhorn storageclass.kubernetes.io/is-default-class='true'

После выполнения действий на главном узле будет установлено и настроено хранилище Longhorn.

Далее перейдите к установке дополнительных компонентов для кластера Kubernetes.

См. также:

Подготовка и развёртывание отказоустойчивого кластера на основе Kubernetes | Установка дополнительных компонентов для кластера Kubernetes