Установка#

Выбор способа установки#

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

Обзор#

Установка сервиса Batch UI должна выполняться последовательно в соответствии с общей схемой процесса развертывания:

@startuml
skinparam shadowing false
start
-[#black]->
#white : Обеспечение выполнения пререквизитов;
-[#black]->
#white : Обеспечение выполнения требований \n подготовки окружения;
-[#black]->
#white : Выбор способа установки сервисов;
-[#black]->
fork
  -[#black]->
  #white :Ручная установка сервиса;
  -[#black]->
  fork again
  -[#black]->
  #white :Автоматизированная установка сервиса; 
  -[#black]->
  fork
  -[#black]->
  #white :Установка сервиса \n через Deploy Tools;
  -[#black]->
  end fork
  -[#black]->
end fork

-[#black]->
#white : Проверка развертывания сервиса;
-[#black]->
stop
@enduml

Note

Для распаковки дистрибутива и сопоставления docker-образов необходимо использовать Unpacker и Merger компонента Deploy tools.

Пререквизиты#

Для установки сервиса Batch UI должны быть:

  • обеспечены соответствующие требования и настройка окружения;

  • согласно требованиям к КТС получены проектная область в системе оркестрации контейнерами и база данных.

Warning

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

Требования к окружению#

Для использования сервиса Batch UI должны быть реализованы следующие требования к окружению:

  • наличие платформы системы оркестрации контейнерами;

  • наличие в инфраструктуре One-Time Password (OTP) / OTT (далее — OTT) (опционально).

Настройка окружения#

Подключение namespace к компоненту Управлению политиками#

Подключение namespace к компоненту Управление политиками (POLM, версия 1.12) продукта Platform V Synapse Service Mеsh (SSM) осуществляется в соответствии с Руководством прикладного разработчика на компонент.

Выпуск и установка сертификатов для Ingress/Egress#

Необходимо выпустить и установить сертификаты Ingress/Egress, манифесты:

  • istio-egressgateway-ca-certs;

  • istio-egressgateway-certs;

  • istio-ingressgateway-ca-certs;

  • istio-ingressgateway-certs.

После чего будет создан набор необходимых артефактов, в том числе секреты с сертификатами cert, ca-cert.

Созданные секреты содержат, в том числе, наименования файлов tls.crt, tls.key, ca-chain.cert.pem (вся цепочка сертификатов):

  • istio-egressgateway-certs

  kind: Secret
  apiVersion: v1
  metadata:
    name: istio-egressgateway-certs

  ...

  data:
    tls.crt: >-
      LS0...<много символов>...0tLQ0K
    tls.key: >-
      LS0...<много символов>...0tLS0t
  type: Opaque
  • istio-egressgateway-ca-certs

  kind: Secret
  apiVersion: v1
  metadata:
    name: istio-egressgateway-ca-certs

  ...
  data:
    ca-chain.cert.pem: >-
      LS0...<много символов>...0tLQ==
  type: Opaque
  • istio-ingressgateway-certs

  kind: Secret
  apiVersion: v1
  metadata:
    name: istio-ingressgateway-certs

  ...

  data:
    tls.crt: >-
      LS0...<много символов>...0tLQ0K
    tls.key: >-
      LS0...<много символов>...0tLS0t
  type: Opaque
  • istio-ingressgateway-ca-certs

  kind: Secret
  apiVersion: v1
  metadata:
    name: istio-ingressgateway-ca-certs

  ...

  data:
    ca-chain.cert.pem: >-
      LS0...<много символов>...0tLQ==
  type: Opaque

В секретах istio-ingressgateway-ca-certs и istio-egressgateway-ca-certs должен присутствовать один файл ca-chain.cert.pem со всей цепочкой сертификатов. Если в секрете указаны два отдельных сертификата, то вызовы через Ingress по HTTPS не будут работать.

Возможен вариант, когда в секретах в файле ca-chain.cert.pem содержится вся цепочка сертификатов (т.е. добавлено содержимое из ca.pem), но сам файл ca.pem не удален. В этом случае все будет работать корректно.

Настройка OTT#

Для настройки OTT выполните следующие действия:

  1. Получите сертификаты приложения, публичный ключ OTT Service и выполните их подключение.

  2. Создайте ConfigMap для OTT-sidecar.

Note

Дистрибутив сервиса Batch UI может быть развернут как с возможностью интеграции с сервисом OTT, так и без нее. Подробнее см. в Руководстве по системному администрированию сервиса Batch в разделе «Конфигурирование интеграции с сервисом OTT».

Если развертывание сервиса Batch UI производится без OTT, то в выполнении нижеприведенных действий нет необходимости.

Получение сертификатов приложения, публичного ключа OTT Service и их подключение#

Для получения сертификатов приложения, публичного ключа OTT Service и их подключения выполните следующие действия:

  1. При помощи keytool сгенерируйте key-store c ключами (batch_cert.p12) по алгоритму SHA256withECDSA и длиной ключа 256 бит. В результате будет сформирован файл batch_cert_req.pem.

Пример команды:

   keytool -genkey -keyalg EC -sigalg SHA256withECDSA -keystore batch.p12 -storetype PKCS12 -keysize 256 -dname "CN=batch" -alias batch

   keytool -certreq -keyalg EC -sigalg SHA256withECDSA -keystore batch.p12 -storetype PKCS12 -alias batch > batch_cert_req.pem
  1. Отправьте файл batch_cert_req.pem администратору OTT в заявке на генерацию сертификата для модуля. Администратор OTT подписывает/генерирует ключи, высылает их обратно.

  2. Импортируйте полученные от администратора OTT-ключи в key-store batch_cert.p12.

Пример команды:

   keytool -import -keystore batch.p12 -storetype PKCS12 -file SberbankPlatformCA_EC.pem -alias SberbankPlatformCA_EC

   keytool -import -keystore batch.p12 -storetype PKCS12 -file batch.pem -alias batch
  1. Создайте два секрета:

    • batch-ott-certs — с сертификатами (batch.p12: >- , ott_service_truststore.p12: >- )

      Важно!

      Для корректного создания секрета конвертируйте содержимое файла с ключами в Base64. Далее — полученную строку вставьте в yml-файл. Либо выполните команду:

      oc create secret generic batch-ott-certs --from-file=ott_service_truststore.p12=./sigma_ott_trust.p12 --from-file=batch.p12=./batch.p12
      
    • batch-ott-passwords — с паролями к ключам:

      • OTT_CERTSTORE_PRIVATE_KEY_PWD — пароль для чтения ключа;

      • OTT_CERTSTORE_PWD — пароль для чтения сертификата;

      • OTT_TRUST_STORE_PWD — пароль для чтения ott_service_truststore.p12.

ConfigMap для OTT-sidecar#

Для работы OTT-sidecar необходимо наличие в дистрибутиве configMap с настройками сервиса. Создание configMap выполняется на этапе установки сервиса.

Ручное конфигурирование параметров ConfigMap для OTT-sidecar

Ручное конфигурирование параметров ConfigMap для OTT-sidecar выполняется в случае, если установка сервиса производится без помощи Deploy Tools.

Конфигурационные YML-файлы для OTT-sidecar находятся в дистрибутиве по пути conf/k8s (папка /base содержит конфигурационные файлы для систем оркестрации контейнеров Kubernetes и DropApp, /overrides — OpenShift). Список файлов конфигурации:

  • batch-ui-cm-ott-egress-logback;

  • batch-ui-cm-ott-egress-settings.

Перед загрузкой YML-файлов для OTT-sidecar в системе оркестрации контейнерами замените placeholder на реальные значения параметров.

Для загрузки конфигураций в систему оркестрации контейнерами:

  1. Выполните вход в консоль системы оркестрации контейнерами.

  2. На панели слева выберите раздел WorkloadsConfig Maps.

  3. Нажмите кнопку Create Config Map.

  4. В открывшемся окне вставьте вместо имеющегося содержимое файла batch-ui-cm-ott-egress-logback.

  5. Нажмите кнопку Create.

  6. Повторите пункты 2–4 для файла batch-ui-cm-ott-egress-settings.

Автоматизированное конфигурирование параметров ConfigMap для OTT-sidecar

При автоматизированном развертывании сервиса конфигурирование параметров ConfigMap для OTT-sidecar выполняется в Deploy Tools в файле batch-ui.ott-sidecar.all.conf.

Подробнее см. в разделе «Автоматизированная установка сервиса с использованием Deploy Tools».

Оформление доступа ТУЗ к репозиториям с Docker-образами#

Для оформления доступа ТУЗ к репозиториям с Docker-образами добавьте в default-аккаунт секрет для доступа к репозиторию с Docker-образами, например, name: docker-registry, type:

$> oc create secret docker-registry <!- введите сюда выбранное наименование, например docker-registry -> --docker-server=registry.xxxxx.ru --docker-username=<!- введите логин, например AAA-BB-SERVICE1234 -> --docker-password=******
$> oc secrets link default docker-registry --for=pull

Установка дополнительных средств защиты осуществляется в соответствии с документацией к ним.

Установка конфигурации Kubernetes#

Конфигурация Kubernetes для модулей batch-ui, batch-ui-backend содержит следующие файлы:

  • deployment-batch-ui.yml;

  • deployment-batch-ui-backend.yml;

  • configmap-batch-ui-standalone.yml;

  • configmap-batch-ui-backend.yml;

  • service-batch-ui.yml.

  • service-ui-backend.yml.

Данные файлы (конфигурации) попадают в директории итогового дистрибутива:

  • /conf/k8s/base/batch_ui;

  • /conf/k8s/base/batch_ui_backend.