Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Отображение дочерних элементов
alltrue
depth2

7.1.1 Назначение и состав решения

...

  1. Оркестратор

"Оркестратор" - это один из модулей, входящих в состав платформы ROBIN и предназначенный для запуска и контроля исполнения программных роботов, созданных с помощью ROBIN Studio. Модуль доступен только пользователям с ролью "Администратор оркестратора".

7.1.2 Архитектура

В разделе представлены основные компоненты решения, используемые архитектурные шаблоны и принципы, технологический стек, а также важные интеграционные аспекты.
В таблице представлены основные компоненты архитектуры и за что каждый из компонентов отвечает.
Keycloack??

...

Группа

...

Описание

...

Ldap

...

Ldap Сервер управления идентификацией и доступом Keycloak

...

Rabbit

...

Брокер сообщений на основе стандарта AMQP

...

App

...

Сервер приложений

...

Front

...

Сервер ВЕБ интерфейса

...

Elastic

...

Компонент хранения логов

...

Kibana

...

Компонент отчетов по логам

...

Logstash

...

Компонент сбора логов

...

Db

...

Сервер СУБД Postgres

...

Pkg

...

Менеджер репозиториев хранения пакетов

...

Rdp

...

Менеджер удаленного рабочего стола Microsoft RDP

...

Lb

...

Балансировщик Нагрузки

7.1.2.1 Архитектура на одном сервере

...

7.1.2.2 Типовой вариант

...

7.1.3 Требования к аппаратному и программному обеспечению

...

7.1.3.1 На одном сервере

7.1.3.2 Типовой вариант

...

Характеристика

 

...

Минимальные требования

 

...

Server 1

...

Server 2

...

Количество потоков процессора (vCPU – поток ядра)

...

4 vCPU

...

4 vCPU

...

Количество оперативной памяти (RAM)

...

20 Gb

...

8 Gb

...

Емкость дисковой подсистемы (HDD)

...

200 Gb

...

20 Gb

...

Сервер

...

Ресурс

...

Server 1

 

 

 

 

 

 

 

 

 

 

...

Debian 10, Astra Linux SE 1.7 и другие по согласованию сторон

...

Nginx 11 и выше

...

Nexus 3.32.0 и выше

...

PostgreSQL 10 x86_64 и выше

...

WildFly 26.1.3 final и выше

...

Java bellsoft-jdk17.0.7

...

KeyCloack 21.1.1
(Для корректной работы интеграции с корпоративным AD, сервер каталога должен быть развернут на Windows Server 2008 и выше)

...

RabbitMQ ver. 3.8.2

...

Logstash ver. 7.15

...

Kibana ver. 7.15

...

Elasticsearch ver. 7.15

...

Server 2

 

...

Debian 10, Astra Linux SE 1.7 и другие по согласованию сторон

...

Haproxy 2.1.3 и выше

7.1.4 Установка решения

...

  1. Установка решения при помощи образа виртуальной машины. Данный метод установки предполагает наличие только Debian 10 в качестве операционной системы виртуальной машины.
  2. Установка решения при помощи Ansible скриптов

Инструкции для обоих вариантов установки поставляются вместе с пакетом установки.

7.1.4.1 Установка при помощи образа виртуальной машины

7.1.4.2 Установка при помощи Ansible скриптов

...

  1. Дистрибутив представляет собой ZIP архив, (ROBIN_orchestrator.zip) содержащий в себе скрипты, конфигурационные файлы и все необходимые дистрибутивы компонентов для установки.
  2. Установка производится с применением ansible скриптов включенных в дистрибутив.
  3. Необходимо подготовить и включить сервера либо виртуальные сервера на которые будет производиться установка
  4. Открыть на межсетевых эранах / фаерволах сетевые порты согласно требований.
  5. Распаковать дистрибутив автоматической установки в отдельный каталог (обычно, но не обязательно, это /opt) на сервер, с которого будет производится установка.
  6. Сгенерировать ключ шифрования для SSH. Для этого потребуется открыть терминал на сервере куда был распакован дистрибутив, и выполнить команду: ssh-keygen -t ed25519 где ed25519 это алгоритм генерации ключа, возможные варианты, применяются в зависимости от требований служб безопасности либо информационной безопасности, либо иных нормативных требований на стороне клиента: - rsa - dsa - ecdsa - ed25519
  7. Скопировать публичную часть сгенерированного ключа шифрования SSH на все ноды (компьютеры/сервера/виртуалки), на которые будет производится установка компонентов WEB-оркестратора в терминале одним из следующих способов: ● Командой из состава OpenSSH: ssh-copy-id -i ~/.ssh/id_.pub root@host ● Скриптом из дистрибутива: copy_ssh_id.sh host ● Вручную: скопировав содержимое файла ~/.ssh/id_.pub в файл на ноде /root/.ssh/authorized_keys Пример содержимого файла публичной части ключа id_ed25519.pub: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDFJ6fRg28O5nVA+WbWYaK3Gc9LVc80hd4moBTQdJGdJ root@keycloak

