Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comboversions
Links98383;24051756;10715714;7274520
ProductExeMES
VerNamesот 2.1;2.0;1.3;1.2

ExeMES

 ExeMES

поставляется в формате контейнеризированного приложения, которое может быть запущено как в Docker, так и в кластере Kubernetes.

На данной странице представлена инструкция для инсталляции ПО ExeMES в Docker. По вопросам установки ПО ExeMES в кластере Kubernetes необходимо обращаться на портал технической поддержки.

Table of Contents

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

Параметр

Значение

Процессор

Не менее 4 vCPU.

Частота – не ниже 2,6 ГГц.

Поддерживает работу с 64-разрядными приложениями на аппаратном уровне.

ОЗУ

Минимум 4 GB RAM

Свободное пространство на жестком диске

Объем – не менее 50 Гб.

Примечание: объем необходимого свободного места на жестком диске зависит от объема данных, поступающих и хранящихся в ExeMES, и определяется самостоятельно на основе опытной эксплуатации ПО.

Подготовка к установке

:Подготовка среды для развертывания приложения (среда на выбор):

  1. Установка Docker
    Expand
    titleИнструкция по установке

    Include Page
    Установка Docker
    Установка Docker

    Развертывание кластера Kubernetes InfoИнструкция в разработке 
  2. Для хоста, на котором установлен Docker обязательно должен быть сконфигурирован ip адрес отличный от "127.0.0.1". Данный ip адрес должен быть использован в качестве [host_ip] при выполнении дальнейших пунктов инструкции.
  3. Подготовка сертификатов 

    Expand
    titleИнструкция

    Include Page
    Подготовка сертификатов
    Подготовка сертификатов

    Tip

    В инсталляционном пакете в папке crt поставляются самоподписанные сертификаты для домена mycompany.local. Если вы разворачиваете ПО ExeMES в демонстрационных, тестовых или обучающих целях (не на продуктивной среде) и не планируете использовать другой домен для работы приложения, то вы можете пропустить данный шаг инструкции и воспользоваться готовыми сертификатами.

  4. Настройка DNS
    Expand
    titleИнструкция

    Include Page
    Настройка DNS
    Настройка DNS

  5. Установка Guardant Control Center и Guardant SLK

    Expand
    titleИнструкция

    Include Page
    Установка Guardant Control Center и Guardant SLK
    Установка Guardant Control Center и Guardant SLK

Установка ExeMES

Установка ExeMES в Docker

ExpandtitleИнструкция по установке в Cent OS

для ОС семейства Linux

Excerpt

Для установки и запуска ExeMES необходимо распаковать архив, содержащий ПО ExeMES (инсталляционный пакет) и предоставленный Вендором используя команду:

Code Block
gunzip -c exemes.tar.gz | tar -xvf –

В результате у вас появится новый каталог exemes с необходимыми для запуска файлами.

Затем необходимо отредактировать файл docker-compose.yaml, расположенный в корневой папке каталога:

  • заменить по тексту файла параметр [host_ip] на ip адрес хоста, на котором инсталлирован Docker;
  • заменить по тексту файла параметр [license_server_ip] на ip адрес хоста, на котором установлен сервер лицензирования Guardant Control Center;
  • настроить необходимые переменные окружения;
Tip

Если вы разворачиваете ПО ExeMES в демонстрационных, тестовых или обучающих целях (не на продуктивной среде) и не планируете использовать другой домен для работы приложения, то вы можете пропустить следующие инструкции

  • скопировать в каталог /exemes/crt сгенерированные
на предыдущих шагах сертификаты. Далее необходимо
  • ранее сертификаты;
  • предоставить права на сгенерированные ранее файлы сертификатов, выполнив команду:
    Code Block
    chmod -R 777 /exemes/crt/
  • отредактировать файл docker-compose.yaml: заменить по тексту файла "mycompany.local" на имя домена, для которого сгенерированы сертификаты;
  • отредактировать файлы: /exemes/data/exemesmiddleware/keycloak.json, /exemes/data/exemesclient/keycloak.json, /exemes/data/exeruntimeclient/keycloak.json, /exemes/data/exesched/keycloak.json: заменить в ссылках "mycompany.local" на имя домена, для которого сгенерированы сертификаты. Пример:
    Code Block
    languagejs
    title/exemes/data/exemesclient/keycloak.json
    {
      "realm": "exemes",
      "auth-server-url": "https://keycloak.[домен]:5787/",
      "ssl-required": "external",
      "resource": "mes-client",
      "verify-token-audience": false,
      "credentials": {
        "secret": "SFY1TvAoSgrHQooduT9OstvHsKdwufKo"
      },
      "use-resource-role-mappings": true,
      "confidential-port": 0,
      "policy-enforcer": {},
      "Logout": "https://client.[домен]:8142/"
    }

