Агрегатор. Распределенная установка
Распределенная установка «Агрегатора»
Основные принципы распределенной установки
В Termidesk предусмотрена распределенная установка компонентов на отдельные серверы или ВМ.
Описание применимо к ферме «Агрегатора».
Установка компонентов Termidesk выполняется в среде функционирования ОС Astra Linux Special Edition.
В распределенном варианте устанавливаются:
- «Агрегатор» (служба
termidesk-vdi
); - «Шлюз» (при необходимости, служба
termidesk-gateway
); - «Менеджер рабочих мест» (службы
termidesk-celery-beat
,termidesk-celery-worker
).
Перечень условий для распределенной установки:
- брокер сообщений RabbitMQ устанавливается на одном узле с СУБД (в общем случае этот компонент может устанавливаться на отдельный узел, но в рамках настоящей процедуры данный вариант не рассматривается);
При использовании внешней по отношению к Termidesk СУБД, следует установить брокер сообщений RabbitMQ на узел «Менеджера рабочих мест» или на отдельный узел.
- на всех узлах, предназначенных для установки компонентов, настроены статические IP-адреса;
- на всех узлах настроена синхронизация времени от единого источника.
Упрощенная общая схема при распределенной установке Termidesk приведена на рисунке.
Перечень обозначенных на схеме компонентов приведен в таблице.
Компонент | FQDN | Подпись на схеме |
---|---|---|
«Агрегатор» №1 с ролью «Агрегатор универсальный» | aggr1termidesk.local | «Агрегатор 1» |
«Агрегатор» №2 с ролью «Агрегатор универсальный» | aggr2.termidesk.local | «Агрегатор 2» |
«Шлюз» №1 | gw1.termidesk.local | «Шлюз 1» |
«Шлюз» №2 | gw2.termidesk.local | «Шлюз 2» |
«Менеджер рабочих мест» №1 | tsk1.termidesk.local | «Менеджер рабочих мест 1» |
«Менеджер рабочих мест» №2 | tsk2.termidesk.local | «Менеджер рабочих мест 2» |
Балансировщик нагрузки (nginx ) | nginx.termidesk.local | «Балансировщик» |
База данных c брокером сообщений RabbitMQ | db.termidesk.local | «Сервер СУБД и RabbitMQ» |
Распределенная установка проводится в следующей последовательности:
1) на одном узле устанавливаются СУБД и RabbitMQ. При установке следует учесть, что в БД должны отсутствовать записи (необходимо использовать чистую БД);
2) устанавливается первый (эталонный) узел с «Агрегатором». При установке необходимо выбрать роль «Агрегатор универсальный». Роль активируется при одновременном выборе ролей «Агрегатор администратора» и «Агрегатор пользователя» в диалоговом окне псевдографического интерфейса инсталлятора;
Настройки первого узла с «Агрегатором» будут использоваться как эталонные для других узлов.
Параметры конфигурации находятся в файле /etc/opt/termidesk-vdi/termidesk.conf
.
Нужно скопировать каталог /etc/opt/termidesk-vdi
вместе с его содержимым на другие узлы «Агрегатора» и «Менеджера рабочих мест».
3) устанавливаются остальные «Агрегаторы» с копированием файлов, указанных в п.2, с эталонного узла;
4) устанавливаются «Шлюзы», настраивается защищенное подключение к «Шлюзу», каталог /etc/termidesk/
копируется с первого узла «Шлюза» на другие узлы с этим компонентом;
5) устанавливаются «Менеджеры рабочих мест» с копированием файлов, указанных в п.2, с эталонного узла.
Заключительным этапом устанавливаются и настраиваются балансировщики нагрузки на базе ОС Astra Linux Special Edition и nginx
.
Установка и настройка СУБД PostgreSQL
Процесс установки брокера сообщений RabbitMQ не отличается от процесса, описанного в разделе Подготовка среды функционирования. Установка и настройка СУБД PostgreSQL осуществляется согласно выбранной версии.
Для завершения настройки нужно:
- отредактировать файл
/etc/rabbitmq
/rabbitmq-env.conf
, приведя его к виду:
- сохранить файл и перезапустить службу
rabbitmq-server
:
Установка первого узла с «Агрегатором»
Процесс установки первого узла с «Агрегатором» аналогичен комплексной установке, за исключением выбора только ролей «Агрегатор администратора» и «Агрегатор пользователя».
После установки передать каталог /etc/opt/termidesk-vdi
на остальные узлы «Агрегатора» и «Менеджера рабочих мест»:
где:
-r
- ключ для рекурсивной (со вложенными каталогами) передачи;
localuser
- имя пользователя целевого узла;
ipaddr_or_fqdn_host
- IP-адрес или FQDN целевого узла;
/home/user
- путь, куда будет скопирован каталог.
Перед началом установки остальных узлов «Универсальных диспетчеров» необходимо переместить скопированный ранее каталог termidesk-vdi
в каталог /etc/opt/
:
Установить второй узел с «Агрегатором» по аналогии с первым, не меняя параметры в диалогах подключения к СУБД и заполнения информации о подключении к RabbitMQ.
Для установки «Шлюза» следует обратиться к подразделу Установка Шлюза документа СЛЕТ.10001-01 90 05 «Руководство администратора. Настройка компонента «Шлюз».
После завершения установки нужно:
- настроить защищенное подключение к «Шлюзу» согласно подразделу Настройка защищенного подключения к Шлюзу документа СЛЕТ.10001-01 90 05 «Руководство администратора. Настройка компонента «Шлюз»;
- привести файл
/etc/termidesk/gateway.yaml
к виду согласно подразделу Параметры конфигурирования компонента документа СЛЕТ.10001-01 90 05 «Руководство администратора. Настройка компонента «Шлюз». Задать актуальные значения IP-адресов (или FQDN) параметрам:url: ${urlCheckToken}
- для обслуживания API-запросов по валидации подключений, запрашиваемых «Универсальным диспетчером» через «Шлюз»;url: ${coordinatorUrl}
- для подключения к RabbitMQ;
- сохранить файл, а затем перезапустить службу:
После настройки нужно передать каталог /etc/termidesk/
с первого узла «Шлюза» на другие узлы с этим компонентом:
где:
-r
- ключ для рекурсивной (со вложенными каталогами) передачи;
localuser
- имя пользователя целевого узла;
ipaddr_or_fqdn_host
- IP-адрес или FQDN целевого узла;
/home/user
- путь, куда будет скопирован каталог.
Перед началом установки остальных узлов «Шлюзов» необходимо:
- переместить скопированный ранее каталог
termidesk
в каталог/etc/
:
- назначить права по использованию ключа и сертификата пользователю
termidesk-gateway
:
- предоставить права на чтение ключа и сертификата:
- перезапустить службу:
Установка второго узла «Шлюза» выполняется по аналогии с первым.
Установка «Менеджеров рабочих мест»
Установка «Менеджеров рабочих мест» производится на два узла, работающих в режиме network failover
.
Установка компонента на первый узел проводится в следующей последовательности:
- перемещается скопированный ранее каталог
termidesk-vdi
в каталог/etc/opt/
:
- редактируется файл
/etc/opt/termidesk-vdi/termidesk.conf
, параметруNODE_ROLES
присваивается значениеCELERYMAN
; - устанавливается пакет
termidesk-vdi
:
где:
-y
- ключ для пропуска подтверждения установки.
В результате установки пакета termidesk-vdi
на узле будут запущены службы termidesk-celery-beat
, termidesk-celery-worker
.
Установка второго узла с «Менеджером рабочих мест» выполняется по аналогии с первым.
Установка балансировщиков
Балансировщики нагрузки необходимы для балансировки клиентских подключений к «Агрегаторам» и «Шлюзам», равномерного распределения нагрузки на них. Средой функционирования для балансировщиков нагрузки является ОС Astra Linux Special Edition.
Балансировщик nginx устанавливается командой:
где:
-y
- ключ для пропуска подтверждения установки.
Действия после распределенной установки
Настройка балансировщика нагрузки приведена в подразделе Настройка балансировщика для работы с самоподписанными сертификатами документа СЛЕТ.10001-01 90 02 «Руководство администратора. Настройка программного комплекса».
После установки нужно задать ключ для подписи JWT-токена для взаимодействия с узлами фермы Termidesk. Ключ может быть задан через файл /etc/opt/termidesk-vdi/termidesk.conf
(параметр AGGREGATOR_JWT_SSL_KEY
) или через утилиту termidesk-config
.
После установки параметры «Агрегатора» могут быть изменены через файл /etc/opt/termidesk-vdi/termidesk.conf
(см. подраздел Параметры конфигурирования «Агрегатора») или через утилиту termidesk-config
(см. подраздел Утилита termidesk-config).