В Termidesk предусмотрена распределенная установка компонентов на отдельные серверы или ВМ. Описание применимо к ферме Termidesk. Установка компонентов Termidesk выполняется в среде функционирования ОС Astra Linux Special Edition. В распределенном варианте устанавливаются компоненты: Перечень условий для распределенной установки: При использовании внешней по отношению к Termidesk СУБД, следует установить брокер сообщений RabbitMQ на узел «Менеджера рабочих мест» или на отдельный узел. Упрощенная общая схема при распределенной установке Termidesk приведена на рисунке. Перечень обозначенных на схеме компонентов приведен в таблице. Распределенная установка проводится в следующей последовательности: 1) на одном узле устанавливаются СУБД и RabbitMQ. При установке следует учесть, что в БД должны отсутствовать записи (необходимо использовать чистую БД); 2) устанавливается первый (эталонный) узел с «Универсальным диспетчером». При установке необходимо выбрать роль «Портал универсальный». Роль активируется при одновременном выборе ролей «Портал администратора» и «Портал пользователя» в диалоговом окне псевдографического интерфейса инсталлятора; Настройки первого узла с «Универсальным диспетчером» Termidesk будут использоваться как эталонные для узлов других «Универсальных диспетчеров» и «Менеджеров рабочих мест». Нужно скопировать каталог 3) устанавливаются остальные «Универсальные диспетчеры» с копированием файлов, указанных в п.2, с эталонного узла; 4) устанавливаются «Шлюзы», настраивается защищенное подключение к «Шлюзу», каталог 5) устанавливаются «Менеджеры рабочих мест» с копированием файлов, указанных в п.2, с эталонного узла. Заключительным этапом устанавливаются и настраиваются балансировщики нагрузки на базе ОС Astra Linux Special Edition и nginx. Процесс установки брокера сообщений RabbitMQ не отличается от процесса, описанного в разделе Подготовка среды функционирования. Установка и настройка СУБД PostgreSQL осуществляется согласно выбранной версии. Для завершения настройки нужно: Процесс установки первого узла с «Универсальным диспетчером» аналогичен комплексной установке Termidesk, за исключением выбора только ролей «Портал администратора» и «Портал пользователя». После установки передать каталог где: Перед началом установки остальных узлов «Универсальных диспетчеров» необходимо переместить скопированный ранее каталог Установить второй узел с «Универсальным диспетчером» по аналогии с первым, не меняя параметры в диалогах подключения к СУБД и заполнения информации о подключении к RabbitMQ. Установка «Шлюзов» выполняется из пакета Для установки «Шлюза» следует обратиться к подразделу Установка Шлюза документа MultiExcerpt именем Децимальный номер не найден -- Проверьте имя страницы и имя MultiExcerpt используемые в MultiExcerpt-Include 90 05 «Руководство администратора. Настройка компонента «Шлюз». После завершения установки нужно: После настройки нужно передать каталог где: Перед началом установки остальных узлов «Шлюзов» необходимо: Установка второго узла «Шлюза» выполняется по аналогии с первым. Установка «Менеджеров рабочих мест» производится на два узла, работающих в режиме отказоустойчивой конфигурации, при которой оба узла активно обрабатывают трафик (конфигурация «Active - Active»), а отказ одного из них не нарушает работоспособность фермы Termidesk. Установка компонента на первый узел проводится в следующей последовательности: где: В результате установки пакета Установка второго узла с «Менеджером рабочих мест» выполняется по аналогии с первым. Балансировщики нагрузки необходимы для балансировки клиентских подключений к «Универсальным диспетчерам» и «Шлюзам», равномерного распределения нагрузки на них. Средой функционирования для балансировщиков нагрузки является ОС Astra Linux Special Edition. Балансировщик nginx устанавливается командой: где:Стандартная распределенная установка программного комплекса
Основные принципы стандартной распределенной установки
termidesk-vdi);termidesk-gateway);termidesk-celery-beat, termidesk-celery-worker).Компонент FQDN Подпись на схеме «Универсальный диспетчер» №1 с ролью «Портал универсальный» disp1.termidesk.local «Универсальный диспетчер 1» «Универсальный диспетчер» №2 с ролью «Портал универсальный» disp2.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» /etc/opt/termidesk-vdi вместе с его содержимым на узлы других «Универсальных диспетчеров» и «Менеджеров рабочих мест». Этот каталог содержит ключи для синхронизации параметров между узлами, а также параметры конфигурации узла (файл /etc/opt/termidesk-vdi/termidesk.conf)./etc/termidesk/ копируется с первого узла «Шлюза» на другие узлы с этим компонентом;Установка и настройка СУБД 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
rabbitmq-server:sudo systemctl restart rabbitmq-server
Установка первого узла с «Универсальным диспетчером»
/etc/opt/termidesk-vdi на остальные узлы «Универсальных диспетчеров» и «Менеджеров рабочих мест»:sudo scp -r /etc/opt/termidesk-vdi localuser@ipaddr_or_fqdn_host:/home/user/
-r - ключ для рекурсивной (со вложенными каталогами) передачи;localuser - имя пользователя целевого узла;ipaddr_or_fqdn_host - IP-адрес или FQDN целевого узла;/home/user - путь, куда будет скопирован каталог.termidesk-vdi в каталог /etc/opt/:sudo mv /home/user/termidesk-vdi /etc/opt/
Установка «Шлюзов»
termidesk-gateway./etc/termidesk/gateway.yaml к виду согласно подразделу Параметры конфигурирования компонента документа MultiExcerpt именем Децимальный номер не найден -- Проверьте имя страницы и имя MultiExcerpt используемые в MultiExcerpt-Include 90 05 «Руководство администратора. Настройка компонента «Шлюз». Задать актуальные значения IP-адресов (или FQDN) параметрам:url: ${urlCheckToken} - для обслуживания API-запросов по валидации подключений, запрашиваемых «Универсальным диспетчером» через «Шлюз»;url: ${coordinatorUrl} - для подключения к RabbitMQ;sudo systemctl restart termidesk-gateway
/etc/termidesk/ с первого узла «Шлюза» на другие узлы с этим компонентом:sudo scp -r /etc/termidesk localuser@ipaddr_or_fqdn_host:/home/user/
-r - ключ для рекурсивной (со вложенными каталогами) передачи;localuser - имя пользователя целевого узла;ipaddr_or_fqdn_host - IP-адрес или FQDN целевого узла;/home/user - путь, куда будет скопирован каталог.termidesk в каталог /etc/:sudo mv /home/user/termidesk /etc/
termidesk-gateway:sudo chown termidesk-gateway:termidesk-gateway /etc/termidesk/ssl-cert-snakeoil.*
sudo chmod 640 /etc/termidesk/ssl-cert-snakeoil.key
sudo chmod 644 /etc/termidesk/ssl-cert-snakeoil.pem
sudo systemctl restart termidesk-gateway
Установка «Менеджеров рабочих мест»
termidesk-vdi в каталог /etc/opt/:sudo mv /home/user/termidesk-vdi /etc/opt/
/etc/opt/termidesk-vdi/termidesk.conf, параметру NODE_ROLES присваивается значение «CELERYMAN»;termidesk-vdi:sudo apt -y install termidesk-vdi
-y - ключ для пропуска подтверждения установки.termidesk-vdi на узле будут запущены службы termidesk-celery-beat, termidesk-celery-worker.Установка балансировщиков
sudo apt install -y nginx
-y - ключ для пропуска подтверждения установки.
Действия после распределенной установки
Настройка балансировщика нагрузки приведена в подразделе Настройка балансировщика для работы с самоподписанными сертификатами документа MultiExcerpt именем Децимальный номер не найден -- Проверьте имя страницы и имя MultiExcerpt используемые в MultiExcerpt-Include 90 02 «Руководство администратора. Настройка программного комплекса».
Если в инфраструктуре Termidesk будет использоваться портал «Агрегатор» («Агрегатор администратора» и/или «Агрегатор пользователя»), нужно обязательно задать на узле компонента «Универсальный диспетчер» («Портал пользователя» или «Портал универсальный») сертификат для расшифровки JWT-токена. Сертификат может быть задан через файл /etc/opt/termidesk-vdi/termidesk.conf (параметры AGGREGATOR_JWT_SSL_CERT и AGGREGATOR_JWT_SSL_CERT_SECOND) или через утилиту termidesk-config.
После установки параметры компонентов «Универсальный диспетчер» и «Менеджер рабочих мест» могут быть изменены через файл termidesk.conf (см. подраздел Конфигурационный файл termidesk.conf документа MultiExcerpt именем Децимальный номер не найден -- Проверьте имя страницы и имя MultiExcerpt используемые в MultiExcerpt-Include 90 02 «Руководство администратора. Настройка программного комплекса») или через утилиту termidesk-config (см. подраздел Утилита termidesk-config документа MultiExcerpt именем Децимальный номер не найден -- Проверьте имя страницы и имя MultiExcerpt используемые в MultiExcerpt-Include 90 02 «Руководство администратора. Настройка программного комплекса»).