Установка в OpenShift (опционально)#
Установка выполняется одним из следующих способов:
в ручном режиме;
в автоматическом режиме.
Примечание: Перед установкой необходимо произвести подготовку окружения:
Выпустить сертификаты;
Настроить параметры безопасности. Настройка параметров безопасности описана в разделе Настройка параметров безопасности документа Руководство по системному администрированию.
Установка в ручном режиме#
Для установки необходимо выполнить все этапы.
Настройте загрузку образа из registry компонентов (szux-bh, szux-pl) в namespace:
Откройте UI OpenShift;
Перейдите в раздел Workloads → Secrets:
Нажмите кнопку добавления Secret с типом Image Pull Secret;
Укажите следующие настройки:
secret name: имя в нижнем регистре;
registry server address: <Указать путь до registry server address>;
username и password: имя и пароль ТУЗа с доступом в реестр, из-под которого будут загружаться образы из registry в проект (namespace) OpenShift;
Перейдите в раздел User Management → Service Account;
Выберите в списке аккаунт default;
Перейдите на вкладку yaml;
В области imagePullSecrets добавьте еще одну запись:
— name: <имя_созданного_image_pull_secret>.
Подключитесь к OpenShift.
В терминале запустите команду:
oc login https://<адрес host>Будет произвен запрос на ввод учетных данных. Введите login/password учетной записи, которая имеет доступ к <адрес host>.
Подключитесь к проекту.
В терминале запустите команду:
oc project <имя_namespace>Введите наименование проекта (namespace) в OpenShift, в котором будет развернут продукт.
Настройте secret для подключения к базе данных:
Откройте UI OpenShift;
Перейдите в раздел Workloads → Secrets;
Нажмите кнопку добавления Secret с типом Key/Value Secret;
Укажите следующие настройки:
Secret Name = costcalc-certs-bd
Key = szux.db.config.password
Value = spring.datasource.password: <password>
Key = szux.db.config.username
Value = spring.datasource.username: <username>
Key = szux.user.default.manager
Value = user.default-manager: <username>
укажите password от учетной записи для подключения к базе данных PostgreSQL.
Обновите список таблиц в базе данных.
Создайте дополнительную схему в базе данных szux_liq. В сервисе для работы с базой данных выполните команду:
CREATE SCHEMA szux_liq;Добавьте библиотеку extention pgcrypto для базы данных. В сервисе для работы с базой данных выполните команду:
CREATE EXTENSION IF NOT EXISTS pgcrypto WITH SCHEMA szux_costcalculator;Команда выполняется привилегированным пользователем (superuser).
Добавьте szux-bh image в OpenShift:
В терминале запустите команду:
oc tag registry/szux-bh:<module_version> <namespace>/szux-bh:<module_version>Укажите в команде актуальные данные:
Registry;
Версия модуля szux-bh из registry (пример latest);
Namespace;
Версия модуля szux-bh для registry OpenShift.
Добавьте szux-pl image в OpenShift.
В терминале запустите команду:
oc tag registry/szux-pl:<module_version> <namespace>/szux-pl:<module_version>Укажите в команде актуальные данные:
Registry;
Версия модуля szux-pl из registry (пример latest);
Namespace;
Версия модуля szux-pl для registry OpenShift.
Заполните сonfigmap szux.conf
Пример:
#oc props example
STAND_ID=ift #указываем id стенда
DOCKER_REGISTRY=registry #указываем registry
SZUX_PL_VERSION=$SZUX_PL_VERSION #версия image модуля szux-pl
SZUX_BH_VERSION=$SZUX_BH_VERSION #версия image модуля szux-bh
JDBC_URL=jdbc:postgresql:// #url базы данных PostgreSQL
POSTGRES_USER=adm #указываем учетную запись для подключения к Postgres
SZUXBH_URL=szux-bh-<STAND_ID>-<namespace>.apps.<url api(<указать путь до api>)>
#указываем ресурсы:
szux_bh_resources_limits_cpu=500m
szux_bh_resources_request_cpu=300m
szux_bh_resources_limits_memory=2Gi
szux_bh_resources_request_memory=1Gi
szux_pl_resources_limits_cpu=256m
szux_pl_resources_request_cpu=128m
szux_pl_resources_limits_memory=256Mi
szux_pl_resources_request_memory=128Mi
Остановите szux-bh в OpenShift.
В терминале запустите команду:
oc process -n <имя namespace> -f <template> --param-file=<props> --ignore-unknown-parameters=true | oc apply -n <namespace> -fУкажите в команде актуальные данные:
Namespace;
Template (пример szux-bh-template.yaml);
Param-file (пример szux-ift.conf).
Установите szux-pl в OpenShift.
В терминале запустите команду:
```oc process -n <namespace> -f <template> --param-file=<props> --ignore-unknown-parameters=true | oc apply -n <namespace> -f```
Укажите в команде актуальные данные:
Namespace;
Template (пример szux-pl-template.yaml);
Param-file (пример szux-ift.conf).
При необходимости использования Istio:
Заполните конфигурационные файлы, располагающиеся по адресу:
путь до директории/k8s/base/istio/config;
путь до директории/overrides/openshift/istio/deployments;
Заполните secrets, располагающиеся по адресу:
путь до директории/k8s/base/istio/secrets;
Выполните установку конфигурационных файлов, располагающиеся по адресу:
путь до директории/k8s/base/istio/config;
Установка файлов выполняется с помощью команды:
oc apply -f <Наименование конфигурационного файла> -n <Наименование namespace>
Выполните установку Deployments -> Deployment:
ingress;
egress.
При необходимости использования OTTS:
Выполните установку Istio:
Заполните манифест по ОТТ для eggres;
Создайте secret ОТТ (в UI OpenShift или с помощью команды
oc apply -f <Наименование конфигурационного файла> -n <Наименование namespace>)Содержимое secret в формате:
kind: Secret apiVersion: v1 metadata: name: istio-secret-szux data: szux_istio_ott_pass_OTT_CERTSTORE_PRIVATE_KEY_PWD: <пароль в base64> szux_istio_ott_pass_OTT_CERTSTORE_PWD: <пароль в base64> szux_istio_ott_pass_OTT_TRUST_STORE_PWD: <пароль в base64> type: OpaqueГде,
szux_istio_ott_pass_OTT_TRUST_STORE_PWD – пароль от контейнера с сертификатом OTTS Сервиса;
szux_istio_ott_pass_OTT_CERTSTORE_PWD – пароль от контейнера с сертификатом модуля;
szux_istio_ott_pass_OTT_CERTSTORE_PRIVATE_KEY_PWD – пароль для извлечения секретного ключа модуля (=OTT_CERTSTORE_PWD);
Добавьте secret ОТТ в конфигурационный файл;
egress-svc.yaml;
Выполните установку конфигурационных файлов:
путь до директории /k8s/base/istio/config;
Установка файлов выполняется с помощью команды:
oc apply -f <Наименование конфигурационного файла> -n <Наименование namespace>
Выполните установку Deployments -> Deployment:
egress.
При необходимости использования Istio и OTTS выполняйте шаги одновременно.
Завершите работы:
Закройте сессию подключения к OpenShift в терминале для учетной записи с помощью команды:
```oc logout```
Установите дополнительные модули сервисов:
Объединенный мониторинг Unimon (MONA).
Установка опциональна;
Все необходимые модули Объединенный мониторинг Unimon (MONA) устанавливаются отдельно и независимо от текущего сервиса по инструкции Объединенный мониторинг Unimon (MONA).
Установка в автоматическом режиме#
Установка дистрибутива производится с помощью компонента продукта Platform V DevOps Tools (DOT) - Deploy tools (CDJE).
При установке используется инструкция для работы с компонентом.
Для установки необходимо выполнить все этапы установки.
Актуализируйте конфигурационные файлы в common repository (информация о стенде).
common.conf.yml.
Файл расположен по адресу: название common repository/стенд/ansible/common.conf.yml;
Добавьте параметры в соответствии с файлом common.conf.yml. Описание параметров представлено в теле файла.
Смигрируйте конфигурационные файлы:
Откройте ПО Jenkins;
Выберите функцию "Собрать с помощью job Deploy";
Активируйте функцию "Собрать с помощью job Deploy";
Выберите шаг установки (playbook): MIGRATION_FP_CONF - Миграция конфигурационных файлов ФП;
Подтвердите "Собрать с помощью job Deploy".
В результате выполнения шага будут мигрироваться следующие файлы. Описание параметров представлено в теле файла:
Заполните файл _passwords.conf.
Найдите файл по адресу: название common repository/стенд/ansible/_passwords.conf.
Добавьте в файл параметры:
Параметры для базы данных DB
szux.db.config.username=spring.datasource.username: username.
Обязательные для заполнения.
При использовании интеграции с Secret Management System параметры оставить пустыми, без значений.
szux.db.config.password=spring.datasource.password: password.
Обязательные для заполнения.
При использовании интеграции с Secret Management System параметры оставить пустыми, без значений.
szux.ssl.ose.keyStore.db.password = password. (Переменная с паролем от .jks).
Параметры для istio (для создания Secrets из jks):
szux.ssl.ose.istio.keyStore.ingress.password=password.
szux.ssl.ose.istio.keyStore.egress.password=password.
Параметры для OTTS:
szux.ssl.ose.ott.keyStore.password = password (Переменная с паролем от .jks).
Пользователь по умолчанию:
szux.user.default.manager=user.default-manager:
. Обязателен для заполнения без интеграции с Secret Management System.
При использовании интеграции с Secret Management System значение параметра может быть пустым, без значений.
Хранение secrets.
Интеграция с Secret Management System присутствует:
Настройка производится в соответствии с разделом Настройка параметров безопасности документа Руководство по системному администрированию.
Интеграция с Secret Management System отсутствует:
Найдите пространство по адресу: название common repository/стенд/ansible/files/ssl/szux/
Добавьте файлы, указанные в таблице.
Таблица. Наименование файлов для хранения secrets
Наименование |
Описание |
|---|---|
costcalc-certs-bd.jks |
Хранилище клиентского сертификата/ключа; серверного сертификата |
szux-egress.jks |
Хранилище клиентского сертификата/ключа; trust store сертификата |
szux-ingress.jks |
Хранилище клиентского сертификата/ключа; trust store сертификата |
szux-ott-certs.jks |
Хранилище клиентского сертификат/ключа компонента szux-bh; серверного сертификата удостоверяющего центра, выпустивший TLS сертификаты сервисов OTTS; серверного сертификата для обеспечения обратной совместимости с OTTS сервисом версии 4.2.15 |
Скорректируйте параметры в конфигурационных файлах.
Скорректируйте при необходимости значения, доступные для изменения. Например:
/conf/config/parametrs/szux-bh.conf:
параметры ConfigMap;
/conf/config/parametrs/szux.all.conf:
переключатель для создания secret SSL для базы данных PostgreSQL (szux.ose.secret.bd.enabled);
/conf/config/parametrs/szux.isito.all.conf:
Общие настройки;
/conf/config/parametrs/szux-pl.conf:
параметры Deployment;
/conf/config/parametrs/szux-bh.fb.sidecar.conf:
Общие настройки.
Создайте схему. Создание схемы проводится при необходимости создать целевую схему szux_costcalculator.
Создайте дополнительную схему в базе данных szux_liq. В сервисе для работы с базой данных выполните команду:
CREATE SCHEMA szux_liq;Добавьте библиотеку extention pgcrypto для базы данных.
В сервисе для работы с базой данных выполните команду:
CREATE EXTENSION IF NOT EXISTS pgcrypto WITH SCHEMA szux_costcalculator;Команда выполняется привилегированным пользователем (superuser).
Создайте основную схему:
Откройте ПО Jenkins;
Выберите функцию "Собрать с помощью job Deploy";
Активируйте функцию "Собрать с помощью job Deploy";
Выберите шаг установки (playbook): DB_INIT - Запуск liquibase Init скриптов;
Подтвердите "Собрать с помощью job Deploy".
Обновите список таблиц в базе данных. Проводится при необходимости создать новые таблицы в схеме.
Откройте ПО Jenkins;
Выберите функцию "Собрать с помощью job Deploy";
Активируйте функцию "Собрать с помощью job Deploy";
Выберите шаг установки (playbook): DB_UPDATE - Запуск liquibase скриптов;
Подтвердите "Собрать с помощью job Deploy".
Установите сервис:
Откройте ПО Jenkins;
Выберите функцию "Собрать с помощью job Deploy";
Активируйте функцию "Собрать с помощью job Deploy";
Выберите шаг установки (playbook): OPENSHIFT_INGRESS_EGRESS_DEPLOY - deploy ingress/egress в OpenShift, если требуется установка сервиса Istio;
Выберите шаг установки (playbook): OPENSHIFT_DEPLOY - Установка в OpenShift для установки сервиса Cost Calculator;
Подтвердите "Собрать с помощью job Deploy".
Установите дополнительные модули сервисов:
Объединенный мониторинг Unimon (MONA).
Установка опциональна;
Все необходимые модули Объединенный мониторинг Unimon (MONA) устанавливаются отдельно и независимо от текущего сервиса по инструкции Объединенный мониторинг Unimon (MONA).
Проверьте правильность установки в соответствии с разделом Проверка работоспособности текущего документа.