Подготовка окружения#

Выбор способа установки#

Установка DropApp возможна только с помощью предварительно настроенных ansible-ролей.

Примечание

В сценарии используется система управления конфигурациями Ansible. Данный инструмент не входит в состав продукта и требует дополнительной установки, при необходимости запросите у системного администратора.

Примечание

Сценарии предварительных условий и установки одинаковы для операционных систем Platform V SberLinux OS Server и ОС Альт 8 СП.

Предварительные условия#

Общая схема развертывания представлена на диаграмме:

Общая схема развертывания

Подготовка окружения#

DropApp настраивается администратором на виртуальной машине с предустановленной ОС (подробнее в разделе «Системные требования» документа «Описание»).

Планирование пула IP-адресов#

DropApp использует балансировщик Metallb для развертывания приложений.

Для использования Metallb необходимо зарезервировать диапазон IP-адресов.

Например, 10 адресов из той же подсети, в которой развернуты серверы для установки DropApp.

DNS#

В DNS должны быть зарегистрированы записи для приложений. Пример указан в таблице ниже.

Приложения и их IP-адреса#

Приложение

Пример записи

IP-адрес

Console

console.domain.ru

Первый из пула адресов Metallb

Harbor

harbor.domain.ru

Первый из пула адресов Metallb

Dex

dex.domain.ru

Первый из пула адресов Metallb

Grafana

grafana.domain.ru

Первый из пула адресов Metallb

Имена должны разрешаться c nodes кластера.

LDAP-каталог или IPA-сервер#

DropApp использует сертифицированный LDAP-каталог пользователей и групп. Например IPA-сервер из дистрибутива Platform V SberLinux OS Server.

В IPA-сервере должны быть настроены группы, согласно ролевой модели.

Стартовый реестр образов#

Для установки DropApp необходим реестр образов контейнеров. Загрузите в него образы из поставки DropApp.

Пример команды для загрузки образа из архива:

podman load --input curl.tar.gz
podman tag <sha-identifier> <registry_image>/dropapp/curl:8.5.0
podman push <registry_image>/dropapp/curl:8.5.0

Где:

  • <sha-identifier> - SHA-идентификатор;

  • <registry_image> - реестр образов.

Предварительные условия для установки DropApp:

  • RPM-репозиторий получен пользователем;

  • выбранные пользователем RPM-пакеты из полученного репозитория загружены в репозиторий пользователя.

Примечание

RPM-репозиторий поставляется в составе дистрибутива отдельным архивом. Пример названия - fstec-rpms-1.4.2-23-distrib.zip.

Настройки node кластера#

Включение IPv6#

Чтобы включить IPv6 из GRUB, необходимо либо поставить ipv6.disable=0, либо удалить ipv6.disable из строки GRUB_CMDLINE_LINUX в конфигурационном файле /etc/default/grub.cfg, как показано ниже:

[root@localhost ~]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9001
inet <0.0.0.0> netmask <0.0.0.0> broadcast <0.0.0.0>
ether 06:23:b3:d6:e9:76 txqueuelen 1000 (Ethernet)
RX packets 1536 bytes 164873 (161.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2715 bytes 269086 (262.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Примечание

В приведенном примере используется роль пользователя с административными полномочиями (например, root) для запуска команд. Возможно использовать роль любого пользователя с sudo доступом для запуска команды.

Отключение использования swap#

Отключите использование swap на каждой виртуальной машине, для этого введите команду:

sudo swapoff -a

Переадресация IPv4#

Настройте переадресацию IPv4 и разрешение на просмотр трафика:

cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF

sudo modprobe overlay
sudo modprobe br_netfilter

# параметры sysctl, требуемые при установке (сохраняются при перезагрузке)
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables  = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward                 = 1
EOF

# Применить параметры sysctl без перезагрузки
sudo sysctl --system

Загрузка модулей br_netfilter и overlay#

Убедитесь, что модули br_netfilter и overlay загружены, выполнив следующие команды:

lsmod | grep br_netfilter
lsmod | grep overlay

Проверка системных переменных#

Убедитесь, что для системных переменных net.bridge.bridge-nf-call-iptables, net.bridge.bridge-nf-call-ip6tables, net.ipv4.ip_forward в конфигурации установлено значение 1 sysctl, выполнив следующую команду:

sysctl net.bridge.bridge-nf-call-iptables net.bridge.bridge-nf-call-ip6tables net.ipv4.ip_forward