...

В файле hosts.ini из каталога установщика указать IP адреса и имена нод компонентов установки. В случае если нод в группе несколько, например если для группы App – сервера приложений будет использоваться 3 отдельные виртуальные машины, указать необходимо все. Перечень всех групп нод:

Группа

Описание

Ldap

Ldap Сервер управления идентификацией и доступом Keycloak

Rabbit

Брокер сообщений на основе стандарта AMQP

App

Сервер приложений

Front

Сервер ВЕБ интерфейса

Elastic

Компонент хранения логов

Kibana

Компонент отчетов по логам

Logstash

Компонент сбора логов

Db

Сервер СУБД Postgres

Pkg

Менеджер репозиториев хранения пакетов

Rdp

Менеджер удаленного рабочего стола Microsoft RDP

Lb

Балансировщик Нагрузки

Wiki разметка
\\
+Пример файла *HOSTS.INI{*}:+
\[ldap\] weborctest2 ansible_host=10.68.4.21
\[rabbit\] weborctest2 ansible_host=10.68.4.21
\[app\]  weborctest1 ansible_host=10.68.4.20  weborctest2 ansible_host=10.68.4.21  weborctest3 ansible_host=10.68.4.22 
\[front\]  weborctest2 ansible_host=10.68.4.21 
\[elastic\]  weborctest2 ansible_host=10.68.4.21 
\[kibana\]  weborctest2 ansible_host=10.68.4.21 
\[logstash\]  weborctest2 ansible_host=10.68.4.21 
\[db\]  weborctest2 ansible_host=10.68.4.21 
\[pkg\]  weborctest2 ansible_host=10.68.4.21 
\[rdp\]  weborctest2 ansible_host=10.68.4.21 
\[lb\]  weborctest2 ansible_host=10.68.4.21
\\
Wiki разметка
В файле group_vars/all.yaml, из каталога установки (каталог в который был распакован дистрибутив, обычно это /opt), указать необходимые параметры устанавливаемых компонентов (в основном это пароли пользователей).  +Пример файла *group_vars/all.yaml{*}:+  --- #####################################################################################  ### Общие параметры  #Версия продукта cloud,enterprise, rcloud  mode: enterprise  # Путь к директории установки install_path: "/opt"  # Создать самоподписанный SSL сертификат для защищенного подключения сервисов  # В случае, если не использовать механизм генерации самоподписанного сертификата  # (create_selfsigned_cert: false)  # то перед запуском скриптов установки на все сервера (ноды) нужно в папку /opt  # положить заранее сгенерированные файл сертификата /opt/cert.cer  # файл закрытого ключа /opt/cert.key и файл со всей цепочкой сертификации /opt/fullchain.cer create_selfsigned_cert: true   #####################################################################################  ### Секция Keycloak  # Домен  domain: "demo.robin"  # Пароль для хранилища сертификатов Keycloak ldap_https_key_store_pass: "someSecret2023"  # Пароль пользователя admin, задаваемый при автоинициализации ldap_admin_pass: "Qwerty123"  # Пароль пользователей processes_activity, processes_admin,  # processes_designer,processes_owner, задаваемый при автоинициализации  ldap_user_pass: "Qwerty123"   #####################################################################################  ### Секция DB  # Пароль пользователя postgres  db_postgres_pass: "Qwerty123"  # Пароль пользователя robin внутри базы данных  db_robin_pass: "Qwerty123"  # Пароль пользователей user_orch, user_quartz, user_rpm,  # keycloak, user_storage_provider внутри базы данных  db_users_pass: "Qwerty123"   #####################################################################################  ### Секция RabbitMQ  # Пароль пользователя admin внутри брокера  rabbit_admin_pass: "Qwerty123"  # Пароль пользователя agent внутри брокера  rabbit_agent_pass: "Qwerty123"  # Пароль пользователя rmc внутри брокера  rabbit_rmc_pass: "Qwerty123"  # Пароль пользователя rms внутри брокера  rabbit_rms_pass: "Qwerty123"  # Пароль пользователя rdp внутри брокера  rabbit_rdp_pass: "Qwerty123"   #####################################################################################  ### Секция Nexus  # Порт для доступа к нексусу. По умолчанию 8081, изменять только в случае ошибок.  nexus_port: "8081"  # Устанавливаемый пароль пользователя admin  nexus_admin_pass: "Qwerty123"  # Использовать SSL для подключения  nexus_use_ssl: true  # Порт SSL для доступа к нексусу. По умолчанию 8441, изменять только в случае ошибок.  nexus_https_port: "8441"  # Пароль для хранилища сертификатов Nexus  nexus_https_key_store_pass: "someSecret2023"    #####################################################################################  ### Секция Elasticsearch  # Срок хранения логов в elasticsearch (пусто для отключени срока хранения)  elastic_index_lifecycle: 60d  # Использовать SSL сертификат для подключения  elastic_use_ssl: false   #####################################################################################  ### Секция Wildfly  # Пароль пользователя admin для доступа к Wildfly.  # Меняется в случае ручного изменения через скрипт add-user.sh.  wf_admin_pass: "Qwerty123"  # Пароль для хранилища сертификатов WildFly  wf_https_key_store_pass: "someSecret2023"   #####################################################################################  ### Секция Haproxy  # Адрес балансировщика для доступа к сервисам  lb_address: "\{\{ groups\['lb'\]\[0\] \}\}.\{\{ domain \}\}"   #####################################################################################

