Общая информация
Установка системы производится на серверы с ОС Linux.
Первый сервер в рамках установки становится мастером, все последующие серверы подцепляются к нему.
После установки на мастер сервер создается комплексная распределенная конфигурация, включающая все выделенные под установку серверы.
Система на каждом из серверов разворачивается в docker-контейнере без внешней оркестрации.
Начальная установка требует подключения к СУБД, и предлагает установить экземпляр(ы) PostgreSQL на этих же серверах.
В частном случае система устанавливается на одном сервере (он же мастер), и в этом случае с помощью инсталлятора СУБД также может быть развернута в отдельном docker-контейнере.
В случае установки системы на нескольких серверах предполагается необходимость резервирования сервера БД, для этой цели разворачиваются два (или более) экземпляров на нескольких серверах, причем только первый инстанс СУБД разворачивается в режиме мастера, а последующие в режиме потоковой репликации мастера.
Требования к серверам
Минимальные требования к оборудованию:
- Для ненагруженной тестовой системы: 4 cores 2.4 GHz, 8 GB RAM, 50 GB SSD/HDD.
- Для 1-2-серверной рабочей системы: 8+ cores, 32+ GB RAM, 250+ GB SSD (+RAID). При размещении файлового хранилища и БД на сервере 1 TB или болееSSD/HDD + RAID.
- Для многосерверной инсталляции минимальные параметры серверов могут сильно варьироваться в зависимости от конфигурации и распределения микросервисов.
Поддерживаемые ОС:
- Debian (рекомендованная)
- Ubuntu
- Astra Linux
- RedOS
Требования к среде:
- Статический IPv4 адрес
- systemd, ssh-server
- Необходимые пакеты: sudo, apt-get, rsync, wget, curl
- Опциональные пакеты: net-tools, docker (docker-ce, docker-ce-cli, containerd.io), postgresql-12 (12,13,14,15)
- Пакеты для отладки: htop, tshark, iotop, iostat, sysstat, members,
- Вхождение текущего пользователя, под которым будет инииироваться установка платформы, в sudoers
- Обновление из стандартных репозиториев. Добавьте их в sources.list при необходимости
- Локаль ru-RU.UTF-8 - используется инсталлером платформы при настройке сервера БД PostgreSQL
- Диски для хранилищ должны быть размечены и примонтированы, рекомендуется папка "/mnt/…"
- Каталог для размещения данных БД должен быть разрешен на чтение и запись для группы, в которую в ходе установки БД будет добавлен пользователь postgres. Имя группы произвольно, например "storage"
Для нагруженных сред крайне рекомендуется использовать отдельный сервер для СУБД PostgreSQL, который будет отдельно обслуживаться. Установка с PostgreSQL в рамках docker-контейнера на том же сервере, подразумевает использование экземпляра платформы, в основном, для разработки и тестирования.
Установка платформы должна производиться строго на постоянный локальный адрес (подсети 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16).
Допускается наличие и других адресов и интерфейсов, в том числе vlan, vpn, внешних.
Адреса сервера, используемые в рамках телефонии, рекомендуется настраивать преимущественно статические, поскольку изменение адреса потребует вносить изменение в конфигурацию платформы для обеспечения возможности обслуживать вызовы в этом направлении.
DNS серверы должны позволять серверу адресовать разрешенные правилами сетевого контура DNS-имена, планируемые к использованию. Если сервер имеет выход в интернет, то публичные DNS-имена.
Шлюзы и маршруты должны позволять серверу корректно доставлять пакеты во всех необходимых направлениях.
Пример подготовки сервера к установке описан в сооответствующей статье.