You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 32 Next »

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

Параметр

Значение

Процессор

Не менее 4 vCPU.

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

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

ОЗУ

Минимум 4 GB RAM

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

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

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

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

  1. На физическом или виртуальном хосте(ах), на которых планируется дальнейшее развертывание среды исполнения контейнеризированных приложений необходимо обязательно сконфигурировать ip адрес отличный от "127.0.0.1". Данный ip адрес далее должен использоваться как ip адрес хоста при выполнении пунктов инструкции.
  2. Подготовка среды для развертывания приложения (среда на выбор):

    1. Установка Docker

      Для установки Docker потребуется доступ в интернет. После установки завершения установки доступ в интернет можно будет закрыть

      Детальную информацию по установке Docker также можно найти на сайте Вендора - https://docs.docker.com/engine/install/.

      Установка Docker выполняется в терминале ОС под пользователем с правами root

      Для установки docker, в терминале Ubuntu необходимо последовательно выполнить следующие команды:

      # Add Docker's official GPG key:
      sudo apt-get update
      sudo apt-get install ca-certificates curl
      sudo install -m 0755 -d /etc/apt/keyrings
      sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
      sudo chmod a+r /etc/apt/keyrings/docker.asc
      
      # Add the repository to Apt sources:
      echo \
        "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
        $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
        sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
      sudo apt-get update
      
      # Install latest version:
      sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

      Приведенные в блоке выше команды устанавливают последнюю версию docker из репозитория.

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

      sudo docker run hello-world

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

      Установка 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 выполняется в терминале ОС под пользователем с правами root

       Для установки docker, в терминале Debian необходимо последовательно выполнить следующие команды:

      apt install lsb-release gnupg2 apt-transport-https ca-certificates curl software-properties-common -y
      curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/trusted.gpg.d/debian.gpg
      add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
      apt update
      apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
      systemctl start docker 
      systemctl enable docker
      docker version

      Последняя команда позволяет определить успешную установку docker, при успешной установке будут выведены версии установленных компонетов:


    2. Развертывание кластера Kubernetes

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

  3. Подготовка сертификатов 

    Для использования защищенных протоколов https ssl, необходимо сгенерировать и сконвертировать сертификаты для вашего домена.

    Для создания и конвертации сертификатов необходимо установить openssl. Детальная инструкция по установке доступна по ссылке https://wiki.openssl.org/index.php/Binaries.

    На первом шаге необходимо сгенерировать key файл. Для этого необходимо выполнить команду в терминале:

    openssl genrsa -out wildcard.[домен].key 2048

    Затем необходимо создать файл cnf с конфигурационной информацией следующего содержания:

    [ req ]
    default_bits = 2048
    distinguished_name = req_distinguished_name
    req_extensions = req_ext
    prompt = no
    
    [ req_distinguished_name ]
    C = RU
    ST = Russia
    L = Moscow
    O = [организация]
    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 = mes-runtime.[домен]
    DNS.5 = exesched.[домен]
    DNS.6 = report.[домен]
    DNS.7 = *.[домен]

    После чего с использование key и cnf файла сгенерировать crt файл сертификата используя команду:

    openssl req -x509 -nodes -newkey rsa:4096 -extensions req_ext -keyout wildcard.[домен].key -out wildcard.[домен].crt -days [срок действия сертификата в днях] -config wildcard.[домен].cnf

    На основании crt файла необходимо сгенерировать pfx сертификат.

    Для конвертации сертификатов в pfx необходимо воспользоваться следующей командой:

    openssl pkcs12 -export -out wildcard.[домен].pfx -inkey wildcard.[домен].key -in wildcard.[домен].crt

    После выполнения команды openssl запросит ввести новый пароль и подтвердить его, после чего, будет создан сертификат в формате pfx.

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

    При установке в Docker необходимо внести правки в docker-compose.yaml в строках, указав новый crt сертификат и новый pfx сертификат

    source: /root/dev/crt/wildcard.[домен].pfx
    ...
    source: /root/dev/crt/wildcard.[домен].crt

    Для pfx сертификатов, необходимо изменить пароль в следующих строках:

    ASPNETCORE_Kestrel__Certificates__Default__Password: "пароль указанный при генерации pfx сертификата"


  4. Настройка DNS

    Адреса сервисов продуктов ExePlant должны быть добавлены в DNS:
    [host_ip] client.[домен]
    [host_ip] middleware.[домен]
    [host_ip] keycloak.[домен]
    [host_ip] mes-runtime.[домен]
    [host_ip] exesched.[домен]
    [host_ip] report.[домен]

    При использовании DNS необходимо в docker-compose.yaml (из состава инсталляционного пакета) удалить конфигурацию extra_hosts

    При установке в Docker и отсутствии DNS сервера необходимо добавить в файл hosts ОС записи для каждого сервиса:

    [host_ip] client.[домен]
    [host_ip] middleware.[домен]
    [host_ip] keycloak.[домен]
    [host_ip] mes-runtime.[домен]
    [host_ip] exesched.[домен]
    [host_ip] report.[домен]



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

    Для корректной работы программных продуктов ExePlant требуется установить Guardant Control Center на один из компьютеров в сети, который будет выполнять функцию сервера лицензирования.

    Допускается использовать в качестве сервера лицензирования хост, на котором установлен Docker

    Дистрибутивы Guardant Control Center для различных ОС поставляются совместно с ПО ExePlant и находятся в инсталляционном пакете в папке gcc:

    Выберите любой подходящий для вашей ОС файл установщик и произведите установку ПО любым удобным способом доступным в вашей ОС.

    Примеры установки Guardant Control Center в ОС Ubuntu:

    Для установки Guardant Control Center в графическом режиме в ОС Ubuntu удобно использовать установочный файл grdcontrol*.deb (конкретный файл необходимо выбрать в зависимости от разрядности ОС). Файл необходимо открыть через Центр приложений и нажать на кнопку "Установить", после чего дождаться завершения установки.

    Для установки Guardant Control Center в консольном режиме в ОС Ubuntu удобно использовать установочный файл grdcontrol*.deb (конкретный файл необходимо выбрать в зависимости от разрядности ОС). В консоли необходимо перейти в каталог расположения установочного файла и выполнить команду:

    sudo apt install ./[имя_файла].deb

    После установки ПО Guardant Control Center необходимо активировать лицензию. Активация лицензий производится с использованием ПО Мастер лицензий Guardant (входит в состав Guardant SLK и не требует установки).

    Активация лицензии может производиться в двух режимах:

    Для запуска ПО Мастер лицензий Guardant в визуальном режиме необходимо запустить файл license_wizard из архива grdcontrol-3.29.tar.gz (соответствующий файл находится в папке x86 или x86_64 в зависимости от разрядности вашей ОС).

    Для активации лицензии необходимо нажать на кнопку "+ Активация лицензии", после чего ввести в форму Программный ключ лицензии и завершить процесс активации следуя инструкциям в Мастере лицензий Guardant.

    Программный ключ лицензии представляет собой текстовый шифр и предоставляется Вендором после покупки лицензии.

    После успешной активации лицензии в Мастере лицензий Guardant отобразится информация об активированной лицензии.

    Для активации лицензии необходимо перейти в папку с файлом license_wizard из архива grdcontrol-3.29.tar.gz в режиме консоли (соответствующий файл находится в папке x86 или x86_64 в зависимости от разрядности вашей ОС).

    Далее необходимо предоставить права на файл Мастера лицензий Guardant, выполнив команду:

    chmod +x license_wizard

    Для активации лицензии необходимо выполнить команду:

    ./license_wizard --console --activate [Программный ключ лицензии] --host https://getlicense.guardant.ru

    Программный ключ лицензии представляет собой текстовый шифр и предоставляется Вендором после покупки лицензии.

    Для проверки активации лицензии необходимо выполнить команду:

    ./license_wizard --console --list

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

    Детальная информация по работе с Мастером лицензий Guardant представлена на сайте производителя.


Установка ExeMES

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

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

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

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

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

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

    Затем необходимо скопировать в каталог /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"

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

Проверить, что сервисы запустились, можно перейдя в браузере по адресу, указанному при установке: https:// [ip хоста, на который устанавливался ExeMES]/.

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

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

  • No labels