...

  1. Открыть терминал на сервер, с которого будет производится установка и куда был распакован дистрибутив.
  2. Перейти в каталог установщика (каталог, в который был распакован дистрибутив).
  3. Запустить установку командой: ansible-playbook ./start.yml

Пример хода выполнения:
Image Removed

  1. Результатом выполнения скриптов установки будет отчет о ходе установки. В котором указывается перечень серверов (блок PLAY RECAP), на которые была произведена установка и затраченное время на выполнение шагов установки. При этом Перечень серверов имеет цветовые градации: - зеленый или желтый – на сервер успешно были установлены все назначенные компоненты. - красный – в процессе установки были ошибки.

Пример успешного выполнения установки:
Image Removed

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

Image Removed Запуск (повторный запуск) отдельных этапов установки.
В случае необходимости запуска (повторного запуска) отдельных этапов, на пример в случае сбоя необходимо:

  1. Открыть терминал на сервер, с которого будет производится установка и куда был распакован дистрибутив
  2. Перейти в каталог установщика. (каталог, в который был распакован дистрибутив)
  3. Запустить установку командой: ansible-playbook ./start.yml -t этап_установки

Перечень этапов установки (данные этапы включены в дистрибутив поставки и отдельно что-либо скачивать не нужно)

...

Этап

...

Описание

...

prepos

...

Предварительная установка общесистемных компонентов

...

java

...

Установка Java JDK

...

db

...

Установка СУБД Postgres

...

flyway

...

Миграция данных БД посредством FlyWay

...

ldap

...

Установка Keycloak

...

nginx

...

Установка WEB-сервера Nginx

...

front

...

Установка фронтэнд приложения

...

pkg

...

Установка Nexus репозиториев

...

rabbit

...

Установка менеджера очереди сообщений RabbitMQ

...

elastic

...

Установка ElasticSearch

...

logstash

...

Установка Logstash

...

kibana

...

Установка Kibana

...

Install_app

...

Установка сервера приложений WildFly

...

app

...

Настройка сервера приложений WildFly

...

lb

...