Стандартная распределенная установка

Основные принципы стандартной распределенной установки

В Termidesk предусмотрена распределенная установка компонентов на отдельные серверы или ВМ.

Описание применимо к ферме Termidesk.

Установка компонентов Termidesk выполняется в среде функционирования ОС Astra Linux Special Edition.

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

  • «Универсальный диспетчер» (служба termidesk-vdi);
  • «Менеджер рабочих мест» (службы termidesk-celery-beat, termidesk-celery-worker).

Перечень условий для распределенной установки:

  • брокер сообщений RabbitMQ устанавливается на одном узле с СУБД (в общем случае этот компонент может устанавливаться на отдельный узел, но в рамках настоящей процедуры данный вариант не рассматривается);

Реализация отказоустойчивости инфраструктурных сервисов выполняется организацией в соответствии с требованиями к инфраструктуре.

При использовании внешней по отношению к Termidesk СУБД, следует установить брокер сообщений RabbitMQ на узел «Менеджера рабочих мест» или на отдельный узел.

  • на всех узлах, предназначенных для установки компонентов, настроены статические IP-адреса;
  • на всех узлах настроена синхронизация времени от единого источника.

Упрощенная общая схема при стандартной распределенной установке Termidesk приведена на рисунке.

Схема стандартной распределенной установки при наличии лицензии Termidesk Connect приведена на рисунке.

Схема распределенной установки

Схема стандартной распределенной установки

Стандартная распределенная установка (лицензия Termidesk Connect)

Схема стандартной распределенной установки при наличии лицензии Termidesk Connect

Перечень обозначенных на схемах компонентов приведен в таблице.

Перечень компонентов

КомпонентFQDNПодпись на схеме
«Универсальный диспетчер» №1 с ролью «Портал универсальный» disp1.termidesk.local «Универсальный диспетчер 1»
«Универсальный диспетчер» №2 с ролью «Портал универсальный» disp2.termidesk.local «Универсальный диспетчер 2»
Termidesk Connect (лицензия «Шлюз») №1tdc-gw1.termidesk.local «Termidesk Connect (Шлюз) 1»
Termidesk Connect (лицензия «Шлюз») №2 tdc-gw2.termidesk.local «Termidesk Connect (Шлюз) 2»
«Менеджер рабочих мест» №1 tsk1.termidesk.local
«Менеджер рабочих мест 1»
«Менеджер рабочих мест» №2 tsk2.termidesk.local
«Менеджер рабочих мест 2»
Termidesk Connect №1 tdc-lb1.termidesk.local «Termidesk Connect 1»
Termidesk Connect №2tdc-lb2.termidesk.local«Termidesk Connect 2»
База данных c брокером сообщений RabbitMQ db.termidesk.local «Сервер СУБД и RabbitMQ»

Стандартная распределенная установка проводится в следующей последовательности:

1) на одном узле устанавливаются СУБД и RabbitMQ. При установке следует учесть, что в БД должны отсутствовать записи (необходимо использовать чистую БД);

2) устанавливается первый (эталонный) узел с «Универсальным диспетчером». При установке необходимо выбрать роль «Портал универсальный». Роль активируется при одновременном выборе ролей «Портал администратора» и «Портал пользователя» в диалоговом окне псевдографического интерфейса инсталлятора;

Настройки первого узла с «Универсальным диспетчером» Termidesk будут использоваться как эталонные для узлов других «Универсальных диспетчеров» и «Менеджеров рабочих мест».

Нужно скопировать каталог /etc/opt/termidesk-vdi вместе с его содержимым на узлы других «Универсальных диспетчеров» и «Менеджеров рабочих мест». Этот каталог содержит ключи для синхронизации параметров между узлами, а также параметры конфигурации узла (файл /etc/opt/termidesk-vdi/termidesk.conf).

3) устанавливаются остальные «Универсальные диспетчеры» с копированием файлов, указанных в п.2, с эталонного узла;

4) устанавливаются и настраиваются «Шлюзы»;

5) устанавливаются «Менеджеры рабочих мест» с копированием файлов, указанных в п.2, с эталонного узла.

Заключительным этапом устанавливаются и настраиваются «Балансировщики нагрузки».

Установка, настройка СУБД PostgreSQL и RabbitMQ

Процесс установки брокера сообщений RabbitMQ и СУБД PostgreSQL не отличается от процесса, описанного в разделе Подготовка среды функционирования.

Установка и настройка СУБД PostgreSQL осуществляется согласно выбранной версии.

Для завершения настройки нужно:

  • отредактировать файл /etc/rabbitmq/rabbitmq-env.conf, приведя его к виду:
# Defaults to rabbit. This can be useful if you want to run more than one node
# per machine - RABBITMQ_NODENAME should be unique per erlang-node-and-machine
# combination. See the clustering on a single machine guide for details:
# http://www.rabbitmq.com/clustering.html#single-machine
#NODENAME=rabbit

