При установке продукта «Форсайт. Мобильная платформа» создаётся несколько контейнеров с данными постоянного хранения (StatefulSets), которые требуют достаточно много места на диске, а также обеспечения резервирования томов. По умолчанию в состав Kubernetes не входит класс хранилища (StorageClass), для этого используется класс хранилища Longhorn.
Для установки и настройки хранилища Longhorn выполните действия на первом главном узле:
Создайте файл longhorn-values.yaml с содержимым:
defaultSettings:
defaultDataPath: /mnt/longhorn/data
ingress:
enabled: true
host: <хост>
В подстановке <хост> укажите IP-адрес или DNS-имя, по которому доступен Longhorn, например: longhorn.k8s.internal.
В параметре defaultDataPath указывается путь до папки монтирования тома, которая была создана в шаге 5 при формировании раздела LVM. Если раздел не создавался, то удалите данный параметр.
Создайте пространство имён longhorn-system:
kubectl create ns longhorn-system
Раздайте пространству имён longhorn-system максимальные привилегии для подов:
kubectl label ns longhorn-system security.kubernetes.io/pod-policy=privileged
Установите репозиторий Longhorn:
helm repo add longhorn https://charts.longhorn.io
helm repo update
Установите хранилище 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
Примените настройки, заданные в файле 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'`
Убедитесь, что хост Longhorn соответствует IP-адресам, указанным при установке компонента metallb.
Откройте Longhorn в браузере по хосту, заданному в параметре host в файле longhorn-values.yaml. После чего перейдите на вкладку «Nodes» и убедитесь, что указана директория для хранения, заданная в параметре defaultDataPath.
Примечание. Если в файле longhorn-values.yaml не используется параметр defaultDataPath, то пропустите данный шаг.
Установите хранилище Longhorn по умолчанию:
kubectl annotate sc longhorn storageclass.kubernetes.io/is-default-class='true'
После выполнения действий на главном узле будет установлено и настроено хранилище Longhorn.
Далее перейдите к установке дополнительных компонентов для кластера Kubernetes.
См. также:
Подготовка и развёртывание отказоустойчивого кластера на основе Kubernetes | Установка дополнительных компонентов для кластера Kubernetes