- Created by Victoria Belyaeva, last modified on Feb 07, 2025
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 26 Next »
Параметр | Значение |
Процессор | Не менее 4 vCPU. Частота – не ниже 2,6 ГГц. Поддерживает работу с 64-разрядными приложениями на аппаратном уровне. |
ОЗУ | Минимум 4 GB RAM |
Свободное пространство на жестком диске | Объем – не менее 50 Гб. Примечание: объем необходимого свободного места на жестком диске зависит от объема данных, поступающих и хранящихся в ExeMES, и определяется самостоятельно на основе опытной эксплуатации ПО. |
Подготовка к установке
Подготовка среды для развертывания приложения (среда на выбор):
- Установка Docker
Для установки Docker потребуется доступ в интернет. После установки завершения установки доступ в интернет можно будет закрыть
Детальную информацию по установке Docker также можно найти на сайте Вендора - https://docs.docker.com/engine/install/.
Установка Docker выполняется в терминале ОС под пользователем с правами root
Для установки docker, в терминале Cent OS необходимо последовательно выполнить следующие команды:
sudo yum check-update sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin sudo systemctl start docker sudo systemctl enable docker sudo systemctl status docker
Последняя команда показывает состояние docker. Состояние после успешной установки должно быть active(running).
Состояние docker
Установка Docker выполняется в терминале ОС под пользователем с правами root
Перед началом установки Docker необходимо обновить компоненты Debian выполнив следующую команду:
apt update && apt upgrade -y
Далее необходимо предоставить права на исполняемый файл:
cd /root/dev/ chmod +x install-docker.sh
Затем установить Docker:
./install-docker.sh
После завершения установки необходимо перезагрузить хост, использовав команду
reboot
- Развертывание кластера Kubernetes
Инструкция в разработке
- Установка Docker
Подготовка сертификатов
Для использования защищенных протоколов https ssl, необходимо сгенерировать и сконвертировать сертификаты для вашего домена.Для создания и конвертации сертификатов необходимо установить openssl. Детальная инструкция по установке доступна по ссылке https://wiki.openssl.org/index.php/Binaries.
На первом шаге необходимо сгенерировать key файл. Для этого необходимо выполнить команду в терминале
openssl genrsa -out wildcard.[домен].key 2048
Затем необходимо создать файл cnf с конфигурационной информацией следующего содержания:
[ req ] default_bits = 20482 distinguished_name = req_distinguished_name req_extensions = req_ext prompt = no [ req_distinguished_name ] C = RU ST = Russia L = Moscow O = Exeplant CN =[домен] [ req_ext ] subjectAltName = @alt_names extendedKeyUsage = serverAuth, clientAuth basicConstraints=CA:TRUE [alt_names] DNS.1 = keycloak.[домен] DNS.2 = middleware.[домен] DNS.3 = client.[домен] DNS.4 = report.[домен] DNS.5 = *.[домен]
После чего с использование key и cnf файла сгенерировать crt файл сертификата используя команду:
openssl req -x509 -nodes -newkey rsa:4096 -extensions req_ext -keyout wildcard.dev-test.local.key -out wildcard.dev-test.local.crt -days [срок действия сертификата в днях] -config wildcard.dev-test.local.cnf
Затем на основании crt файла необходимо сгенерировать pem сертификат
pem сертификат необходим только для ExeMES
Первым шагом проверьте, что ваши ключи и сертификаты сгенерированы в формате, отличном от PEM: если содержимое файла начинается с -----BEGIN и его можно прочитать в текстовом редакторе, в файле используется base64, который читается в ASCII, а не в двоичном формате, то сертификат/ключ уже в формате PEM. Для таких сертификатов достаточно просто сохранить файл с расширением .pem используя команду
cp wildcard.[домен].crt wildcard.[домен].pem
Если файл в двоичном формате, то преобразовать его можно используя следующую команду:
openssl x509 -inform DER -outform PEM -in wildcard.[домен].crt -out wildcard.[домен].pem
Также на основании crt файла необходимо сгенерировать pfx сертификат.
Для конвертации сертификатов в PFX необходимо воспользоваться следующей командой:
openssl pkcs12 -export -out wildcard.[домен].pfx -inkey wildcard.[домен].key -in wildcard.[домен].crt
После выполнения команды openssl запросит ввести новый пароль и подтвердить его, после чего, будет создан сертификат в формате pfx.
Получившийся сертификат необходимо скопировать несколько раз (по количеству используемых компонентов ПО) и переименовать в соответствии с названиями сервисов:
cp wildcard.[домен].pfx EXEMESMiddleware.pfx
cp wildcard.[домен].pfx EXEMESClient.pfx
cp wildcard.[домен].pfx EXEReport.pfx
Затем необходимо сгенерировать jks сертификат
jks сертификат необходим только для ExeMES
Для конвертации в jks необходима утилита keytool которая входит в состав JDK.
Пример команды для установки java (для CentOS):
sudo yum -y install java
Сначала требуется создать сертификат в формате PKCS#12 с помощью OpenSSL:
openssl pkcs12 -export -in wildcard.[домен].crt -inkey wildcard.[домен].key -out wildcard.[домен].p12
После выполнения команды openssl запросит ввести новый пароль и подтвердить его, после чего будет сгенерирован сертификат.
Запомните пароль, он вам потребуется в дальнейшем
Далее, необходимо выполнить команду используя keytool:
keytool -importkeystore -srckeystore wildcard.[домен].p12 \ -srcstoretype PKCS12 \ -destkeystore wildcard.[домен].jks \ -deststoretype JKS
Для выполнения команды необходимо ввести пароль для хранилища JKS и пароль от ключа, введенного на предыдущем шаге.
После выполнения указанных операций, в папке появится хранилище ключей wildcard.[домен].jks
Для корректного применения сертификатов необходимо указать на них ссылки для приложений.
При установке в Docker необходимо внести правки в docker-compose.yaml в строке
source: ./crt/wildcard.[домен].crt
Для pfx сертификатов, необходимо изменить пароль в следующих строках:
ASPNETCORE_Kestrel__Certificates__Default__Password: "пароль указанный при генерации pfx сертификата"
- Настройка DNSАдреса сервисов продуктов ExePlant должны быть добавлены в DNS:
[ip адрес хоста где развернут контейнер] postgres.[домен]
[ip адрес хоста где развернут контейнер] MESClient.[домен]
[ip адрес хоста где развернут контейнер] MESMIddleware.[домен]
[ip адрес хоста где развернут контейнер] keycloak.[домен]
[ip адрес хоста где развернут контейнер] report.[домен]
При установке в Docker и отсутствии DNS сервера необходимо сконфигурировать адресацию по именам. Для этого в файле docker-compose.yaml нужно добавить в конфигурацию каждого из контейнеров приложений ExePlant следующий ключ:
extra_hosts:
- "keycloak.[домен] middleware.[домен] client.[домен] report.[домен]:[ip адрес хоста где развернут контейнер]"
Установка Guardant Control Center и Guardant SLK
Для корректной работы программных продуктов ExePlant требуется установить следующее ПО на один из компьютеров в сети с контейнерами приложений, который будет выполнять функцию сервера лицензирования:- Guardant Control Center;
- Guardant SLK.
Дистрибутивы ПО Guardant поставляются совместно с ПО ExePlant и находятся в архиве в папке gcc.
После установки ПО Guardant необходимо активировать лицензию ExeMES с использованием ПО Мастер лицензий Guardant (входит в состав Guardant SLK).Для активации необходимо использовать Программный ключ лицензии.
Программный ключ лицензии представляет собой текстовый шифр и предоставляется Вендором после покупки лицензии.
Мастер лицензий Guardant — утилита, предназначенная для активации и переноса программных лицензий, а также для обновления лицензий.
В зависимости от ОС хоста, на котором запускается Мастер лицензий Guardant активация лицензии может быть выполнена:
- для ОС Windows в графическом режиме. Детальная инструкция представлена по ссылке https://dev.guardant.ru/pages/viewpage.action?pageId=124944419;
- для ОС Linux в консольном режиме. Детальная инструкция представлена по ссылке https://dev.guardant.ru/pages/viewpage.action?pageId=124944421.
Детальная информация по работе с Guardant Control Center представлена на сайте производителя https://dev.guardant.ru/display/GSLK/Guardant+Control+Center.
Установка ExeMES
Установка ExeMES в Docker
Для установки и запуска ExeMES необходимо распаковать архив, содержащий ПО ExeMES и предоставленный Вендором используя команду:
gunzip -c exemes.tar.gz | tar -xvf –
В результате у вас появится новый каталог exemes с необходимыми для запуска файлами.
Затем необходимо скопировать в каталог /exemes/crt сгенерированные на предыдущих шагах сертификаты. Далее необходимо перейти в каталог, появившийся после распаковки архива, и выполнить команду:
bash install_exemes.sh
при этом произойдет загрузка образов, копирование данных и запуск сервисов.
Если файл не запускается, измените права на этот файл командой:
chmod g+x install_exemes.sh
Установка ExeMES в Kubernetes
Инструкция в разработке
Настройка переменных окружения
Переменные окружения - набор значений, который определяет необходимые параметры работы и запуска приложений
Пакет инсталляции ExeMES уже содержит настроенные переменные окружения и если вы не планируете менять настройки по умолчанию, то можете пропустить данный шаг.
Доступные настройки:
При запуске контейнера ExeMES Middleware необходимо передать переменные окружения:
- MESDBContext - строка подключения к БД MESDB с полными правами, содержит как строку подключения, так и данные пользователя (логин), под которым будет выполнятся взаимодействия сервиса с БД при выполнении операций, требующих неограниченный доступ к БД (на чтение и запись);
- MESDBContextRO - строка подключения к БД MESDB с правами только на чтение, содержит как строку подключения, так и данные пользователя (логин), под которым будет выполнятся взаимодействия сервиса с БД при выполнении операций, требующих ограниченный доступ к БД (только на чтение), используется при выполнении API функций GesDsByFn и GetDsBySp;
Пример:
docker run [путь для скачивания образа приложения] -e MESDBContext='Server=localhost; User Id=middleware; Database=mesdb; Port=5432; Password=password; SSLMode=Prefer' -e MESDBContextRO='Server=localhost; User Id=middleware_ro; Database=mesdb; Port=5432; Password=password; SSLMode=Prefer'
Если у пользователя, данные которого передаются в переменной окружения MESDBContext отсутствуют права на создание объектов в БД, то необходимо дополнительно передать переменную окружения MESDBOwnerContext, которая содержит строку подключения к БД MESDB с правами владельца БД. Пример:
-e MESDBOwnerContext='Server=localhost; User Id=postgres; Database=mesdb; Port=5432; Password=password; SSLMode=Prefer'
Стратегией работы с базой данных MESDB при запуске приложения можно управлять с помощью переменной окружения DBStrategyOnStartUp, которая может принимать следующие значения:
- DoNothing - ничего не делать с БД при запуске приложения;
- CreateIfNotExists - создать БД, если она еще не существует (эта опция применяется по умолчанию);
- AlwaysReCreate - пересоздавать БД заново при каждом запуске приложения (эта стратегия может быть выбрана для тестового окружения);
- AlwaysMigrate - автоматически обновлять версию БД при запуске приложения.
Пример:
-e DBStrategyOnStartUp='CreateIfNotExists'
CORS (Cross-Origin Resource Sharing) — это механизм браузера, который позволяет определить список ресурсов, к которым страница может получить доступ.
Он необходим для обеспечения безопасности и защиты пользователей от злоумышленников при использовании HTTP-протокола.
По умолчанию сайты могут запрашивать ресурсы только со своего origin. Такое ограничение называется Same-Origin Policy. CORS расширяет Same-Origin Policy, позволяя получать доступ к ресурсам с разных доменов.
Разрешения CORS могут потребоваться, если вы вызываете методы ExeMES в сторонних приложениях: внешних пользовательских портала, таких как ELMA365 и прочие.
Для разрешения CORS необходимо передать переменную окружения CORS, в которой через запятую перечислить разрешенные сайты. Пример:
-e CORS='https://elma365.exeplant.local,https://keycloak.exeplant.local'
Доступно начиная с версии 2.0
Опцией управления доступом к объектам из объектной модели можно управлять с помощью переменной окружения EntityAccessProtection, которая может принимать значения enabled (включение опции) и disabled (отключение опции). Пример:
-e EntityAccessProtection='enabled'
По умолчанию опция выключена
При запуске контейнеров ExeMES Client, ExeMES RuntimeClient или ExeSched необходимо передать в переменной окружения MiddlewareApiRootUri путь до сервиса ExeMES Server (Middleware). Пример:
docker run [путь для скачивания образа приложения] -e MiddlewareApiRootUri='https://mesmiddleware.myweb.local/api'
Приложения ExeMES RuntimeClient или ExeSched доступны начиная с версии 2.0
Доступно начиная с версии 2.0
При запуске контейнера ExeSched необходимо передать в переменной окружения DBConnection строку подключения к БД приложения ExeSched. Пример:
docker run [путь для скачивания образа приложения] -e DBConnection='Host=localhost;Port=5432;Database=exesched;Username=user;Password=pass'
Конфигурация подключения приложений ExeMES к серверу лицензирования задается в переменных окружения:
- GCCSettings - различные настройки по работе с лицензией:
- Remotehosts - перечень серверов лицензирования (хостов, на которых необходимо осуществлять поиск лицензии). IP адреса серверов указываются через запятую. Пример:
GCCSettings:Remotehosts="170.10.10.1, 170.10.10.2"
- Remotehosts - перечень серверов лицензирования (хостов, на которых необходимо осуществлять поиск лицензии). IP адреса серверов указываются через запятую. Пример:
Проверка работоспособности ExeMES после установки
Проверить, что сервисы запустились, можно перейдя в браузере по адресу, указанному при установке: https:// [ip хоста, на который устанавливался ExeMES]/.
В случае корректной установки ПО ExeMES в браузере должно открыться окно авторизации ExeMES Client
В настройках контейнеров ExeMES по умолчанию указана синхронизация времени контейнера с временем хоста, на котором он запущен. Рекомендуется синхронизировать локальное время хостов, на которых запускаются контейнеры ExeMES с корпоративном ntp сервером.
- No labels