Установка с помощью инсталлятора

Описание

Установка системы производится на серверы с ОС Linux.
Первый сервер в рамках установки становится мастером, все последующие серверы подцепляются к нему.
После установки на мастер сервер создается комплексная распределенная конфигурация, включающая все выделенные под установку серверы.
Система на каждом из серверов разворачивается в docker-контейнере без внешней оркестрации.
Начальная установка требует подключения к СУБД, и предлагает установить экземпляр(ы) PostgreSQL на этих же серверах.
В частном случае система устанавливается на одном сервере (он же мастер), и в этом случае с помощью инсталлятора СУБД также может быть развернута в отдельном docker-контейнере.
В случае установки системы на нескольких серверах предполагается необходимость резервирования сервера БД, для этой цели разворачиваются два (или более) экземпляров на нескольких серверах, причем только первый инстанс СУБД разворачивается в режиме мастера, а последующие в режиме потоковой репликации мастера.

Варианты

Варианты дистрибутивов операционных систем:

  • Linux Debian 10

  • Linux Debian 11

  • Linux Ubuntu Server 20

  • Astra Linux

  • RedOS

Варианты по количеству серверов:

  • Установка на один или несколько серверов.

Варианты по наличию подключения к интернет на серверах:

  • На сервере с доступом к сети интернет необходимые пакеты скачиваются и устанавливаются автоматически.

  • На сервере без доступа к сети интернет требуется проведение предварительной операции установки пакетов.

Варианты по используемым серверам БД PostgreSQL:

  • Установка системы с использованием существующих серверов БД PostgreSQL (версии 12+).

  • Установка вместе с PostgreSQL

    • Один экземпляр на одном из имеющихся серверов в docker-контейнере или в хосте.

    • Несколько экземпляров на имеющихся серверах с потоковой репликацией, контроллером репликаций (автоматическое переключение recovery в master и обратно).

  • Установка с подключением к внешним серверам БД PostgreSQL.

Варианты по файловым хранилищам:

  • NFS на внешнем носителе.

  • VRRP-хранилище (хранилище поверх Virtual Router Redundancy Protocol).

  • S3-хранилище (настраивается индивидуально для каждого домена).

  • Локальное размещение на тех же серверах (возможно в mount-разделах).

  • Локальное размещение на тех же серверах с синхронизацией.

Общий план установки и начальной настройки

1. Подготовка

1.1) Определиться с местом расположения СУБД - внешняя установка, или на этих же серверах, на каких именно серверах, в контейнере или в хосте.
1.2) Определиться с названием мастер-домена.
1.3) Определиться с местом расположения хранилищ (БД, хранилище логов, хранилище записей, рабочие каталоги микросервисов и NFS каталоги).
1.4) Определить локальные адреса серверов, через которые они будут связаны.
1.5) Выбрать пароли для учетных записей PostgreSQL: postgres, erapgadmin, era_replica.
1.6) Выбрать пароли для учетных записей администраторов системы.
1.7) Выбрать уникальное значение cookie для связи между серверами.
1.8) Провести начальную подготовку серверов (настроить ОС), убедиться что серверы доступны по ssh.

2. Установка платформы (инфраструктурный и коммуникационный слой)

2.1) Подготовить инсталлятор (era_installer).
2.1.1) Установка на сервер без доступа к сети интернет требует предварительную установку пакетов.
2.1.2) Установка на сервер с доступом к интернет может производиться с удаленной машины, если доступный адрес сервера совпадает с его локальным адресом для установки системы. В противном случае необходимо разместить инсталлятор на сервере и производить установку через ssh-подключение.
2.2) Установить систему на мастер-сервер с помощью sh-инсталлятора (мастер сервер - категория имеющая отношение только к установке).
2.3) Создать и активировать конфигурацию.
2.4) Установить систему на прочие серверы, входящие в кластер, с помощью sh-инсталлятора.

При возникновении сбоя в установке, процесс необходимо начать заново.
Этому должна предшествовать очистка хвостов. Для этого можно использовать скрипт "uninstall_ssh.sh" удаленно или "uninstall.sh" локально, позволяющий детально указывать на расположение артефактов удаляемого инстанса. Если ваша установка проводилась в каталоги по умолчанию, то можно использовать скрипт "remove.sh" из каталога инсталлера "/tmp/era/scripts".
Установка может производиться одной командой с передачей всех параметров. Тогда в ходе установки достаточно будет лишь несколько раз ввести пароли по запросу.
Список параметров доступен командой bash install_ssh.sh --help.
Дополнительным бонусом является сохранение командной строки запуска для повторного использования.

3. Начальная настройка мастер-домена

3.1) Открыть в браузере приложении "Настройки".
3.2) При необходимости скорректировать конфигурацию и активировать новую.
3.3) Загрузить лицензию, зарезервировать количественные показатели.
3.4) Изменить пароль администратора, добавить пользователей при необходимости.
3.5) Создать домен первого уровня и передать в него количественные лицензии.
3.6) Настроить черный/белый список IP-адресов для SBC-фильтра.
3.7) Загрузить сертификат SSL или настроить систему на его автоматическую выписку с помощью ACME LetsEncrypt.
3.8) Убедиться, что система не выдает предупреждений.

4. Настройка рабочего домена

4.1) Переключиться в рабочий домен или авторизоваться под учетной записью администратора в рабочем домене и открыть веб-приложение "Настройки". Выбрать расширенный режим.
4.2) Зарезервировать для использования часть количественных лицензий, переданных из родительского домена.

5. Установка продуктового слоя платформы (информационный и процессинговый слой)

5.1) В приложении "Настройки" рабочего домена
5.1.1) создать канал интеграции (задать роль admin, пользователя Administrator, доступ к API *), сохранить сгенерированный токен;
5.1.2) добавить к учетным записям пользователей администраторов роли builder_admin, callcenter_admin, callcenter_supervisor.
5.2) Подготовить инсталлятор (era_product.zip), распаковать, запустить скрипт установки, передав ему параметры установленной системы, дождаться его завершения.
5.3) Убедиться, что в меню приложений появились новые приложения, микросервисы активны.
5.4) Проверить функциональность телефонии и отображение данных в дашбордах.

6. Начальная настройка телефонии

6.1) В рабочем домене импортировать настройки или создать минимально необходимые сущности:
6.1.1) учетные записи пользователей,
6.1.2) учетные записи провайдеров,
6.1.3) правила маршрутизации,
6.1.4) правила нормализации внешних номеров,
6.1.5) сценарии ivr,
6.1.6) сервисные коды,
6.1.7) правила записи.
6.2) Протестировать звонки: между пользователями, на сценарий IVR, на внешний номер.