# By default RabbitMQ will bind to all interfaces, on IPv4 and IPv6 if
# available. Set this if you only want to bind to one network interface or#
# address family.
NODE_IP_ADDRESS=0.0.0.0
# Defaults to 5672.
NODE_PORT=5672
BASH
  • сохранить файл и перезапустить службу rabbitmq-server:
sudo systemctl restart rabbitmq-server
BASH

Установка первого узла с «Универсальным диспетчером»

Процесс установки первого узла с «Универсальным диспетчером» аналогичен комплексной установке Termidesk, за исключением выбора только ролей «Портал администратора» и «Портал пользователя».

После установки передать каталог /etc/opt/termidesk-vdi на остальные узлы «Универсальных диспетчеров» и «Менеджеров рабочих мест»:

sudo scp -r /etc/opt/termidesk-vdi localuser@ipaddr_or_fqdn_host:/home/user/
BASH

где:

-r - ключ для рекурсивной (со вложенными каталогами) передачи;

localuser - имя пользователя целевого узла;

ipaddr_or_fqdn_host - IP-адрес или FQDN целевого узла;

/home/user - путь, куда будет скопирован каталог.

Перед началом установки остальных узлов «Универсальных диспетчеров» необходимо переместить скопированный ранее каталог termidesk-vdi в каталог /etc/opt/:

sudo mv /home/user/termidesk-vdi /etc/opt/
BASH

Установить второй узел с «Универсальным диспетчером» по аналогии с первым, не меняя параметры в диалогах подключения к СУБД и заполнения информации о подключении к RabbitMQ.

Установка «Шлюзов»

Начиная с Termidesk версии 6.1 функционал «Шлюза» реализуется через продукт Termidesk Connect. Подробные сведения приведены в справочном центре Termidesk Connect (доступ по ссылке: https://wiki.astralinux.ru/connect-help/latest).

Установка «Менеджеров рабочих мест»

Установка «Менеджеров рабочих мест» производится на два узла, работающих в режиме отказоустойчивой конфигурации, при которой оба узла активно обрабатывают трафик (конфигурация «Active - Active»), а отказ одного из них не нарушает работоспособность фермы Termidesk.

Установка компонента на первый узел проводится в следующей последовательности:

  • перемещается скопированный ранее каталог termidesk-vdi в каталог /etc/opt/:
sudo mv /home/user/termidesk-vdi /etc/opt/
BASH
  • создается файл /etc/default/termidesk-vdi.local:
sudo touch /etc/default/termidesk-vdi.local
BASH
  • в созданном файле указываются каталоги расположения конфигурационного файла и шаблонов настройки регистрации событий и журналирования:
ETC='/etc/opt/termidesk-vdi'

TEMPLATES_DIR='/etc/opt/termidesk-vdi/templates'
BASH
  • редактируется файл /etc/opt/termidesk-vdi/termidesk.conf, параметру NODE_ROLES присваивается значение «CELERYMAN»;
  • устанавливается пакет termidesk-vdi:
sudo apt -y install termidesk-vdi
BASH

где:

-y  - ключ для пропуска подтверждения установки.

В результате установки пакета termidesk-vdi на узле будут запущены службы termidesk-celery-beat, termidesk-celery-worker.

Установка второго узла с «Менеджером рабочих мест» выполняется по аналогии с первым.

Установка «Балансировщиков нагрузки»

Подробные сведения по установке «Балансировщика нагрузки» приведены в справочном центре Termidesk Connect (доступ по ссылке: https://wiki.astralinux.ru/connect-help/latest).

При отсутствии полной лицензии на Termidesk Connect допускается использование сторонних балансировщиков нагрузки.

Действия после стандартной распределенной установки

Настройка «Балансировщика нагрузки» приведена в справочном центре Termidesk Connect (доступ по ссылке: https://wiki.astralinux.ru/connect-help/latest).

Если в инфраструктуре Termidesk будет использоваться портал «Агрегатор» («Агрегатор администратора» и/или «Агрегатор пользователя»), нужно обязательно задать на узле компонента «Универсальный диспетчер» («Портал пользователя» или «Портал универсальный») сертификат для расшифровки JWT-токена. Сертификат может быть задан через файл /etc/opt/termidesk-vdi/termidesk.conf (параметры AGGREGATOR_JWT_SSL_CERT и AGGREGATOR_JWT_SSL_CERT_SECOND) или через утилиту termidesk-config.

После установки параметры компонентов «Универсальный диспетчер» и «Менеджер рабочих мест» могут быть изменены через файл termidesk.conf (см. подраздел Конфигурационный файл termidesk.conf документа СЛЕТ.10001-01 90 02 «Руководство администратора. Настройка программного комплекса») или через утилиту termidesk-config (см. подраздел Утилита termidesk-config документа СЛЕТ.10001-01 90 02 «Руководство администратора. Настройка программного комплекса»).