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

Ключ

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

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


Назначение:
WEB Orchestrator – компонент платформы ROBIN, служба диспетчеризации и администрирования запуска роботов. Позволяет запускать роботов по расписанию/событию и отслеживать статусы исполнения задач, просматривать логи и ошибки.
Рассмотрим основные функциональные возможности Web Orchestrator:1) Разграничение прав доступа: управление правами доступа к приложениям, схемам роботов, готовым роботам и др.
2) Хранение роботов и действий: централизованное хранение схем роботов, готовых роботов и пакетов действий
3) Версионирование роботов: Хранение множеств версий одних и тех же сценариев или готовых роботов в удаленном хранилище
4) Контроль рабочих мест: сбор и отображение оперативной информации о состоянии удаленных рабочих мест
5) Удаленный запуск роботов: запуск готовых роботов на удаленных рабочих местах
6) Поддержание RDP- соединения с нужными учетными записями для выполнения UI роботов
7) Сбор данных о роботах: отслеживание, какие роботы, где и кем запущены в данный момент, каково их текущее состояние
8) Работа с очередью ресурсов: создание своих очередей ресурсов и использование их в работе роботов
Состав решения:
Web-версия платформы Robin состоит из различных модулей, которые доступны из одного общего интерфейса:

  1. Управление доступом

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

  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 Установка решения


Этот раздел предназначен для обеспечения пользователей и администраторов всей необходимой информацией, чтобы установить и настроить продукт с минимальным количеством проблем.
Установка решения доступна 2 вариантами:

...

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

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


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

  1. В файле 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
    \\



  2. 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 \}\}"   #####################################################################################


...

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

Этап

Описание

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

Установка балансировщика HAPROXY