| Scroll Content Block |
|---|
Стандартная распределенная установка программного комплексаОсновные принципы стандартной распределенной установкиВ Termidesk предусмотрена распределенная установка компонентов на отдельные серверы или ВМ. |
| Информация |
|---|
Описание применимо к ферме Termidesk. |
Установка компонентов Termidesk выполняется в среде функционирования ОС Astra Linux Special Edition. В распределенном варианте устанавливаются компоненты: - «Универсальный диспетчер» (служба
termidesk-vdi); - «Шлюз» (служба
termidesk-gateway); - «Менеджер рабочих мест» (службы
termidesk-celery-beat, termidesk-celery-worker).
Перечень условий для распределенной установки: - брокер сообщений RabbitMQ устанавливается на одном узле с СУБД (в общем случае этот компонент может устанавливаться на отдельный узел, но в рамках настоящей процедуры данный вариант не рассматривается);
| Примечание |
|---|
При использовании внешней по отношению к Termidesk СУБД, следует установить брокер сообщений RabbitMQ на узел «Менеджера рабочих мест» или на отдельный узел. |
- на всех узлах, предназначенных для установки компонентов, настроены статические IP-адреса;
- на всех узлах настроена синхронизация времени от единого источника.
Упрощенная общая схема при распределенной установке Termidesk приведена на рисунке. | Scroll Title |
|---|
| anchor | Схема распределенной установки |
|---|
| title-alignment | center |
|---|
| title | Схема распределенной установки |
|---|
| | draw.io Diagram |
|---|
| border | false |
|---|
| diagramName | Схема распределенной установки |
|---|
| simpleViewer | false |
|---|
| links | auto |
|---|
| tbstyle | top |
|---|
| lbox | true |
|---|
| diagramWidth | 564 |
|---|
| revision | 1 |
|---|
|
|
Перечень обозначенных на схеме компонентов приведен в таблице. | Scroll Title |
|---|
| title-position | top |
|---|
| anchor | Перечень компонентов схемы |
|---|
| title | Перечень компонентов |
|---|
| | Scroll Table Layout |
|---|
| orientation | default |
|---|
| sortDirection | ASC |
|---|
| repeatTableHeaders | true |
|---|
| sortByColumn | 1 |
|---|
| tableStyling | word |
|---|
| sortEnabled | false |
|---|
| cellHighlighting | true |
|---|
|
| Компонент | 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» |
|
Распределенная установка проводится в следующей последовательности: 1) на одном узле устанавливаются СУБД и RabbitMQ. При установке следует учесть, что в БД должны отсутствовать записи (необходимо использовать чистую БД); 2) устанавливается первый (эталонный) узел с «Универсальным диспетчером». При установке необходимо выбрать роль «Портал универсальный». Роль активируется при одновременном выборе ролей «Портал администратора» и «Портал пользователя» в диалоговом окне псевдографического интерфейса инсталлятора; | Предупреждение |
|---|
Настройки первого узла с «Универсальным диспетчером» Termidesk будут использоваться как эталонные для узлов других «Универсальных диспетчеров» и «Менеджеров рабочих мест». Нужно скопировать каталог /etc/opt/termidesk-vdi вместе с его содержимым на узлы других «Универсальных диспетчеров» и «Менеджеров рабочих мест». Этот каталог содержит ключи для синхронизации параметров между узлами, а также параметры конфигурации узла (файл /etc/opt/termidesk-vdi/termidesk.conf). |
3) устанавливаются остальные «Универсальные диспетчеры» с копированием файлов, указанных в п.2, с эталонного узла; 4) устанавливаются «Шлюзы», настраивается защищенное подключение к «Шлюзу», каталог /etc/termidesk/ копируется с первого узла «Шлюза» на другие узлы с этим компонентом; 5) устанавливаются «Менеджеры рабочих мест» с копированием файлов, указанных в п.2, с эталонного узла. Заключительным этапом устанавливаются и настраиваются балансировщики нагрузки на базе ОС Astra Linux Special Edition и nginx. | Scroll Content Block |
|---|
Установка и настройка СУБД PostgreSQLПроцесс установки брокера сообщений RabbitMQ не отличается от процесса, описанного в разделе Подготовка среды функционирования. Установка и настройка СУБД PostgreSQL осуществляется согласно выбранной версии. |
Для завершения настройки нужно: - отредактировать файл
/etc/rabbitmq/rabbitmq-env.conf, приведя его к виду:
| Блок кода |
|---|
| language | bash |
|---|
| theme | Confluence |
|---|
| linenumbers | true |
|---|
| # 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:
| Блок кода |
|---|
| language | bash |
|---|
| theme | Confluence |
|---|
| sudo systemctl restart rabbitmq-server |
| Scroll Content Block |
|---|
Установка первого узла с «Универсальным диспетчером»Процесс установки первого узла с «Универсальным диспетчером» аналогичен комплексной установке Termidesk, за исключением выбора только ролей «Портал администратора» и «Портал пользователя». |
После установки передать каталог /etc/opt/termidesk-vdi на остальные узлы «Универсальных диспетчеров» и «Менеджеров рабочих мест»: | Блок кода |
|---|
| language | bash |
|---|
| theme | Confluence |
|---|
| 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/: | Блок кода |
|---|
| language | bash |
|---|
| theme | Confluence |
|---|
| sudo mv /home/user/termidesk-vdi /etc/opt/ |
Установить второй узел с «Универсальным диспетчером» по аналогии с первым, не меняя параметры в диалогах подключения к СУБД и заполнения информации о подключении к RabbitMQ. | Scroll Content Block |
|---|
Установка «Шлюзов»Установка «Шлюзов» выполняется из пакета termidesk-gateway. |
| Примечание |
|---|
Для установки «Шлюза» следует обратиться к подразделу Установка Шлюза документа | Multiexcerpt include |
|---|
| MultiExcerptName | Децимальный номер |
|---|
| PageWithExcerpt | DOCTDSK:Децимальный номер |
|---|
| shouldDisplayInlineCommentsInIncludes | false |
|---|
| 90 05 «Руководство администратора. Настройка компонента «Шлюз». |
После завершения установки нужно: - настроить защищенное подключение к «Шлюзу» согласно подразделу Настройка защищенного подключения к Шлюзу документа
| Multiexcerpt include |
|---|
| MultiExcerptName | Децимальный номер |
|---|
| PageWithExcerpt | DOCTDSK:Децимальный номер |
|---|
| shouldDisplayInlineCommentsInIncludes | false |
|---|
| 90 05 «Руководство администратора. Настройка компонента «Шлюз»; - привести файл
/etc/termidesk/gateway.yaml к виду согласно подразделу Параметры конфигурирования компонента документа | Multiexcerpt include |
|---|
| MultiExcerptName | Децимальный номер |
|---|
| PageWithExcerpt | DOCTDSK:Децимальный номер |
|---|
| shouldDisplayInlineCommentsInIncludes | false |
|---|
| 90 05 «Руководство администратора. Настройка компонента «Шлюз». Задать актуальные значения IP-адресов (или FQDN) параметрам:url: ${urlCheckToken} - для обслуживания API-запросов по валидации подключений, запрашиваемых «Универсальным диспетчером» через «Шлюз»;url: ${coordinatorUrl} - для подключения к RabbitMQ;
- сохранить файл, а затем перезапустить службу:
| Блок кода |
|---|
| language | bash |
|---|
| theme | Confluence |
|---|
| sudo systemctl restart termidesk-gateway |
После настройки нужно передать каталог /etc/termidesk/ с первого узла «Шлюза» на другие узлы с этим компонентом: | Блок кода |
|---|
| language | bash |
|---|
| theme | Confluence |
|---|
| sudo scp -r /etc/termidesk localuser@ipaddr_or_fqdn_host:/home/user/ |
где: -r - ключ для рекурсивной (со вложенными каталогами) передачи; localuser - имя пользователя целевого узла; ipaddr_or_fqdn_host - IP-адрес или FQDN целевого узла; /home/user - путь, куда будет скопирован каталог. Перед началом установки остальных узлов «Шлюзов» необходимо: - переместить скопированный ранее каталог
termidesk в каталог /etc/:
| Блок кода |
|---|
| language | bash |
|---|
| theme | Confluence |
|---|
| sudo mv /home/user/termidesk /etc/ |
- назначить права по использованию ключа и сертификата пользователю
termidesk-gateway:
| Блок кода |
|---|
| language | bash |
|---|
| theme | Confluence |
|---|
| sudo chown termidesk-gateway:termidesk-gateway /etc/termidesk/ssl-cert-snakeoil.* |
- предоставить права на чтение ключа и сертификата:
| Блок кода |
|---|
| language | bash |
|---|
| theme | Confluence |
|---|
| linenumbers | true |
|---|
| sudo chmod 640 /etc/termidesk/ssl-cert-snakeoil.key
sudo chmod 644 /etc/termidesk/ssl-cert-snakeoil.pem |
| Блок кода |
|---|
| language | bash |
|---|
| theme | Confluence |
|---|
| sudo systemctl restart termidesk-gateway |
Установка второго узла «Шлюза» выполняется по аналогии с первым. | Scroll Content Block |
|---|
Установка «Менеджеров рабочих мест»Установка «Менеджеров рабочих мест» производится на два узла, работающих в режиме отказоустойчивой конфигурации, при которой оба узла активно обрабатывают трафик (конфигурация «Active - Active»), а отказ одного из них не нарушает работоспособность фермы Termidesk. |
Установка компонента на первый узел проводится в следующей последовательности: - перемещается скопированный ранее каталог
termidesk-vdi в каталог /etc/opt/:
| Блок кода |
|---|
| language | bash |
|---|
| theme | Confluence |
|---|
| sudo mv /home/user/termidesk-vdi /etc/opt/ |
- редактируется файл
/etc/opt/termidesk-vdi/termidesk.conf, параметру NODE_ROLES присваивается значение «CELERYMAN»; - устанавливается пакет
termidesk-vdi:
| Блок кода |
|---|
| language | bash |
|---|
| theme | Confluence |
|---|
| sudo apt -y install termidesk-vdi |
где: -y - ключ для пропуска подтверждения установки.
В результате установки пакета termidesk-vdi на узле будут запущены службы termidesk-celery-beat, termidesk-celery-worker. Установка второго узла с «Менеджером рабочих мест» выполняется по аналогии с первым. | Scroll Content Block |
|---|
Установка балансировщиковБалансировщики нагрузки необходимы для балансировки клиентских подключений к «Универсальным диспетчерам» и «Шлюзам», равномерного распределения нагрузки на них. Средой функционирования для балансировщиков нагрузки является ОС Astra Linux Special Edition. |
Балансировщик nginx устанавливается командой: | Блок кода |
|---|
| language | bash |
|---|
| theme | Confluence |
|---|
| sudo apt install -y nginx |
где: -y - ключ для пропуска подтверждения установки.
|