Далее необходимо открыть терминал ОС с root доступом, перейти в каталог, появившийся после распаковки архива, и выполнить команду:

Code Block
bash install
_
-exemes.sh

при этом произойдет загрузка образов, копирование данных и запуск сервисов.

Tip

При выполнении указанного выше скрипта производится установка Portainer - средства для мониторинга работы контейнеризированных приложений. Если вам не требуется установка Portainer удалите из файла install_exemes.sh следующий код:

Code Block
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.20.2
systemctl restart docker
Note

Если файл не запускается, измените права на этот файл командой:

Code Block
chmod g+x install_exemes.sh

Установка ExeMES в Kubernetes

InfoИнструкция в разработке

После завершения выполнения скрипта будут запущены контейнеры приложений ExeMES, что будет подтверждено соответствующим сообщением в терминале.

Image Added

После завершения инсталляции необходимо открыть web-консоль администрирования Keycloak в браузере по адресу https://keycloak.[домен]:5787. Для доступа в Keycloak необходимо воспользоваться логином и паролем административной учетной записи, которые указаны в параметрах KEYCLOAK_ADMIN_USER и KEYCLOAK_ADMIN_PASSWORD настроек контейнера keycloak в docker-compose.yaml.

В Keycloak необходимо перейти в настройки realm exemes, создать пользователя и добавить его в группу EXEMES_Admins.

Anchor
env
env
Настройка переменных окружения

Info

Переменные окружения - набор значений, который определяет необходимые параметры работы и запуска приложений

Пакет инсталляции ExeMES уже содержит настроенные переменные окружения и если вы не планируете менять настройки по умолчанию, то можете пропустить данный шаг.

Доступные настройки:

Expand
titleНастройка подключения к БД MESDB (ExeMES Server)

Для подключения к БД ExeMES Middleware использует следующие переменные окружения:

  • MESDBContext - строка подключения к БД MESDB с полными правами, содержит как строку подключения, так и данные пользователя (логин), под которым будет выполнятся взаимодействия сервиса с БД при выполнении операций, требующих неограниченный доступ к БД (на чтение и запись);
  • MESDBContextRO - строка подключения к БД MESDB с правами только на чтение, содержит как строку подключения, так и данные пользователя (логин), под которым будет выполнятся взаимодействия сервиса с БД при выполнении операций, требующих ограниченный доступ к БД (только на чтение), используется при выполнении API функций GesDsByFn и GetDsBySp;

Настройка переменных окружения выполняется путем редактирования файла docker-compose.yaml. Пример:

Code Block
MESDBContext: "Server=localhost; User Id=middleware; Database=mesdb; Port=5432; Password=password; SSLMode=Prefer"
MESDBContextRO: "Server=localhost; User Id=middleware_ro; Database=mesdb; Port=5432; Password=password; SSLMode=Prefer"

Если у пользователя, данные которого передаются в переменной окружения MESDBContext отсутствуют права на создание объектов в БД, то необходимо дополнительно передать переменную окружения MESDBOwnerContext, которая содержит строку подключения к БД MESDB с правами владельца БД. Пример:

Code Block
MESDBOwnerContext: "Server=localhost; User Id=postgres; Database=mesdb; Port=5432; Password=password; SSLMode=Prefer"
Expand
titleУправление стратегией работы БД MESDB при запуске приложения ExeMES Server (Middleware)

Стратегией работы с базой данных MESDB при запуске приложения можно управлять с помощью переменной окружения DBStrategyOnStartUp, которая может принимать следующие значения:

  • DoNothing - ничего не делать с БД при запуске приложения;
  • CreateIfNotExists - создать БД, если она еще не существует (эта опция применяется по умолчанию);
  • AlwaysReCreate - пересоздавать БД заново при каждом запуске приложения (эта стратегия может быть выбрана для тестового окружения);
  • AlwaysMigrate - автоматически обновлять версию БД при запуске приложения.

