Перед началом развертывания ElectroNeek On-Premise в локальном периметре убедитесь, что выполнены следующие требования, затем следуйте инструкциям.
Требования
Рекомендуемые аппаратные средства
-
Современная x86_64 система со включенной аппаратной виртуализацией;
-
2 ядра процессора;
-
4 GB RAM;
-
50 GB HDD;
-
Стабильное сетевое соединение.
Требования к операционной системе
Для развертывания ElectroNeek On-Premise в локальном периметре необходима 64-битная версия одной из указанных версий ОС Ubuntu:
-
Ubuntu Focal 20.04 (LTS);
-
Ubuntu Bionic 18.04 (LTS).
Некоторые команды из данной инструкции необходимо выполнить под правами администратора - sudo
.
Настройка окружения
Для развертывания on-premise версии сначала необходимо установить следующие компоненты:
-
nodejs v. 14;
-
docker 20.10.8;
-
docker-compose 1.29.2.
Установка node.js
Запустите команду
sudo apt install nodejs
После установки проверьте версию:
node -v
Если установленная версия отличается от версии 14.x
, то выполните следующий набор действий:
cd ~
curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_setup.sh
nano nodesource_setup.sh
sudo bash nodesource_setup.sh
Затем выполните команды:
sudo apt install nodejs
node -v
14.x
. Подробнее об установке Node JS можно прочитать здесь.Установка docker и docker-compose
Для установки docker и docker-compose следуйте инструкциям на официальном сайте:
-
Как установить
docker
, описано в этой статье. -
Как установить
docker-compose
, описано в этой статье.
Хранение алгоритмов и логов выполнения
Хранение опубликованных алгоритмов и логов выполнения в Orchestrator возможно в файловой системе или с помощью Amazon S3. В случае Amazon используйте официальный сайт для настройки хранилища. Данные об этом хранилище нужно будет указать при развертывании on-premise версии (указано в инструкции ниже).
Собираемые автоматически логи выполнения хранятся в файловой системе вне зависимости от выбранного способа хранения алгоритмов. Собранные логи можно найти в папке /var/electroneek/package/logs/electroneek/
.
Использование Graylog для аудит-логов
В развернутой системе автоматически собираются аудит-логи. Для их сбора и хранения этих логов используется система Graylog. Для развертывания on-premise версии необходимо указать данные от Graylog сервера (указано в инструкции ниже).
Установка on-premise версии
Извлечение файлов архива
Для развертывания ElectroNeek On-Premise в локальном периметре вам необходимо запросить файлы установочного скрипта у ElectroNeek. Эти файлы будут находиться в архиве, который нужно будет распаковать. Структура архива следующая:
-
config.yaml
- файл, содержащий настройки сервисов; -
dist
- содержит исходный код сервисов; -
scripts
- содержит скрипты, которые автоматически готовят необходимые файлы для установки on-premise версии; -
on-prem.sh
- файл, содержащий основные команды для взаимодействия с on-premise версией.
Перед тем, как распаковывать архив, создайте директорию /var/electroneek
:
sudo mkdir -p /var/electroneek
Далее выполните следующую команду, чтобы распаковать полученный архив, заменив {version}
на номер версии в названии файла архива.
sudo tar -xzvf electroneek-on-premise-{version}.tar.gz -C /var/electroneek
Команда извлечет архив в директорию /var/electroneek
. Перейдите внутрь директории /var/electroneek/package
и проверьте ее содержимое на соответствие структуре выше.
Конфигурация сервисов перед установкой
Перед выполнением скрипта установки необходимо сконфигурировать сервисы.
Откройте конфигурационный файл ./config.yaml
. Измените следующие параметры:
ВАЖНО: config.yaml
должен быть действующим.
-
smtp:host
- укажите адрес сервера для отправки email; -
smtp:port
- укажите порт email-сервера; -
smtp:auth:user
- учетная запись, с которой будут отправляться системные почтовые сообщения (например, о приглашении пользователя в Команду); -
smtp:auth:pass
- пароль от учетной записи; -
smtp:from
- укажите email адрес, с которого будут отправляться письма (для отправки писем без аутентификации); -
smtp:secure
- если сервер не использует ssl, необходимо установить в false; -
server_uri
- укажите доменное имя или IP-адрес сервера, на котором происходит установка ElectroNeek On-Premise. Значение должно быть записано в виде{http|https}://{ip|domain}
; -
file_storage:type
- укажитеaws-s3
хранения алгоритмов и логов выполнения на AWS илиfile-system
для хранения локально на сервере; file_storage:max_file_size_bytes
- максимальный размер опубликованных алгоритмов;-
file_storage:storage_path
- путь до директории, где должны храниться алгоритмы и логи выполнения, если в параметреfile_storage:type
задано значениеfile-system
; -
aws_s3
- учетные данные от созданного хранилища в Amazon S3, если в параметреfile_storage:type
задано значениеaws-s3
; -
audit
- учетные данные от Graylog сервера для аудит-логов.
-
audit:servers
- IP-адрес и порт в формате127.0.0.1:12201
. Необходимо для конфигурации Graylog. Подробнее об это можно узнать здесь. -
audit:api:uri
- URI к Graylog API. Необходимо для выборочных запросов данных. -
audit:api:username
- имя пользователя Graylog API.audit:api:username
- пароль Graylog API.
Для отправки писем без аутентификации, параметр smtp:auth
можно удалить, в таком случае smtp:from
является обязательным для заполнения.
Дополнительные параметры для настройки электронной почты можно найти по этой ссылке.
Пример конфигурации
server_uri: "172.24.0.1"
file_storage:
type: "aws-s3"
max_file_size_bytes: 20971520
aws_s3:
bucket_name: "bucket-name"
region: "us-east-2"
access_key_id: "XXXXXXXXXXXXXXX"
secret_access_key: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
api_version: "2006-03-01"
smtp:
host: "172.24.0.1"
port: 465
from: "test@company.com"
secure: false
audit:
servers:
- host: "172.24.3.143"
port: 12201
buffer_size: 135000
api:
uri: "http://172.24.3.143:9000/api"
username: "admin"
password: "123"
Развертывание Orchestrator
Перейдите в директорию /var/electroneek/package
и выполните следующую команду:
bash ./on-prem.sh install
Команда создаст все ресурсы, необходимые для работы ElectroNeek Orchestrator. Не закрывайте сессию терминала до тех пор, пока команда не закончит свое выполнение. Во время установки может быть запрошена эскалация прав пользователя.
Настройка учетной записи владельца
В конце установки в обязательном порядке будет запрошен email администратора и пароль. Указанные в данном поле email и пароль будут использоваться в качестве учетной записи Владельца Команды и нужны будут для активации on-premise продуктов и для управления пользователями в рамках этих продуктов.
Мы рекомендуем не пропускать этот шаг, однако если вы его пропустите, то в качестве учетной записи Владельца будет использоваться учетная запись admin@example.com/admin
. Вы всегда сможете изменить это, отдельно запустив скрипт на смену владельца в Команде.
Конфигурация балансировщика нагрузки
Чтобы настроить балансировщик нагрузки, убедитесь, что параметр server_uri
заполнен в файле ./config.yaml
, например, https://my.domain.com
.
После этого необходимо заменить маршрутизацию в балансировщике нагрузки с https://my.domain.com
на https://orchestrator_server
, где orchestrator server
— это IP сервера, где хранится Orchestrator:
- Протокол балансировщика нагрузки должен быть
https
илиhttps
; - Порт балансировщика нагрузки должен быть
80
или443
; - Протокол экземпляра должен быть
http
; - Порт экземпляра должен быть
80
.
Проверка результата установки
После завершения установки откройте браузер и перейдите по адресу http://{domain|ip}/account/login
. Вы должны увидеть форму входа на портал ElectroNeek. Если вы видите эту форму, то можете приступать к этапу активации on-premise продуктов. Если вы не видите эту форму, свяжитесь со службой поддержки ElectroNeek.
Перезагрузка сервера
Если вы перезагружаете сервер, то нужно выполнить несколько команд для того, чтобы возобновить работу наших сервисов. Перейдите в директорию, где установлен продукт ElectroNeek:
cd /var/electroneek/package
Затем выполните команду:
bash ./on-prem.sh start
После выполнения данной команды вы сможете возобновить работу с нашими продуктами.
Обновление
Если вы хотите обновить конфигурацию on-premise необходимо сделать несколько шагов:
Сперва необходимо остановить сервисы командой:
bash ./on-prem.sh stop
Затем рекомендуется переименовать текущую версию:
mv /var/electroneek /var/electroneek_old
После этого выполните все действия описанные в разделе Извлечение файлов архива и Конфигурация сервисов перед установкой данного руководства.
Из предыдущей версии Orchestrator необходимо скопировать папки keys
и logs
в директорию с новым Orchestrator. Это необходимо для того, чтобы все ранее выданные сессии, токены, а так же собранные логи workflow были доступны в новой версии Orchestrator:
cp /var/electroneek_old/package/keys/. /var/electroneek/package/keys/ -a
cp /var/electroneek_old/package/logs/. /var/electroneek/package/logs/ -a
Далее перейдите в директорию:
cd /var/electroneek/package
И выполните команду:
bash ./on-prem.sh update
Удаление
Если вы хотите удалить конфигурацию on-premise для последующей переустановки и при этом с сохранением данных в базе, необходимо сделать несколько шагов.
В первую очередь, рекомендуется сохранить копию файла конфигурации /var/electroneek/package/config.yaml
.
Далее перейдите в директорию, где установлен продукт ElectroNeek:
cd /var/electroneek/package
Выполните команду:
bash ./on-prem.sh uninstall
Данная команда удалит только docker-контейнеры, при этом данные в базе данных не будут удалены или каким-либо образом затронуты.
Для завершения процесса удаления и предотвращения возможных конфликтов при последующей установке удалите директорию:
cd /
sudo rm -rf /var/electroneek