Настройка переменной окружения DBStrategyOnStartUp выполняется путем редактирования файла docker-compose.yaml. Пример:

Code Block
DBStrategyOnStartUp: "CreateIfNotExists"
Expand
titleРазрешение CORS
Info

CORS (Cross-Origin Resource Sharing) — это механизм браузера, который позволяет определить список ресурсов, к которым страница может получить доступ.

Он необходим для обеспечения безопасности и защиты пользователей от злоумышленников при использовании HTTP-протокола.

По умолчанию сайты могут запрашивать ресурсы только со своего origin. Такое ограничение называется Same-Origin Policy. CORS расширяет Same-Origin Policy, позволяя получать доступ к ресурсам с разных доменов.

Разрешения CORS могут потребоваться, если вы вызываете методы ExeMES  в сторонних приложениях: внешних пользовательских портала, таких как ELMA365 и прочие.

Для разрешения CORS необходимо передать переменную окружения CORS, в которой через запятую перечислить разрешенные сайты. 

Настройка переменной окружения CORS выполняется путем редактирования файла docker-compose.yaml. Пример:

Code Block
CORS: "https://elma365.exeplant.local,https://keycloak.exeplant.local"
Expand
titleВключение опции управления доступом к объектам из объектной модели
Note

Доступно начиная с версии 2.0

Опцией управления доступом к объектам из объектной модели можно управлять с помощью переменной окружения EntityAccessProtection, которая может принимать значения enabled (включение опции) и disabled (отключение опции).

Настройка переменной окружения EntityAccessProtection выполняется путем редактирования файла docker-compose.yaml. Пример:

Code Block
EntityAccessProtection: "enabled"
Tip

По умолчанию опция выключена

Expand
titleНастройка подключения к ExeMES Server (Middleware)

При запуске контейнеров ExeMES Client, ExeMES RuntimeClient или ExeSched необходимо передать в переменной окружения MiddlewareApiRootUri путь до сервиса ExeMES Server (Middleware).

Настройка переменных окружения выполняется путем редактирования файла docker-compose.yaml. Пример:

Code Block
MiddlewareApiRootUri: "https://mesmiddleware.myweb.local/api"
Note

Приложения ExeMES RuntimeClient или ExeSched доступны начиная с версии 2.0

Expand
titleНастройка подключения к БД ExeSched
Note

Доступно начиная с версии 2.0

При запуске контейнера ExeSched необходимо передать в переменной окружения DBConnection строку подключения к БД приложения ExeSched.

Настройка переменных окружения выполняется путем редактирования файла docker-compose.yaml. Пример:

Code Block
DBConnection: "Host=localhost;Port=5432;Database=exesched;Username=user;Password=pass"
Expand
titleНастройка подключения к сервису лицензирования

Конфигурация подключения приложений ExeMES к серверу лицензирования задается в переменной окружения GCCSettings:Remotehosts.  GCCSettings:Remotehosts содержит перечень серверов лицензирования (хостов, на которых будет осуществляться поиск лицензии, при запуске контейнера). IP адреса серверов указываются через запятую. Настройка переменных окружения выполняется путем редактирования файла docker-compose.yaml. Пример:

Code Block
GCCSettings:Remotehosts: "170.10.10.1, 170.10.10.2"

Проверка работоспособности ExeMES после установки

Проверить, что сервисы запустились, можно перейдя Для проверки работоспособности сервисов необходимо перейти в браузере по адресу, указанному при установке: указанным ниже адресам, авторизоваться под учетной записью пользователя с правами администратора, который был создан при установке и убедиться, что стартовые страницы приложений отображаются корректно.

[ip хоста, на который устанавливался ExeMES]/.

В случае корректной установки ПО ExeMES в браузере должно открыться окно авторизации ExeMES Client

Image Removed
  • mes-runtime.[домен]:8143/
  • ExeSched - https://exesched.[домен]:8135/
Tip

Если вы хотите отказаться от использования портов в адресах приложений, то необходимо использовать прокси-сервер, например Nginx

Warning

В настройках контейнеров ExeMES по умолчанию указана синхронизация времени контейнера с временем хоста, на котором он запущен. Рекомендуется синхронизировать локальное время хостов, на которых запускаются контейнеры ExeMES с корпоративном ntp сервером.