Руководство по установке#
В руководстве приведены инструкции по установке компонента DCGN продукта Platform V Print (DCG).
Термины и определения#
Термин или сокращение |
Описание или расшифровка |
|---|---|
AltLinux |
Набор российских операционных систем, основанных на RPM Package Manager (RPM) и построенных на ядре Linux и репозитории пакетов Sisyphus |
Apache Kafka |
Распределенный программный брокер сообщений, проект с открытым исходным кодом, разрабатываемый в рамках фонда Apache. Написан на языках программирования Java и Scala |
API |
Набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (от англ. Application Programming Interface — программный интерфейс приложения) |
ASCII |
Название таблицы (кодировки, набора), в которой некоторым распространенным печатным и непечатным символам сопоставлены числовые коды (от англ. American standard code for information interchange) |
Build Tools |
Компонент Build Tools (CIJE) продукта Platform V DevOps Tools (DOT). Назначение: представляет собой набор скриптов и инструкций исполняемых из Jenkins и предназначен для сборки дистрибутивов |
Circuit Breaker (CB) |
Механизм автоматического выключения, предотвращающий попытки приложения выполнить операцию, которая скорее всего завершится неудачно (пока известно, что проблема не устранена) |
CN |
Common name |
CPU |
Центральное обрабатывающее устройство (от англ. Central Processing Unit) |
DCGN |
Компонент Сервис генерации документов (DCGN), входящий в состав продукта Platform v Print (DCG), предоставляющий бизнес-приложениям возможность формировать электронные документы (от англ. Document Generation). Включает в себя Template provider, Template registry и Docgen service (Сервис генерации документов) |
DDL |
Семейство компьютерных языков, используемых в компьютерных программах для описания структуры баз данных (от англ. Data Definition Language — язык описания данных) |
Deploy Tools |
Компонент Deploy Tools (CDJE) продукта Platform V DevOps Tools (DOT). Назначение: Pipeline Jenkins для развертывания Platform V и бизнес приложений на тестовые и промышленные стенды |
DML |
Семейство компьютерных языков, используемых в компьютерных программах или пользователями баз данных для получения, вставки, удаления или изменения данных в базах данных (от англ. Data Manipulation Language — язык управления (манипулирования) данными) |
Docgen service |
Сервис компонента Сервис генерации документов (DCGN) продукта Platform V Print (DCG), который предоставляет версионированное REST API для создания документа. Потребителями сервиса являются бизнес-приложения |
Dockerfile |
Файл, который представляет из себя инструкции с командами для сборки образа |
Freemarker |
Компилирующий обработчик шаблонов, написанный на Java, один из инструментов, позволяющих отделить логику и данные от представления |
HDD |
Жесткий диск |
HTML |
Язык гипертекстовой разметки (от англ. HyperText Markup Language) — стандартизированный язык гипертекстовой разметки документов для просмотра веб-страниц в браузере |
HTTP |
Протокол прикладного уровня передачи данных, изначально — в виде гипертекстовых документов в формате HTML, в настоящее время используется для передачи произвольных данных |
HTTPS |
Расширение протокола HTTP для поддержки шифрования в целях повышения безопасности (от англ. HyperText Transfer Protocol Secure) |
IAM proxy |
Компонент IAM proxy (AUTH) продукта Platform V IAM SE (IAM). Назначение: выполняет функции аутентификации/авторизации запросов; реализует Policy Enforcement Point (PEP); взаимодействует с компонентами KeyCloak.SE (KCSE), Объединенный сервис авторизации (ОСА) (AUTZ), СУДИР или другими провайдерами аутентификации/авторизации |
ID |
Идентификатор (от англ. identifier) |
Istio |
Сервис интеграции и оркестрации микросервисов в облаке, настраиваемая сервисная сеть (service mesh) с открытым исходным кодом, распространяемая под лицензией Apache 2.0, служащая для взаимодействия, мониторинга и обеспечения безопасности контейнеров в кластере Kubernetes |
Jar |
Архив Java (от англ. Java ARchive) |
JasperReport |
Java-библиотека для создания отчетов. На основе XML-шаблонов отчетов генерируются готовые для печати документы |
JDBC |
Cоединение с базами данных на Java (от англ. Java DataBase Connectivity) — платформенно независимый промышленный стандарт взаимодействия Java-приложений с различными СУБД |
Jenkins |
Сервер автоматизации разработки, управляющий процессом DevOps на верхнем уровне (оркестрация). Используется с плагином Pipeline, который позволяет наглядно отобразить ход выполнения сценария Jenkins |
JSON |
Текстовый формат обмена данными, основанный на JavaScript (от англ. JavaScript Object Notation) |
K8s, Kubernetes |
Открытое программное обеспечение для автоматизации развертывания, масштабирования и управления контейнеризированными приложениями (от англ. Kubernetes) |
KeyCloak.SE |
Компонент KeyCloak.SE (KCSE) продукта Platform V IAM SE (IAM). Назначение: реализует Identity Provider; поддерживает стандарты OpenId Connect, Oauth2 и др. |
MEM |
Оперативная память |
mTLS |
Двусторонний TLS (от англ. mutual TLS) — сетевой криптографический протокол взаимной (двусторонней) аутентификацией клиента и брокера, который является преемником SSL (Secure Sockets Layer — слой защищенных сокетов) и обеспечивает безопасность транспортного уровня |
Namespace |
Некоторое множество, под которым подразумевается модель, абстрактное хранилище или окружение, созданное для логической группировки уникальных идентификаторов (то есть имен) |
Nginx |
Веб-сервер и почтовый прокси-сервер, работающий на Unix-подобных операционных системах |
One-Time Password (OTP) / OTT |
Компонент One-Time Password (OTP) / OTT (OTTS) продукта Platform V Backend (#BD). Назначение: предоставляет приложениям средства для удостоверения субъекта доступа и разграничения доступа к API приложений на транспортном уровне, а также контроля целостности получаемого сообщения; в One-Time Password (OTP) / OTT используется собственный прикладной протокол, основанный на короткоживущих JWT, стандарте авторизации XACML и инфраструктуре публичных ключей (PKI) |
OpenShift, OSE |
Открытая и расширяемая платформа приложений-контейнеров, которая позволяет использовать Docker и Kubernetes |
Patroni |
Python-приложение для создания высокодоступных PostgreSQL кластеров на основе потоковой репликации |
Pipeline |
Алгоритм непрерывной поставки и развертывания программного обеспечения в эксплуатацию |
Platform V, |
Набор продуктов Platform V, правообладателем которых является АО «СберТех». Перечень таких продуктов обозначен в документации на конкретный Продукт |
Platform V Print |
Продукт Платформы, позволяющий формировать электронные документы на основе импортированных шаблонов. Код продукта: DCG |
Pod |
Группа контейнеров, размещенных во время выполнения на одном сервере (co-located) |
POST-запрос |
Метод запроса, поддерживаемый HTTP-протоколом. Метод запроса POST предназначен для направления запроса, при котором веб-сервер принимает данные, заключенные в тело сообщения, для хранения |
PostgreSQL SE Pangolin |
Продукт Platform V Pangolin SE (PSQ) — система управления базами данных, основанная на PostgreSQL |
PostgreSQL |
Свободная объектно-реляционная система управления базами данных (СУБД) |
Pull-модель |
Метод, основанный на подходе, что все изменения применяются изнутри кластера |
QR-код |
Тип матричных штриховых кодов или двухмерных штриховых кодов (от англ. Quick Response code) |
RDS |
Сервис управления реляционными базами данных (от англ. Relational Database Service) |
REST |
Передача репрезентативного состояния или передача «самоописываемого» состояния (от англ. Representational State Transfer) — архитектурный стиль взаимодействия компонентов распределенного приложения в сети |
RN |
Ресурс проекта (от англ. Resource Name). Признак изоляции шаблонов документов (тенант) |
Sidecar |
Контейнер, который должен быть запущен рядом с основным контейнером внутри pod. Этот паттерн нужен для расширения и улучшения функциональности основного приложения без внесения в него изменений |
Solution Merger Job |
Инструмент компонента Build Tools для дополнения продукта зависимостями |
Spring Boot |
Фреймворк для быстрой разработки приложений на основе Spring Framework и его компонентов |
spring-boot-starter |
Стартер фреймворка, позволяющий получить набор сконфигурированных bin, готовых к использованию и доступных для конфигурации через properties-файлы |
SQL |
Язык структурированных запросов (от англ. structured query language) |
SSL |
Криптографический протокол, который использует асимметричную криптографию для аутентификации ключей обмена, симметричное шифрование для сохранения конфиденциальности, коды аутентификации сообщений для целостности сообщений (от англ. Secure Sockets Layer — уровень защищенных сокетов) |
SSM |
Platform V Synapse Service Mesh — это интеграционная платформа нового поколения, построенная на базе open source продукта Istio |
StandIn БД |
Резервная база данных |
STD |
Стандарт требования инструментов DevOps к сервисам Platform V |
TCP |
Протокол управления передачей (от англ. Transmission Control Protocol) |
Template provider, |
Сервис DCGN для получения информации о шаблоне и его версии, необходимой для создания электронного документа |
Template registry, |
Сервис DCGN, который включает в себя импорт шаблонов и пользовательский интерфейс для администрирования шаблонов. Предоставляет: REST API для импорта шаблонов документов через Pipeline; UI для выполнения операций администрирования шаблонов (пользователь взаимодействует с приложением посредством браузера) |
TLS |
Криптографический протокол, обеспечивающий защищенную передачу данных между узлами в сети Интернет (от англ. transport layer security — протокол защиты транспортного уровня) |
tps |
Пропускная способность системы (от англ. Transactions Per Second) |
UI |
Пользовательский интерфейс (от англ. User Interface) |
UID |
Уникальный идентификационный номер |
URL |
Унифицированный указатель ресурса (от англ. Uniform Resource Locator) |
XML |
Расширяемый язык разметки (от англ. extensible Markup Language) |
YAML |
Язык сериализации данных, с простым синтаксисом и возможностью хранить сложноорганизованные данные в компактном и читаемом формате (от англ. «Yet Another Markup Language» — «Еще один язык разметки», позже — рекурсивный акроним англ. «YAML Ain’t Markup Language» — «YAML — не язык разметки») |
АРМ |
Автоматизированное рабочее место |
АС |
Автоматизированная система |
Аудит |
Компонент Аудит (AUDT) продукта Platform V Audit SE (AUD). Назначение: регистрация событий информационной безопасности |
БД |
База данных |
Библиотека, |
Jar-библиотека, которую потребитель подключает в свое spring boot приложение, используя предоставленный spring-boot-starter, с целью использования экземпляра DCGN для формирования электронных документов на стороне потребителя |
Журналирование |
Компонент Журналирование (LOGA) продукта Platform V Monitor (OPM). Назначение: предназначен для сохранения логов и предоставляет возможности для их просмотра и анализа конечными пользователями (сотрудниками поддержки) |
ИБ |
Информационная безопасность |
ИС |
Информационная система |
КТС |
Комплекс технических средств |
ММТ |
Межмодульный транспорт |
Мультитенантность |
Элемент архитектуры программного обеспечения, где единый экземпляр приложения, запущенного на сервере, обслуживает множество организаций-клиентов |
НТ |
Нагрузочное тестирование |
Объединенный мониторинг Unimon |
Компонент Объединенный мониторинг Unimon (MONA) продукта Platform V Monitor (OPM). Назначение: сбор прикладных и инфраструктурных метрик и отправка их в целевую систему хранения |
Объединенный сервис авторизации (ОСА) |
Компонент Объединенный сервис авторизации (ОСА) (AUTZ) продукта Platform V IAM SE (IAM) |
ОС |
Операционная система |
ПК |
Персональный компьютер |
Playbook |
Список сценариев для запуска (от англ.playbook) |
ПО |
Программное обеспечение |
Потребитель |
Потребитель DCGN |
ПРОМ |
Промышленный |
Ресурс проекта |
Уникальный идентификатор организации или пользователь, обладающий изолированным пространством в рамках мультитенантной системы (прошлый термин «Тенант») |
СПО |
Свободное программное обеспечение — программное обеспечение, распространяемое на условиях свободного лицензионного договора |
СУБД |
Система управления базами данных |
СУДИР |
Система управления доступом к информационным ресурсам |
ТЗ |
Техническое задание |
УЗ |
Учетная запись |
УЦ |
Удостоверяющий центр – доверенная организация, которая имеет право выпускать сертификаты электронной подписи |
ЦП |
Центральный процессор |
Системные требования#
Сервисы компонента DCGN представляют собой облачное решение, поставляемое для установки в контейнеризованную среду (Kubernetes или OpenShift (опционально)).
Системное программное обеспечение#
Ниже представлено описание категорий системного программного обеспечения, используемых для установки и настройки DCGN. В каждой категории перечислены все поддерживаемые продукты сторонних правообладателей. Отдельно обозначены варианты, которые рекомендует АО «СберТех» (маркировка «Рекомендовано» в столбце «Продукт, функциональная совместимость с которым подтверждена»). Для установки DCGN необходимо выбрать один из продуктов в каждой категории.
Категория ПО |
Обязательность установки (да/нет) |
Наименование ПО |
Версия |
Продукт, функциональная совместимость с которым подтверждена |
Описание |
|---|---|---|---|---|---|
Операционная система |
Да |
Альт 8 СП лизензия |
altlinux-sp8-5.4.113-release |
Рекомендовано |
ОС контейнеров для запуска модулей компонента |
Red Hat Enterprise Linux |
3.10 и выше |
Опционально |
|||
Среда контейнеризации |
Да |
1.21.0 |
Рекомендовано |
Платформа контейнеризации для запуска компонентов сервиса |
|
Red Hat OpenShift |
1.20.0 |
Опциоально |
|||
Инструмент сборки, тестирования, развертывания контейеризированных приложений |
Да |
Platform V DevOps Tools (CDJE) |
D-01.038.862-443 |
Рекомендовано |
Компонент для развертывания Платформы и бизнес приложений на тестовые и промышленные стенды |
Java-машина |
Да |
11 |
Рекомендовано |
Окружение для работы модулей компонента |
|
OracleJDK |
1.8 и выше |
Опционально |
|||
Система управления базами данных (СУБД) |
Да |
11 и выше |
Рекомендовано. Правообладателем АО «СберТех» также рекомендована СУБД, основанная на PostgreSQL – Platform V Pangolin SE, см. раздел «Платформенные зависимости» |
ПО, взаимодействующее с конечными пользователями, приложениями и базой данных для сбора и анализа данных |
|
Сервер приложений |
Нет |
9.0.45 |
Рекомендовано |
СПО для тестирования, отладки и исполнения веб-приложений на основе Java. Не требуется отдельное развертывание инструмента, Сервер приложений поставляется в составе компонента DCGN |
|
Браузер |
Нет |
Яндекс.Браузер для ОС Windows лизензия |
не ниже 21.9.0 |
Рекомендовано |
Браузер для входа в UI |
Нет |
Яндекс.Браузер для MAC OS лизензия |
не ниже 21.2.0 |
Рекомендовано |
Браузер для входа в UI |
|
Нет |
SberBrowser |
не ниже 2.1.0 |
Опционально |
Браузер для входа в UI |
|
Нет |
Mozilla Firefox |
не ниже 98.0.0 |
Опционально |
Браузер для входа в UI |
|
Нет |
Safari |
не ниже 15.2.0 |
Опционально |
Браузер для входа в UI |
|
Нет |
Google Chrome |
не ниже 98.0.4758 |
Опционально |
Браузер для входа в UI |
|
Сервис централизованного хранения репозиториев артефактов (хранилище артефактов) |
Да |
2.5.1 и выше |
Рекомендовано |
Хранение конфигураций при автоматизированной установке |
|
Сервис интеграции и оркестрации микросервисов в облаке |
Да |
2.0.6-2 |
Рекомендовано. Правообладателем АО «СберТех» такжерекомендован сервис интеграции и оркестрации микросервисов в облаке, снованный на Istio – Platform V Synapse Service Mesh (SSM), см. раздел «Платформенные зависимости» |
Сервис интеграции микросервисов в облаке |
Примечание:
*
Да — категория ПО обязательна для функционирования сервиса (это означает, что сервис не может выполнять свои основные функции без установки данной категории ПО).
Нет — категория ПО необязательна для функционирования сервиса (это означает, что сервис может выполнять свои основные функции без установки данной категории ПО).
**
Рекомендовано — рекомендованный правообладателем АО «СберТех» продукт.
Опционально — альтернативный по отношению к рекомендованному правообладателем АО «СберТех» продукт.
Здесь и далее поддерживаемой системой приложений-контейнеров является Kubernetes (использование OpenShift – опционально), в инструкциях по настройке, в именах переменных и параметрах системы могут встречаться названия систем контейнеризации, которые одинаковы и применимы для обоих сред контейнеризации.
Платформенные зависимости#
Для настройки, контроля и функционирования компонента реализована интеграция с программными продуктами, правообладателем которых является АО «СберТех»:
Наименование продукта |
Код продукта |
Версия |
Код и наименование компонента |
Обязательность установки |
Описание |
|---|---|---|---|---|---|
Platform V Audit SE |
AUD |
2.1 |
AUDT Аудит |
опционально |
Компонент для аудирования событий |
Platform V Monitor |
OPM |
4.1 |
LOGA Журналирование |
опционально |
Компонент для хранения лог-файлов |
Platform V Monitor |
OPM |
4.1 |
MONA Объединенный мониторинг Unimon |
опционально |
Компонент для сбора прикладных и инфраструктурных метрик и отправки их в целевую систему хранения |
Platform V Pangolin SE |
PSQ |
5.1.0 |
- |
опционально |
Система управления базами данных, основанная на PostgreSQL |
Platform V DevOps Tools |
DOT |
1.2 |
CIJE Build Tools |
опционально |
Компонент для автоматизации сборки дистрибутивов сервисов Платформы, бизнес-приложений и bundle Solution/MonoSolution |
Platform V DevOps Tools |
DOT |
1.2 |
CDJE Deploy Tools |
опционально |
Компонент для развертывания Платформы и бизнес приложений на тестовые и промышленные стенды |
Platform V Backend |
#BD |
4.3 |
OTTS One-Time Password (OTP) / OTT |
опционально |
Компонент для аутентификации и авторизации межсервисных взаимодействий |
Platform V IAM SE |
IAM |
1.3 |
AUTZ Объединенный сервис авторизации (ОСА) |
обязательно |
Компонент для управления доступом к информационным ресурсам, необходим для авторизации пользователей |
Platform V IAM SE |
IAM |
1.3 |
AUTH IAM Proxy |
обязательно |
Компонент для управления доступом к информационным ресурсам, необходим для аутентификации пользователей |
Platform V Synapse Service Mesh |
SSM |
2.10 |
IGEG Граничный прокси |
обязательно |
Компонент для управления запросами (трафик), приходящих и исходящих из проекта одной системы |
Примечание:
Обязательно — компонент или продукт необходим для функционирования компонента DCGN.
Опционально — необязательный для функционирования компонент или продукт, рекомендуется его установка, но допускается использование аналога других производителей.
Тип зависимости определяется:
One-Time Password (OTP) / OTT (OTTS) — можно отключить на уровне конфигурационых файлов ingress/egress. Управляется поставкой разных дистрибутивов конфигураций. Критично только для инсталляций с обязательным требованием использования One-Time Password (OTP) / OTT.
Deploy tools (CDJE) — рекомендуется установка дистрибутива с помощью Deploy Tools, при желании можно использовать другой инструмент развертывания.
Объединенный мониторинг Unimon (MONA) — устанавливаются при необходимости. Поставляется отдельным дистрибутивом МОNA, установка в namespace выполняется через Deploy Tools.
Журналирование (LOGA) — допустимо сконфигурировать отправку логов в другую систему журналирования.
Аудит (AUDT) — DCGN может взаимодействовать с платформенным компонентом Аудит.
IAM proxy (AUTH), Объединенный сервис авторизации (ОСА) (AUTZ) — обязательны для работы через пользовательский интерфейс.
Platform V Synapse Service Mesh (SSM) — обязательна к установке указанная версия и сборка, если инсталляция с One-Time Password (OTP) / OTT и для некоммунальной инсталляции.
Аппаратные требования#
Список минимальных требований к ресурсам КТС приведен ниже. Допустимы два способа развертывания DCGN - в коммунальную и автономную (изолированную) инсталляции.
Коммунальная инсталляция предполагает установку в один namespase продукта (DCGN) совместно с продуктами Платформы.
Автономная инсталляция предполагает установку в один namespase одного продукта (DCGN).
Конфигурация БД для тестовых стендов#
№ |
ПО |
CPU Тест |
MEM, GB Тест |
HDD, GB Тест |
|---|---|---|---|---|
1 |
PostgreSQL Master |
4 |
16 |
300 (/pgdata 230 GB /pgarclogs 50 GB) |
Конфигурация БД для НТ, ПРОМ стендов#
Требуется наличие кластера Patroni (PostgreSQL + pgbouncer + Patroni).
№ |
ПО |
CPU НТ/Пром значение |
MEM, GB НТ/Пром значение |
HDD, GB НТ/Пром значение |
|---|---|---|---|---|
1 |
PostgreSQL Master |
16 |
128 |
400 (/pgdata 300 GB /pgarclogs 50 GB) |
2 |
PostgreSQL Slave |
16 |
128 |
400 (/pgdata 300 GB /pgarclogs 50 GB) |
3 |
Patroni (арбитр) |
4 |
16 |
200 (/pgdata 150 GB /pgarclogs 30 GB) |
Требование квот кластера (коммунальная инсталляция) для НТ, ПРОМ стендов#
№ |
ПО |
CPU Минимальное значение (тестовый стенд) |
CPU Пром значение (НТ, ПРОМ стенды) |
MEM, GB Минимальное значение (тестовый стенд) |
MEM, GB Пром значение (НТ, ПРОМ стенды) |
|---|---|---|---|---|---|
1 |
K8s или OSE (опционально) |
16 |
24 |
32 |
38 |
Требование квот кластера (автономная инсталляция)#
№ |
ПО |
CPU Минимальное значение |
CPU Пром значение |
MEM, GB Минимальное значение |
MEM, GB Пром значение |
|---|---|---|---|---|---|
1 |
K8s или OSE (опционально) |
16 |
43 |
32 |
57 |
Ресурсы, необходимые для сервисов компонента DCGN#
Автономная инсталляция:
Имя Pod |
Имя cервиса |
Кол-во реплик |
CPU(lim) |
CPU(req) |
Mem(lim) |
Mem(req) |
Итог CPU на Pod |
Итог Mem на Pod |
|---|---|---|---|---|---|---|---|---|
Docgen-service |
docgen-service |
2 |
3500m |
2500m |
6144Mi |
3072Mi |
4000m |
6912 Mi |
Docgen-service |
fluent-bit |
2 |
200m |
200m |
512Mi |
512Mi |
4000m |
6912 Mi |
Docgen-service |
istio |
2 |
300m |
200m |
256Mi |
256Mi |
4000m |
6912 Mi |
Egress |
istio |
2 |
1100m |
200m |
1024Mi |
800Mi |
1650m |
2048 Mi |
Egress |
OTTS |
2 |
550m |
300m |
1024Mi |
512Gi |
1650m |
2048 Mi |
Ingress |
istio |
3 |
2800m |
1000m |
1024Mi |
800Mi |
4000m |
3072 Mi |
Ingress |
OTTS |
3 |
1200m |
700m |
2048Mi |
1024Mi |
4000m |
3072 Mi |
Template-provider |
template-provider |
2 |
2700m |
1200m |
2500Mi |
1500Mi |
4000m |
3524 Mi |
Template-provider |
fluent-bit |
2 |
200m |
200m |
512Mi |
512Mi |
4000m |
3524 Mi |
Template-provider |
istio |
2 |
1100m |
600m |
512Mi |
512MI |
4000m |
3524 Mi |
Template-registry |
template-registry |
2 |
2500m |
1250m |
4096Mi |
2048Mi |
3000m |
4864 Mi |
Template-registry |
fluent-bit |
2 |
200m |
200m |
512Mi |
512Mi |
3000m |
4864 Mi |
Template-registry |
istio |
2 |
300m |
200m |
256Mi |
256Mi |
3000m |
4864 Mi |
Unimon-agent |
unimon-agent |
1 |
500m |
500m |
4096Mi |
2048Mi |
1000m |
4808 Mi |
Unimon-agent |
logger-forward-sidecar |
1 |
200m |
100m |
200Mi |
100Mi |
1000m |
4808 Mi |
Unimon-agent |
istio |
1 |
300 |
200 |
512Mi |
256Mi |
1000m |
4808 Mi |
Unimon-sender |
unimon-sender |
1 |
500m |
200m |
1500Mi |
1500Mi |
700m |
1700Mi |
Unimon-sender |
logger-forward-sidecar |
1 |
200m |
100m |
200Mi |
100Mi |
700m |
1700Mi |
Коммунальная инсталляция:
Имя Pod |
Имя cервиса |
Кол-во реплик |
CPU(lim) |
CPU(req) |
Mem(lim) |
Mem(req) |
Итог CPU на Pod |
Итог Mem на Pod |
|---|---|---|---|---|---|---|---|---|
Docgen-service |
docgen-service |
2 |
3500m |
2500m |
6144Mi |
3072Mi |
4000m |
6912 Mi |
Docgen-service |
fluent-bit |
2 |
200m |
200m |
512Mi |
512Mi |
4000m |
6912 Mi |
Docgen-service |
istio |
2 |
300m |
200m |
256Mi |
256Mi |
4000m |
6912 Mi |
Template-provider |
template-provider |
2 |
2700m |
1200m |
2500Mi |
1500Mi |
4000m |
3524 Mi |
Template-provider |
fluent-bit |
2 |
200m |
200m |
512Mi |
512Mi |
4000m |
3524 Mi |
Template-provider |
istio |
2 |
1100m |
600m |
512Mi |
512MI |
4000m |
3524 Mi |
Template-registry |
template-registry |
2 |
2500m |
1250m |
4096Mi |
2048Mi |
3000m |
4864 Mi |
Template-registry |
fluent-bit |
2 |
200m |
200m |
512Mi |
512Mi |
3000m |
4864 Mi |
Template-registry |
istio |
2 |
300m |
200m |
256Mi |
256Mi |
3000m |
4864 Mi |
Состав дистрибутива#
Дистрибутив компонента DCGN представляет собой ZIP-архив (как для коммунальной, так и для автономной инсталляций):
№ |
Директория |
Описание |
|---|---|---|
1 |
./documentation |
Содержит документацию ПО в формате markdown |
2 |
./package/bh |
Содержит бинарные файлы сервисов (JAR-артефакты) |
3 |
./package/conf |
Содержит набор конфигураций, необходимых для работы сервиса (yml-конфигурации, необходимые для развертывания сервисов в Kubernetes или OpenShift (опционально)) |
4 |
./package/db |
Содержит Liquibase-скрипты миграции БД |
5 |
./package/data/security |
Содержит данные для импорта в Объединенный сервис авторизации (ОСА) |
Настройки DCGN, в том числе рекомендуемые настройки безопасности окружения, приведены в настоящем документе.
Подготовка окружения#
Для установки и работы DCGN необходимо провести подготовительные мероприятия, а именно, подготовить КТС. Подготовка КТС подразумевает получение кластера БД и namespase K8s или OSE (опционально). Размер квот соответствует указанному в разделе «Аппаратные требования» настоящего документа.
До развертывания DCGN необходимо выполнить развертывание сервисов и инфраструктурных компонентов Platform V. Наличие платформенных зависимостей приведено выше в разделе «Платформенные зависимости» настоящего документа. Развертывание сервисов и инфраструктурных компонентов Platform V производится в соответствии с документацией на установку соответствующего сервиса или инфраструктурного компонента.
Установка#
Рекомендации по наполнению продукта зависимостями при сборке с помощью Build Tools (Solution Merger Job)#
Образы контейнеров не входят в состав дистрибутива компонента DCGN. Базовые образы и образы sidecar необходимо указывать при сборке продукта используя Solution Merger Job. Перед запуском инструмента дополнения продукта зависимостями в конфигурации необходимо указать, какие базовые образы следует использовать вместо образов, указанных в Dockerfile по умолчанию.
Важно. Образы определяются по правилам инсталляции, в которую будет установлен собранный продукт.
Базовый образ
Рекомендуемый стек:
Альт 8 СП
OpenJDK версии 11:7.6.
Пакет для управления шрифтами «fontconfig».
Альтернативный (опциональный) стек:
RHEL7.
OpenJDK версии 11:7.6.
Пакет для управления шрифтами «fontconfig».
Пример из merger.yml
base_image_mapping: # маппинг базовых docker образов
- from: .*openjdk11.*
to: <укажите базовый образ необходимый для инсталляции> # пример nexus_host/repository/base/rhel7openjdk11:7.6-252.1561619826-86
Образы sidecar контейнеров
В конфигурации развертывания DCGN присутствуют ссылки на образы sidecar контейнеров, Dockerfile которых отсутствует в дистрибутиве продукта (образы технологических сервисов, поставляемых в других платформенных продуктах), поэтому в конфигурации Solution Merger Job следует явно указать какие хеши образов использовать для таких sidecar контейнеров. Необходимо указывать образы sidecar контейнеров соответствующие версиям, указанным в данном руководстве в разделе «Платформенные зависимости».
Пример из merger.yml
image_link_mapping: # маппинг ссылок на образы (применяется, чтобы указать актуальные ссылки на образы sidecar контейнеров)
# IGEG (Istio SE)
":.+proxyv2@sha256:[0-9a-f]{64}": ": <укажите образ необходимый для инсталляции>" # пример nexus_host/repository/synapse_security/istio/proxyv2@sha256:cdd42336b164955a0550a8ce338b577177dcdd975799af3d0d8a7352f2d20fb9
# OTTS 4.1.8, если необходима интеграция с One-Time Password (OTP) / OTT
":.+ott-client-api@sha256:[0-9a-f]{64}": ": <укажите образ необходимый для инсталляции>" # пример nexus_host/repository/ott-client-api@sha256:764085215941ecb7e90429326113fe63b78b024e8595ac3249c5d88d128574ac
# LOGA fluent-bit
":.+fluent-bit@sha256:[0-9a-f]{64}": ": <укажите образ необходимый для инсталляции>" # пример nexus_host/repository/ulogger/fluent-bit@sha256:04da83ed2af92600f7e0b4055d707c038c6e549ed14dba6372b0a2a50ddae32d
Автоматизированная установка DCGN с использованием Deploy Tools#
Установка DCGN включает в себя следующие этапы:
Создание пользователя и схемы БД.
Создание namespace в среде контейнеризации.
Создание и настройка сертификатов.
Настройка параметров.
Установка DCGN в контейнеризованную среду (Kubernetes или OpenShift (опционально)).
В разделах ниже приведено более подробное описание по каждому этапу установки.
Создание пользователя и схемы БД#
Для создания пользователя и схемы БД необходимо выполнить скрипт согласно указанному примеру:
Пример создания пользователя и схемы
create user dcgn_<BLOCK_ID> with encrypted password '<пароль>';
create schema dcgn_<BLOCK_ID>;
grant connect on database postgres to dcgn_<BLOCK_ID>;
grant all on schema dcgn_<BLOCK_ID> to dcgn_<BLOCK_ID>;
alter user dcgn_<BLOCK_ID> VALID UNTIL 'INFINITY';
grant usage on schema dcgn_<BLOCK_ID> to dcgn_<BLOCK_ID>;
create tablespace dcgn_ts_data owner dcgn location '/pgdata/ts/dcgn_ts_data';
create tablespace dcgn_ts_idx owner dcgn location '/pgdata/ts/dcgn_ts_idx';
create tablespace dcgn_ts_lob owner dcgn location '/pgdata/ts/dcgn_ts_lob';
В указанном примере параметр «BLOCK_ID» — постфикс блока/контура, в который устанавливается DCGN.
Если установка производится инструментами Deploy Tools, то значение параметра можно посмотреть в файле ansible/common.conf.yml common-репозитория блока/контура.
При установке компонента DCGN инструментами Deploy Tools, создание пользователя и схемы БД можно произвести в полуавтоматическом режиме, смотрите раздел «Инициализация БД».
Примечание.
Рекомендуемое значение параметров
для БД - max_connection=200
для pgBouncer значение max_client_conn=2000 (max_connection*10)
Создание namespace в среде контейнеризации#
На этом шаге нужно создать namespase в кластере K8s или OSE (опционально), в котором будут создаваться объекты, необходимые для работы DCGN.
Созданный namespase необходимо подключить к Istio Service mesh или OpenShift Service mesh (опционально).
Создание и настройка сертификатов#
Сертификаты mTLS#
В поставляемой конфигурации DCGN настроен mTLS. Поэтому необходимо выпустить egress и ingress сертификаты для блока/контура, где производится установка DCGN. Сертификаты необходимо поместить в защищенное хранилище и его параметры передать в соответствующие конфигурации DCGN.
Параметр |
Описание |
|---|---|
dcgn.ssl.ose.istio.keyStore.egress.keyStoreFromFile |
Путь до хранилища сертификатов egress |
dcgn.ssl.ose.istio.keyStore.egress.password |
Пароль от хранилища |
dcgn.ssl.ose.istio.keyStore.egress.certAlias |
Alias сертификата для egress |
dcgn.ssl.ose.istio.keyStore.egress.rootCertAlias |
Alias для сертификата корневого УЦ |
dcgn.ssl.ose.istio.keyStore.ingress.keyStoreFromFile |
Путь до хранилища сертификатов ingress |
dcgn.ssl.ose.istio.keyStore.ingress.password |
Пароль от хранилища |
dcgn.ssl.ose.istio.keyStore.ingress.certAlias |
Alias сертификата для ingress |
dcgn.ssl.ose.istio.keyStore.ingress.rootCertAlias |
Alias для сертификата корневого УЦ |
Авторизация внешних/внутренних вызовов#
В поставляемой конфигурации DCGN настроен механизм аутентификации и авторизации (входящие/исходящих вызовы). Поэтому необходимо добавить параметр, который проверяет сертификат клиента на соответствие регулярному выражению.
Параметр |
Описание |
|---|---|
dcgn.ose.istio.ingress.envoy_filter.regex_match.client.cn |
Регулярное выражение для проверки CN (common name) входящих SSL-сертификатов |
Сертификаты для One-Time Password (OTP) / OTT#
В поставляемой конфигурации DCGN подключен компонент Платформы One-Time Password (OTP) / OTT, опционально. Для взаимодействия с компонентом One-Time Password (OTP) / OTT необходимо выпустить сертификаты для блока/контура, где производится установка DCGN. Сертификаты необходимо поместить в защищенное хранилище и его параметры передать в соответствующие конфигурации DCGN.
Параметр |
Описание |
|---|---|
ott-sidecar.ssl.ose.keyStore.ott.truststore.keyStoreFromFile |
Путь до хранилища с сертификатом OTTS Сервиса |
ott-sidecar.ssl.ose.keyStore.ott.keyStoreFromFile |
Путь до хранилища с сертификатом OTTS DCGN |
ott-sidecar.ssl.ose.keyStore.ott.certAlias |
Alias сертификата OTTS DCGN |
ott-sidecar.ssl.ose.keyStore.ott.truststore.certAlias |
Alias сертификата OTTS Сервиса |
ott-sidecar.ssl.ose.keyStore.ott.password |
Пароль для сертификата OTTS DCGN |
ott-sidecar.ssl.ose.keyStore.ott.truststore.password |
Пароль для сертификата OTTS Сервиса |
ott-sidecar.ssl.ose.keyStore.ott.truststore.rootAliases |
Aliases для сертификата корневого УЦ |
Более подробное описание конфигурации приводится в документации Platform V Backend на компонент One-Time-Token в «Руководстве по установке».
Сертификаты для SSL-взаимодействия с Kafka для Журналирования (LOGA)#
В поставляемой конфигурации DCGN используется SSL-взаимодействие с Kafka для Журналирования (LOGA). Поэтому необходимо выпустить сертификаты Kafka для блока/контура, где производится установка DCGN.
Параметр |
Описание |
|---|---|
fluent-bit-sidecar.ssl.ose.keyStore.keyStoreFromFile |
Путь до хранилища сертификатов Kafka компонента Журналирования (LOGA) |
fluent-bit-sidecar.ssl.ose.keyStore.password |
Пароль от хранилища |
fluent-bit-sidecar.ssl.ose.keyStore.rootCertAlias |
Alias для сертификата корневого УЦ |
fluent-bit-sidecar.ssl.ose.keyStore.certAlias |
Alias для сертификата |
Сертификаты для SSL-взаимодействия с БД#
В поставляемой конфигурации DCGN используется SSL-взаимодействие с БД. В директории /home/postgres/ssl проверить наличие сгенерированных серверных сертификатов, при их отсутствии сгенерировать серверные сертификаты. Сгенерировать клиентский сертификат (используя корневые сертификаты) и при необходимости осуществить подписание, как серверных сертификатов, так и клиентских сертификатов в УЦ. Корневой и клиентский сертификаты необходимо поместить в защищенное хранилище сертификатов и передать его параметры в соответствующие конфигурации DCGN.
Параметр |
Описание |
|---|---|
dcgn.registry-db.ssl.keyStore.keyStoreFromFile |
Путь до хранилища сертификатов |
dcgn.registry-db.ssl.keyStore.passwordVariableName |
Имя переменной с паролем от хранилища |
dcgn.registry-db.ssl.keyStore.rootCertAliases |
Alias для сертификата корневого УЦ |
dcgn.registry-db.ssl.keyStore.certAlias |
Alias для клиентского сертификата |
Настройка параметров#
Компонент IAM Proxy#
Для отображения ссылки на сервис template-registry необходимо добавить junction-конфигурацию в сервис RDS:
rds-server@ZoneConfig[Core]/JunctionConfig[DCGN_templaterregistry]/applyJctRequestFilter=
rds-server@ZoneConfig[Core]/JunctionConfig[DCGN_templaterregistry]/junctionPoint=/template-registry
rds-server@ZoneConfig[Core]/JunctionConfig[DCGN_templaterregistry]/junctionName=DCGN. Template Registry
rds-server@ZoneConfig[Core]/JunctionConfig[DCGN_templaterregistry]/indexUrl=/template-registry/ui/
rds-server@ZoneConfig[Core]/JunctionConfig[DCGN_templaterregistry]/authorizeByRoleTemplate=
rds-server@ZoneConfig[Core]/JunctionConfig[DCGN_templaterregistry]/sslCommonName=*
rds-server@ZoneConfig[Core]/JunctionConfig[DCGN_templaterregistry]/transparent=true
rds-server@ZoneConfig[Core]/JunctionConfig[DCGN_templaterregistry]/serverAddresses={nginx_ui_host:port};
rds-server@ZoneConfig[Core]/JunctionConfig[DCGN_templaterregistry]/https=true
При интеграции с СУДИР выполнить регистрацию UI реестра шаблонов DCGN в СУДИР по принятым процессам в используемой инсталляции.
Компонент Объединенный сервис авторизации (ОСА)#
Для создания в Объединенном сервисе авторизации (ОСА) привилегий, наборов привилегий (ролей) и групп пользователей DCGN нужно импортировать ролевую модель DCGN в Объединенный сервис авторизации (ОСА) (AUTZ). Импорт производится путем REST-запроса на импорт ролевой модели в Объединенный сервис авторизации (ОСА) (AUTZ). Импорт может быть выполнен как на шаге установки дистрибутива (смотрите раздел «Выполнение установки»), так и после установки DCGN. При установке с помощью компонента Deploy Tools импорт происходит при выборе playbook IMPORT_SECURITY_PARAMS.
Установка DCGN в контейнеризованную среду (Kubernetes или OpenShift (опционально))#
Установка производится путем создания объектов в контейнеризированной среде на основе поставляемых в дистрибутиве yaml-конфигураций и установкой для них параметров, характерных для блока/контура.
Далее приведен пример установки с помощью компонента Deploy Tools.
Установка с помощью компонента Deploy Tools#
Перед началом установки убедитесь, что инструменты Deploy Tools сконфигурированы должным образом. Для более тонкой настройки смотрите инструкции компонента Deploy Tools.
Создание репозитория конфигураций#
Необходимо создать репозиторий для миграции и хранения конфигураций компонента DCGN. Репозиторий создается в той же проектной области, где находится common-репозиторий Deploy Tools.
Common-репозиторий — git-репозиторий глобальных настроек (переменных), которые используются всеми компонентами Platform V в рамках блока/контура.
Имя репозитория формируется по маске \<PREFIX\>_\<CHANNEL\>_\<FPI_NAME\>_\<ENVIR\>\[_\<REPO_BLOCK_ID\>\], где:
PREFIX— в большинстве случаев константа ci00380023_efs;CHANNEL— сегмент или инсталляция (например: ukofl, emp, corp, fis и т. п.);FPI_NAME— dcgn;ENVIR— окружение, тип стенда (например: dev, st, ift, nt, psi и т. п.);REPO_BLOCK_ID— блок/контур (например: b1, sb_sk и т. п.), в случае блочной структуры хранения конфигурации.
Значение параметров определяются в соответствии с конфигурацией Deploy Tools.
Далее в созданном репозитории нужно создать ветку \<BRANCH_NAME\> , где «BRANCH_NAME» — наименование ветки репозитория.
Конфигурация common-репозитория#
Для установки компонента DCGN необходимо внести информацию в common-репозиторий стенда. Для этого нужно выполнить следующие действия:
В файл subsystems.json добавить блок настроек для возможности установки DCGN инструментами Deploy Tools согласно примеру ниже:
Пример минимальной конфигурации для указанной версии компонента Deploy Tools Если версия отличается, смотрите инструкции компонента Deploy Tools.
"DOCGEN": { // наименование компонента Platform V "nexus_host": "<заполнить>", // host нексус-репозитория "nexusPathToArtifact": "<заполнить>", // путь до артефакта "nexus_repo": "<заполнить>", // наименование нексус-репозитория "groupId": "<заполнить>", "artifactId": "<заполнить>", // идентификатор maven артефакта "fpType": "bts", // тип компонента Platform V "fpi_name": "dcgn", // идентификатор компонента Platform V "serviceName": "dcgn", "strict": "true", "versionFilter": "D-01", // регулярное выражения для фильтрации версий артефактов "repoFullName": "<заполнить>", // репозиторий конфигурации "fpi_name_ose": "<заполнить>", // наименование созданного namespace "registryPath": "<заполнить>", // базовый путь до каталога с образами DCGN "agents": { // перечисление подключаемых агентов "UFS_MONITORING_CLIENT": { // наименование агента компонента Объединенный мониторинг Unimon "groupId": "<заполнить>", "artifactId": "<заполнить>", // идентификатор maven артефакта "version": "<заполнить>", // версия клиента компонента Объединенный мониторинг Unimon "fpi_name": "ufs-monitoring", // идентификатор компонента Platform V "exclude": [ // исключения, необходимо указать пути ingress/egress конфигураций согласно расположению в дистрибутиве агента компонента Объединенный мониторинг Unimon "package/conf/openshift/istio/config/ingress/*", "package/conf/k8s/base/istio/config/egress/egressgateway-monitoring", "package/conf/k8s/base/istio/config/egress/egressgateway-monitoring-client", "package/conf/k8s/base/istio/config/egress/egressgateway-kafka-monitoring", "package/conf/openshift/istio/deployments/ingress/*", "package/conf/openshift/istio/deployments/egress/* ] } } }
В данном руководстве рассматривается вариант установки агента Объединенный мониторинг Unimon, сконфигурированного как подключаемый агент к основному компоненту, это описывается в блоке UFS_MONITORING_CLIENT. Потребитель оставляет за собой право выбрать любой способ, предложенный компонентом Deploy tools.
Так как используется pull-модель, дистрибутив DCGN не содержит в себе средства тиражирования метрик, а дистрибутив Объединенный мониторинг Unimon поставляется отдельно.
В параметре version необходимо указать версию Объединенный мониторинг Unimon. Протестированные версии и как их сконфигурировать описано в разделе «Изменение конфигурации компонента Объединенный мониторинг Unimon».
В common-репозиторий необходимо добавить конфигурации подключения к БД DCGN:
В файл ansible/common.conf.yml для выполнения liquibase-скриптов:
DCGN_POSTGRES_DB_URL: <URL подключения к БД Postgres>В файл ansible/_passwords.conf:
jdbc.DOCGEN.user=<Имя созданной учетной записи БД> jdbc.DOCGEN.password=<Пароль созданного учетной записи БД>Для необходимости задания разных учетных записей для DCGN и для выполнения скриптов мигарации БД, в целях разделения полномочий на DDL и DML операции, необходимо добавить в файл ansible/_passwords.conf:
liquibase.jdbc.DOCGEN.user=<Имя учетной записи БД для выполнения сприптов liquibase> liquibase.jdbc.DOCGEN.password=<Пароль учетной записи БД для выполнения сприптов liquibase>В файл installer/system/efs/config/parameters/_global.jdbc.conf для подключения к БД из приложений:
jdbc.dcgn_postgres.ssl.mode=<Режим работы SSL> jdbc.dcgn_postgres.url=<URL подключения к БД Postgres>Если не задан DCGN_POSTGRES_DB_URL, то параметр
jdbc.dcgn_postgres.urlиспользуется и для выполнения liquibase-скриптов.Подробнее о возможных режимах работы SSL описано в документе «Руководство по системному администрированию», в разделе «Настройка и конфигурирование DCGN». Пример формирования URL для подключения к БД с использованием параметров SSL:
jdbc:postgresql://<db-host>:<db-port>/<db-name>?sslmode=${jdbc.dcgn_postgres.ssl.mode}&sslfactory=org.postgresql.ssl.DefaultJavaSSLFactoryПараметр
sslfactory=org.postgresql.ssl.DefaultJavaSSLFactoryявляется обязательным для испольования защищенного хранилища сертификатов Java-приложения.
В common-репозиторий в файл multiclusters.json добавить путь до реестра образов контейнеров:
"registry": "<URL registry, где хранятся образы контейнеров>", "registry_path": "${fpConfig.registryPath}"
Используемые глобальные параметры внешних продуктов#
Для интеграции со внешними и инфраструктурными компонентами в файлах конфигурации DCGN используются ссылки на глобальные параметры из common-репозитория. В глобальных параметрах содержится информация об адресах подключения к БД, базовые URL для HTTP(-S) взаимодействий с компонентами, адреса подключения к серверам Kafka и др.
Внимание!
Отсутствие глобальных параметров без изменения поставляемой конфигурации DCGN может привести к ошибкам во время установки.
№ |
Параметр |
Описание |
|---|---|---|
- |
Настройки, связанные с K8s или OSE (опционально) |
|
1 |
global.multiClusters.openshiftNewRoute |
Используется для формирование route |
2 |
global.ose.platform.egress.http.port |
Порт для egress gateway, через который будут происходить обращения сервисов компонента Platform V во внешние компоненты |
3 |
global.revisionHistoryLimit |
Максимальное количество ревизий deployment для хранения |
4 |
global.ufs.strategy.maxSurge |
Параметр стратегии RollingUpdate. Максимальное количество подов, которые могут быть запланированы выше исходного количества |
5 |
global.ufs.strategy.maxUnavailable |
Параметр стратегии RollingUpdate. Максимальное количество подов, которые могут быть недоступны в процессе обновления |
6 |
global.multiClusters.openshiftControlPlaneProject |
Наименование namespace с развернутым control plane |
7 |
global.multiClusters.openshiftControlPlaneIstiodService |
Адрес сервиса istiod Control Plane |
8 |
global.multiClusters.openshiftControlPlaneIstiodPort |
Порт сервиса istiod Control Plane |
9 |
global.multiClusters.openshiftControlPlaneJaegerService |
Адрес сервиса jaeger Control Plane |
10 |
global.multiClusters.openshiftControlPlaneJaegerPort |
Порт сервиса jaeger Control Plane |
- |
Настройки подключения к БД |
|
11 |
DB_SCHEMA_SUFFIX |
Суффикс БД, используется при миграции скриптов liquibase |
12 |
jdbc.dcgn_postgres.ssl.mode |
Режим работы SSL-подключения к БД |
13 |
jdbc.dcgn_postgres.url |
URL подключения к БД |
14 |
global.jdbc.spring.datasource.hikari.maximum-pool-size |
Максимальное количество соединений в pool |
15 |
global.jdbc.spring.datasource.hikari.minimum-idle |
Минимальное количество соединений в pool |
16 |
global.jdbc.spring.datasource.hikari.connection-timeout |
Время, в течение которого пользователь должен получить соединение, при достижении тайм-аута выпадает SQLException |
17 |
global.jdbc.spring.datasource.hikari.validation-timeout |
Время, в течение которого должен выполниться запрос на валидацию соединения |
18 |
global.jdbc.spring.datasource.hikari.max-lifetime |
Время, по истечении которого соединение будет удалено из-за старости, измеряется в миллисекундах |
19 |
global.jdbc.spring.datasource.hikari.idle-timeout |
Время, в течение которого соединение может не обслуживать запросы прежде, чем может быть удален по idle timeout, измеряется в миллисекундах |
20 |
global.jdbc.spring.datasource.hikari.connection-test-query |
Параметр отвечает за то, каким SQL-запросом будет выполнена проверка. Если значение не задано, то проверка будет осуществлена с помощью драйвера |
21 |
global.jdbc.spring.datasource.hikari.leak-detection-threshold |
Определяет время, в течение которого соединение может быть вне pool, прежде, чем в лог будут отправляться сообщения о возможной утечке соединений |
22 |
global.jdbc.spring.datasource.hikari.initializationFailTimeout |
Определяет поведение хикари при первом взятии соединения. Положительное значение — количество миллисекунд, в течение которых должно быть осуществлено взятие первого соединения |
23 |
global.jdbc.postgres.spring.datasource.hikari.data-source-properties.socketTimeout |
Время, в течение которого SQL-запрос пользователя должен выполниться, измеряется в секундах |
24 |
global.jdbc.postgresql.spring.datasource.hikari.connection-init-sql |
SQL-запрос, который будет выполнен при создании соединения с БД для проверки работоспособности соединения |
25 |
global.jdbc.postgresql.spring.datasource.driver-class-name |
Имя класса с драйвером |
26 |
global.jdbc.hikari.housekeeping.periodMs |
Частота, с которой хикари ищет idle-соединения в pool, измеряется в миллисекундах |
27 |
global.jdbc.hikari.aliveBypassWindowMs |
Перед передачей соединения пользователю хикари проверяет его работоспособность, если после проверки соединение вернется в pool, то в течение этого времени соединение будет считаться проверенным и не будет проверено перед выдачей пользователю, измеряется в миллисекундах |
- |
Настройки для интеграции с компонентом Аудит (AUDT) |
|
28 |
global.platform.audit2.protocol |
Протокол для подключения к Аудиту |
29 |
global.platform.audit2.host |
Хост прокси приложения Аудит |
30 |
global.platform.audit2.port |
Порт для подключения к Аудиту |
- |
Настройки для интеграции с компонентом Журналирование (LOGA) |
|
31 |
global.platform.logger.kafka.bootstrap.servers |
Адреса хостов Kafka |
32 |
global.platform.logger.kafka.security.protocol |
Используемый протокол PLAINTEXT/SSL |
33 |
global.platform.logger.kafka.topic |
Наименование topic Kafka |
34 |
global.platform.ose.kafka.ports |
Список портов Kafka |
- |
Настройки SSL для Журналирования (LOGA) В настройку пароль от хранилища передается как наименование параметра в «_passwords.conf». |
|
35 |
ssl.ose.keyStore.mq.keyStoreFromFile |
Путь до хранилища сертификатов Kafka компонента Журналирования (LOGA) |
36 |
ssl.ose.keyStore.mq.password |
Пароль от хранилища |
37 |
ssl.ose.keyStore.mq.RootAlias| ssl.ose.istio.keyStore.RootCertAlias |
Alias для сертификата корневого УЦ |
38 |
ssl.ose.keyStore.mq.CertAlias |
Alias для сертификата |
- |
Настройки SSL для istio egress/ingress В настройку пароль от хранилища передается как наименование параметра в «_passwords.conf». |
|
39 |
ssl.ose.istio.keyStore.egress.KeyStoreFromFile |
Путь до хранилища сертификатов egress |
40 |
ssl.ose.istio.keyStore.egress.password |
Пароль от хранилища |
41 |
ssl.ose.istio.keyStore.egress.CertAlias |
Alias сертификата для egress |
42 |
ssl.ose.istio.keyStore.RootCertAlias |
Alias для сертификата корневого УЦ |
43 |
ssl.ose.istio.keyStore.ingress.KeyStoreFromFile |
Путь до хранилища сертификатов ingress |
44 |
ssl.ose.istio.keyStore.ingress.password |
Пароль от хранилища |
45 |
ssl.ose.istio.keyStore.ingress.CertAlias |
Alias сертификата для ingress |
- |
Авторизация внешних/внутренних вызовов для istio egress/ingress |
|
46 |
global.ufs.istio.ingress.envoy_filter.regex_match.client.cn |
Регулярное выражение для проверки CN (common name) входящих SSL-сертификатов |
- |
Настройки SSL для One-Time Password (OTP) / OTT — опционально. В настройку пароль от хранилища передается как наименование параметра в «_passwords.conf». |
|
47 |
ssl.ose.keyStore.truststore.keyStoreFromFile |
Путь до хранилища с сертификатом OTTS Сервиса |
48 |
ssl.ose.keyStore.truststore.password |
Пароль для сертификата OTTS Сервиса |
49 |
ssl.ose.keyStore.keystore.keyStoreFromFile |
Путь до хранилища с сертификатом OTTS DCGN |
50 |
ssl.ose.keyStore.password |
Пароль для сертификата OTTS DCGN |
- |
Настройки для интеграции с компонентом One-Time Password (OTP) / OTT |
|
51 |
global.ott.ose_deploy |
Признак, указывающий на необходимость установки One-Time Password (OTP) / OTT |
52 |
global.ott.service.hosts |
Адреса хостов сервера One-Time Password (OTP) / OTT |
53 |
global.ott.service.url |
URL сервера One-Time Password (OTP) / OTT |
- |
Настройки для интеграции с компонентом Объединенный сервис авторизации (AUTZ) |
|
54 |
global.platform.ufs-security.host |
Хост подключения к Объединенному сервису авторизации (AUTZ) |
55 |
global.platform.ufs-security.port |
Порт подключения к Объединенному сервису авторизации (AUTZ) |
56 |
global.platform.ufs-security.protocol |
Протокол подключения к Объединенному сервису авторизации (AUTZ) |
57 |
global.platform.ufs-security.url |
URL подключения к Объединенному сервису авторизации (AUTZ) |
- |
Настройки для интеграции с компонентом IAM proxy (AUTH) |
|
58 |
global.platform.iam.jwks.core.protocol |
Протокол подключения к IAM proxy |
59 |
global.platform.iam.jwks.core.host |
Хост подключения к IAM proxy |
60 |
global.platform.iam.jwks.core.port |
Порт подключения к IAM proxy |
61 |
global.platform.iam.auth.publickey.locations |
Шаблоны для сопоставления token issuer с public key location |
Конфигурация DCGN#
Дистрибутив поставляется с рекомендуемыми значениями параметров конфигурации. Если какая-либо интеграция не используется, то соответствующие параметры могут отсутствовать. Набор поставляемых конфигураций может отличаться в зависимости от поставки.
Общий список конфигураций:
dcgn.all.conf — общие настройки сервисов DCGN. В основном содержит ссылки на глобальные параметры.
dcgn.docgen-service.conf — настройки для Docgen service.
dcgn.template-provider.conf — настройки для Template provider.
dcgn.template-registry.conf — настройки для Template registry.
dcgn.fluent-bit-sidecar.all.conf — настройки, которые используются для интеграции с сервисом Журналирования (LOGA).
dcgn.istio.all.conf — общие настройки для istio. Включают в себя настройки для интеграции с сервисом Аудит (AUDT).
dcgn.ott-sidecar.all.conf — настройки, которые используются для интеграции с сервисом OTTS.
Описание всех настроек из файлов конфигураций приведено в документе «Руководство по системному администрированию», в разделе «Настройка и конфигурирование DCGN».
При установке агента мониторинга добавляются файлы конфигурации компонента Объединенный мониторинг Unimon:
*-monitoring.all.conf — общие настройки сервиса UNIMON.
*-monitoring.unimon-agent.conf — настройки unimon-agent
*-monitoring.unimon-sender.conf — настройки unimon-sender.
Как сконфигурировать мониторинг, смотрите в документе «Руководство по установке» клиентской части Объединенный мониторинг Unimon.
Миграция конфигурации из дистрибутива в репозиторий#
Для миграции конфигурации из дистрибутива в репозиторий нужно выполнить следующие действия:
Перейти к job Jenkins, предназначенной для развертывания (установки) приложений.
В меню слева нажать на опцию «Build with parameters».
Установить параметры сборки:
SUBSYSTEM: DOCGEN;
COMPONENTS: Основная ФП DOCGEN; - так же выбрать UFS_MONITORING_CLIENT если установка происходит совместно с агентом Объединенный мониторинг Unimon
DISTRIB_VERSION: <выбрать версию дистрибутива>;
OSE_CLUSTERS: <выбрать кластер K8s/OpenShift (опционально)>;
Репозиторий/ветка с настройками ФП: <основная ветка конфигурации в соответствии с настройками Deploy Tools>;
PARAMS (набор playbook): <выбрать MIGRATION_FP_CONF>.
Запустить сборку, нажав кнопку «Build».
В результате миграции в репозиторий конфигурации в выбранную ветку попадет часть конфигурационных файлов дистрибутива, которые можно отредактировать.
Ниже приведен пример структуры репозитория после миграции:
├── config
│ └── parameters
│ ├── dcgn.all.conf
│ ├── dcgn.docgen-service.conf
│ ├── dcgn.istio.all.conf
│ ├── dcgn.template-provider.conf
│ └── dcgn.template-registry.conf
├── inventory
│ ├── inventory
│ └── nginx_upstreams_inventory
└── version.conf
Инициализация БД#
Конфигурация Deploy Tools#
Для запуска скриптов инициализации БД необходимо настроить инструменты Deploy Tools.
Настроить правила распаковки родительского дистрибутива и его зависимостей для профиля db-init, файл environment.json.
{
...
"downloadProfiles": {
...
"db-init": {
"parentUnpackIncludes": [
"/package/conf/**"
],
"parentUnpackExcludes": [
"/package/conf/distrib.yml"
],
"dependenciesUnpackIncludes": [
"/package/**"
],
"dependenciesUnpackExcludes": []
}
...
}
...
}
Добавить playbook DB_INIT в список возможных сценариев развертывания, файл environment.json.
...
"playbooks_fpi": {
"DB_INIT": {
"id": 1 // идентификатор playbook, порядковый номер относительно других playbooks в репозитории
},
...
}
...
Добавить параметры в файл ansible/common.conf.yml, значения указаны в качестве примера.
DB_SCHEMA_SUFFIX: "_DEV" # суффикс БД - уникальный идентификатор
...
DCGN_POSTGRES_DB_HOST: 127.0.0.1 # IP-адрес БД
DCGN_POSTGRES_DB_PORT: 5432 # порт
DCGN_POSTGRES_DB_NAME: postgres # имя БД
DCGN_POSTGRES_DB_URL: jdbc:postgresql://{{ DCGN_POSTGRES_DB_HOST }}:{{ DCGN_POSTGRES_DB_PORT }}/{{ DCGN_POSTGRES_DB_NAME }}
# базовая директория для хранения табличных пространств (опционально)
DCGN_POSTGRES_DB_TS_LOCATION: /pgdata/ts
# табличное пространство для основных данных (наименование и расположение на файловой системе)
DCGN_POSTGRES_DB_TS_DATA: dcgn_ts_data
DCGN_POSTGRES_DB_TS_DATA_LOCATION: "{{ DCGN_POSTGRES_DB_TS_LOCATION }}/{{ DCGN_POSTGRES_DB_TS_DATA }}" # /pgdata/ts/dcgn_ts_data
# табличное пространство для индексов (наименование и расположение на файловой системе)
DCGN_POSTGRES_DB_TS_IDX: dcgn_ts_idx
DCGN_POSTGRES_DB_TS_IDX_LOCATION: "{{ DCGN_POSTGRES_DB_TS_LOCATION }}/{{ DCGN_POSTGRES_DB_TS_IDX }}" # /pgdata/ts/dcgn_ts_idx
# табличное пространство для больших объектов (наименование и расположение на файловой системе)
DCGN_POSTGRES_DB_TS_LOB: dcgn_ts_lob
DCGN_POSTGRES_DB_TS_LOB_LOCATION: "{{ DCGN_POSTGRES_DB_TS_LOCATION }}/{{ DCGN_POSTGRES_DB_TS_LOB }}" # /pgdata/ts/dcgn_ts_lob
Добавить учетную запись БД в _passwords.conf под которой будут выполняться скрипты инициализации БД.
# глобальная учетная запись, для инициализации пользователей и схем БД компонентов платформы
POSTGRES_DB_INIT_USERNAME=<имя пользователя>
POSTGRES_DB_INIT_PASSWORD=<пароль>
# или специфичная для компонента DCGN учетная запись
DCGN_POSTGRES_DB_INIT_USERNAME=<имя пользователя>
DCGN_POSTGRES_DB_INIT_PASSWORD=<пароль>
# Пользователь БД будет создан с этими данными
jdbc.DOCGEN.user=<имя пользователя>
jdbc.DOCGEN.password=<пароль>
Создать директории табличных пространств на файловой системе БД.
# директория, указанная в параметре DCGN_POSTGRES_DB_TS_DATA_LOCATION
mkdir -p /pgdata/data/ts/dcgn_ts_data
chown postgres:postgres /pgdata/data/ts/dcgn_ts_data
# директория, указанная в параметре DCGN_POSTGRES_DB_TS_IDX_LOCATION
mkdir -p /pgdata/data/ts/dcgn_ts_idx
chown postgres:postgres /pgdata/data/ts/dcgn_ts_idx
# директория, указанная в параметре DCGN_POSTGRES_DB_TS_LOB_LOCATION
mkdir -p /pgdata/data/ts/dcgn_ts_lob
chown postgres:postgres /pgdata/data/ts/dcgn_ts_lob
Запуск скриптов инициализации БД#
Перейти к job Jenkins, предназначенной для развертывания (установки) приложений.
В меню слева нажать на опцию «Build with parameters».
Установить параметры сборки:
SUBSYSTEM: DOCGEN;
COMPONENTS: Основная ФП DOCGEN;
DISTRIB_VERSION: <выбрать версию дистрибутива>;
OSE_CLUSTERS: <выбрать кластер K8s/OpenShift (опционально)>;
Репозиторий/ветка с настройками ФП: <основная ветка конфигурации в соответствии с настройками Deploy Tools>;
PARAMS (набор playbook): <выбрать DB_INIT>.
Запустить сборку, нажав на кнопку «Build».
В результате выполнения будут созданы следующие объекты БД:
пользователь (с именем - jdbc.DOCGEN.user и паролем - jdbc.DOCGEN.password) и одноименная схема БД;
табличные пространства, указанные в параметрах: DCGN_POSTGRES_DB_TS_DATA, DCGN_POSTGRES_DB_TS_IDX, DCGN_POSTGRES_DB_TS_LOB.
Настройка мультитенантности#
Коммунальная инсталляция#
Для поддержки мультитенантности в соответствующих конфигурациях (смотрите раздел «Конфигурация DCGN») требуется задать следующие параметры:
dcgn.template-provider.unimonId
dcgn.template-registry.unimonId
dcgn.docgen-service.unimonId
dcgn.template-provider.rn
dcgn.template-registry.rn
dcgn.docgen-service.rn
Platform V Backend#
Для поддержки мультитенантности в Platform V Backend требуется выполнить следующие действия:
Для обратной совместимости с бэкенд в конфигурации мониторинга нужно включить автономный режим (см. в документе «Руководство по установке» клиентской части Объединенный мониторинг Unimon).
В соответствующих конфигурациях (смотрите раздел «Конфигурация DCGN») не задавать параметры:
dcgn.template-provider.unimonId
dcgn.template-registry.unimonId
dcgn.docgen-service.unimonId
Примечание.
Для инсталляции с настроенным взаимодействием через Topic (Kafka) и без unimon server параметр «unimonId» задается произвольным значением (смотрите раздел «Конфигурация DCGN» ufs-monitoring.unimon-sender.conf — настройки unimon-sender).
Изменение конфигурации компонента Объединенный мониторинг Unimon#
Необходимо сконфигурировать клиента мониторинга согласно инструкции компонента Объединенный мониторинг Unimon с учетом требований к сервису DCGN, выставить в файлах конфигурации клиента мониторинга значения настроек:
unimon-sender.sidecar.istio.rewriteAppHTTPProbers=true
unimon.server.enable=false, если на инсталяции не предполагается взаимодейтсиве с сервером Unimon.
metric.label.rn - очистить значение, так как информация о RN передается на уровне метрик сервиса;
Проверка конфигурации#
Для проверки конфигурации нужно выполнить следующие действия:
Перейти к job Jenkins, предназначенной для развертывания (установки) приложений.
В меню слева нажать на опцию «Build with parameters».
Установить параметры сборки:
SUBSYSTEM: DOCGEN;
COMPONENTS: Основная ФП DOCGEN; - так же выбрать UFS_MONITORING_CLIENT если установка происходит совместно с агентом Объединенный мониторинг Unimon
DISTRIB_VERSION: <выбрать версию дистрибутива>;
OSE_CLUSTERS: <выбрать кластер K8s/OpenShift (опционально)>;
Репозиторий/ветка с настройками ФП: <основная ветка конфигурации в соответствии с настройками Deploy Tools>;
PARAMS (набор playbook): <выбрать FP_CONF_CHECK>.
Запустить сборку, нажав кнопку «Build».
После выполнения сборки проанализировать лог на предмет наличия некорректной конфигурации.
Ниже приведен пример отсутствия глобальных переменных:
------------------------------------------------------------------------------------------
Проверка соответствия параметров в конфигурационных файлах <fp_name>.conf и _global.conf
------------------------------------------------------------------------------------------
Не найдено значений для global.platform.pprb.baseurl.audit в файле dcgn.template-registry.conf
Не найдено значений для global.platform.ingress.route.http в файле dcgn.istio.all.conf
Не найдено значений для global.platform.ingress.route.https в файле dcgn.istio.all.conf
Выполнение установки#
Для установки ПО необходимо выполнить следующие действия при запуске Job-развертывания:
Установить параметры сборки:
SUBSYSTEM: DOCGEN;
COMPONENTS: Основная ФП DOCGEN; - так же выбрать UFS_MONITORING_CLIENT если установка происходит совместно с агентом Объединенный мониторинг Unimon
DISTRIB_VERSION: <выбрать версию дистрибутива>;
OSE_CLUSTERS: <выбрать кластер K8s/OpenShift (опционально)>;
Репозиторий/ветка с настройками ФП: <основная ветка конфигурации в соответствии с настройками Deploy Tools>;
PARAMS (набор playbook): <выбрать SHIFT_OK>.
Запустить сборку, нажав кнопку «Build».
После завершения выполнения сборки необходимо проверить, что лог не содержит ошибок.
В случае если playbook SHIFT-OK отсутствует, то нужно выбрать playbooks, приведенные в таблице ниже.
Название |
Описание |
|---|---|
DB_UPDATE |
Запуска liquibase-скриптов инициализации и миграции БД |
IMPORT_SECURITY_PARAMS |
Импорт ролевой модели в Объединенный сервис авторизации (AUTZ) |
OPENSHIFT_INGRESS_EGRESS_DEPLOY |
Установка компонентов istio ingress/egress |
OPENSHIFT_DEPLOY |
Установка в K8s или OSE (опционально) |
Набор возможных playbooks зависит от конфигурации инструментов Deploy Tools.
Рекомендации после установки компонентом Deploy Tools#
Для облегчения интеграции потребителей с DCGN, которые используют Deploy Tools, рекомендуется:
добавить глобальные параметры для подключению к сервисам DCGN,
добавить playbook импорта архива шаблона в DCGN.
Глобальные параметры для подключения к сервисам#
В файл installer/system/efs/config/parameters/_global.resources.conf добавить глобальные параметры для подключения к сервисам:
сервис генерации документов (docgen-service),
провайдер шаблонов (template-provider).
№ |
Параметр |
Описание |
Значение |
|---|---|---|---|
1 |
global.platform.baseurl.docgen |
Базовый URL для подключения сервису генерации документов |
|
2 |
global.platform.baseurl.template-provider |
Базовый URL для подключения провайдеру шаблонов |
|
3 |
resourceName |
Переменная для задания resourceName в global.platform.url.template-registry. Задано как условие |
{% if fpConfig.resourceName is defined %}{{fpConfig.resourceName}}{% else %}ZAPOLNI_RUKAMI_PARAMETER_resourceName{% endif %} |
4 |
global.platform.url.template-registry |
URL API для импорта в Реестр шаблонов |
protocol://host:port/template-registry/api/v1/rn/${resourceName}/templates |
Примечание. Наименования параметров носит рекомендательный характер.
Playbook импорта шаблонов#
Для возможности импортирования архивов шаблонов рекомендуется добавить playbook импорта шаблонов — IMPORT_DCGN_PARAMS. Deploy Tools поставляется с common-конфигурациями, в которых по умолчанию настроен playbook.
Если необходимо настроить playbook вручную (например, если в common-репозитории переопределен блок playbooks_import для среды):
В common-репозитории в environment.json добавить:
"IMPORT_DCGN_PARAMS": {
"id": 14, // идентификатор playbook, порядковый номер относительно других playbooks в репозитории
"description": "Импорт архивов шаблонов DCGN", // Необязательный параметр для отображения при выборе playbook и в отчете в результатах
"dataDir": "dcgn_templates" // Обязательный параметр, указывающий на директорию в conf/data/ в дистрибутиве с архивами шаблонов для сервиса
"authType": "ott" // тип авторизации, для OTTS необходимо указать "ott", по-умолчанию - "basic" (Basic Authorization)
},
Занести в _global.resources.conf адрес нового загрузчика в формате:
global.import.service.dcgn.url=${global.platform.url.template-registry}
В pipeline для playbook должны быть настроенны OTT-авторизация и SSL, подробнее по настройке в документации компонента Deploy Tools.
Обновление#
Обновление с версии 1.0.0 на версию 1.2.0#
Обновление происходит по следующим шагам:
Для работы с сервисом template-registry выполнить настройку IAM proxy и Объединенного сервиса авторизации (ОСА). Подробнее описано в разделе «Настройка параметров» настоящего документа.
Задать значения для параметров конфигураций для версии 1.0.1 и 1.1.0, описанные в «Руководстве по системному администрированию» в разделе «Настройка и конфигурирование DCGN».
Удалить неиспользуемые конфигурации от ранних версий DCGN из namespace. Для удаления неиспользуемых конфигураций воспользуйтесь playbooks «OPENSHIFT_DEL_RES» в pipeline SECURITY от Deploy tools. В openshift_del_res.conf необходимо указать ресурсы для удаления:
openshift_del_res.project.1.cluster = <имя кластера из multiClusters>
openshift_del_res.project.1.projects = <имя проекта, откуда будут удалены ресурсы сервиса DCGN>
# список проектов на удаление, можно списком, через запятую
openshift_del_res.projectList = 1
###################### УДАЛЕНИЕ ОБЪЕКТОВ ПО ИМЕНИ И ТИПУ ######################
# тут писать имена удаляемых ресурсов, можно список - через запятую
# удаление deploymants
openshift_del_res.delete_by_name.projects.dpl = off
# удаление deploymentconfigs
openshift_del_res.delete_by_name.projects.dc = off
# удаление imagestreams
openshift_del_res.delete_by_name.projects.is = off
# удаление routes
openshift_del_res.delete_by_name.projects.routes = off
# удаление configmaps
openshift_del_res.delete_by_name.projects.cfgmaps = dcgn-cm-fluent-bit-conf.unver,dcgn-cm-iam-publickey.unver,dcgn-cm-istio-unver,dcgn.all.conf.unver,dcgn-cm-docgen-service-logback-xml.unver,dcgn-cm-template-provider-logback-xml.unver,dcgn-cm-template-registry-logback-xml.unver,dcgn-egress-ott-conf-unver,dcgn-ingress-ott-conf-unver,dcgn.docgen-service.conf.unver,dcgn.fluent-bit-sidecar.all.conf.unver,dcgn.istio.all.conf.unver,dcgn.ott-sidecar.all.conf.unver,dcgn.template-provider.conf.unver,dcgn.template-registry.conf.unver
# удаление secrets
openshift_del_res.delete_by_name.projects.secrets = dcgn-logger-kafka-cert.unver,dcgn-ott-secrets.unver,egressgateway-certs.unver,egressgateway-ca-certs.unver,dcgn-ott-certs.unver,ingressgateway-certs.unver,ingressgateway-ca-certs.unver
# удаление pods
openshift_del_res.delete_by_name.projects.pods = off
# удаление services
openshift_del_res.delete_by_name.projects.srv = off
# удаление replicationcontrollers
openshift_del_res.delete_by_name.projects.rplc = off
# удаление horizontalpodautoscalers
openshift_del_res.delete_by_name.projects.hpa = off
# удаление replicasets
openshift_del_res.delete_by_name.projects.rs = off
# удаление serviceentries
openshift_del_res.delete_by_name.projects.se = off
# удаление gateways
openshift_del_res.delete_by_name.projects.gw = off
# удаление destinationrules
openshift_del_res.delete_by_name.projects.dsr = off
# удаление virtualservices
openshift_del_res.delete_by_name.projects.vs = off
# удаление envoyfilters
openshift_del_res.delete_by_name.projects.ef = off
Выполнить шаги из раздела «Обновление с версии 1.1.0 на версию 1.2.0».
Обновление с версии 1.1.0 на версию 1.2.0#
Обновление происходит по следующим шагам:
При сборке с помощью Build Tools (Solution Merger Job) наполнить продукт зависимостями согласно рекомендациям в пункте «Рекомендации по наполнению продукта зависимостями при сборке с помощью Build Tools (Solution Merger Job)».
Сконфигурировать параметры, которые были добавлены в версии 1.2.0. Новые параметры описаны в «Руководстве по системному администрированию» в разделе «Настройка и конфигурирование DCGN», для новых параметров в столбце «Версия ПО» указывается версия 1.2.0.
Сконфигурировать SSL для БД согласно разделу «Сертификаты для SSL-взаимодействия с БД».
В файл subsystems.json добавить базовый путь до каталога с образами DCGN согласно примеру в разделе «Конфигурация common-репозитория» в пункте 1.
Выполнить настройки, которые приведены в разделе «Конфигурация common-репозитория» в пункте 3.
Установить версию 1.2.0 (установка через Deploy Tools описана в разделе «Выполнение установки»).
Удаление#
Для удаления DCGN необходимо выполнить следующие действия:
Удалить созданный namespace в кластере K8s или OSE (опционально);
Если установка производилась Deploy Tools, удалить:
репозиторий конфигураций;
созданные глобальные переменные;
созданный playbook импорта.
Удалить пользователя и схему БД.
Проверка работоспособности#
Проверка корректности работы DCGN включает проверку по следующим позициям:
В контейнеризованной среде (Kubernetes или OpenShift (опционально)) созданы объекты, соответствующие конфигурации в дистрибутиве.
Поды сервисов запущены (находятся в статутсе
Running) и контейнеры работают без ошибок.На вызов Endpoint с healthcheck приходит ответ:
{"success":true,"body":"ON"}. Формирование ссылки описано в документе «Руководство по системному администрированию», раздел «Правила формирования ссылки до healthcheck сервисов». Пример curl запроса, с целевым взаимодействием с сервисом через mTLS и передачей в запросе клиентского и корневого сертификатов:
curl --cert tls.crt --key tls.key --cacert root.crt протокол://хост:порт/docgen-service/healthcheck
Метрики состояния сервисов возвращают значение доступности сервиса (метрики указаны в документе «Руководство по системному администрированию», в разделе «События мониторинга»).
Пользователю UI DCGN после успешной аутентификации в IAM Proxy или СУДИР и авторизации открывается приложение «Реестр шаблонов документов» на вкладке меню «Шаблоны документов».
Доступ к функциональности UI Реестр шаблонов для пользователя ограничен в соответствии с ролевой моделью (согласно назначенным им ролям. Подробнее про разграничение ролей описано в документе «Руководство по системному администрированию», в разделе «Принципы разграничения доступа к функциям UI»).
Откат#
В общем случае для отката к начальным настройкам или любой из предыдущих версий необходимо выполнить установку требуемой версии согласно поставляемой инструкции по установке (документ «Руководство по установке»). Для отката к предыдущей версии обязательного удаления текущей не требутся.
Часто встречающиеся проблемы и пути их устранения#
№ |
Ошибка |
Способ устранения |
|---|---|---|
1 |
При ошибке выполнения liquibase скриптов |
Посмотреть лог сборки в Jenkins на предмет ошибки; Проверить подключение к БД; Проверить привилегии пользователя; Произвести соответствующие логам правки в common-репозитории Deploy Tools |
2 |
При ошибке импорта в сервисы |
Проверить корректность настройки URL для импорта в common-репозитории Deploy Tools. Проверить работоспособность компонента Platform V, при импорте в который произошла ошибка |
3 |
Ошибка установки на Nginx |
Посмотреть лог сборки в Jenkins; Произвести соответствующие правки в common-репозитории Deploy Tools или в репозитории с конфигурацией DCGN |
4 |
Ошибки параметризации конфигурации |
Посмотреть лог сборки в Jenkins; Произвести соответствующие правки в common-репозитории Deploy Tools или в репозитории с конфигурацией DCGN |
5 |
Ошибка установки в K8s или OSE (опционально) |
Посмотреть лог сборки в Jenkins на предмет ошибки; Произвести соответствующие правки в common репозитории Deploy Tools или репозитории с конфигурацией DCGN |
Чек-лист валидации установки#
В целях проверки корректности установки необходимо пройти по всем пунктам чек-листа.
№ |
Выполненные действия |
Признак обязательности |
Примечание |
|---|---|---|---|
1 |
Создана схема и пользователь БД |
Да |
Смотрите раздел «Создание пользователя и схемы БД» |
2 |
Создан репозиторий для хранения конфигурации |
Нет |
Для установки компонентом Deploy Tools смотрите раздел «Установка с помощью компонента Deploy Tools» |
3 |
Создан namespace в кластере K8s или OSE (опционально) |
Да |
Смотрите раздел «Создание namespace в K8s или OSE (опционально)» |
4 |
Произведена настройка common репозитория |
Нет |
Для установки компонентом Deploy Tools смотрите раздел «Установка с помощью компонента Deploy Tools» |
5 |
Проведена миграция конфигурации |
Нет |
Для установки компонентом Deploy Tools смотрите раздел «Миграция конфигурации из дистрибутива в репозитори» |
6 |
Внесены изменения в стандартную конфигурацию |
Нет |
Для установки компонентом Deploy Tools смотрите раздел «Установка с помощью компонента Deploy Tools» |
7 |
Выполнена миграция liquibase-скриптов |
Да |
Для установки компонентом Deploy Tools - при установке был выбран playbook |
8 |
Выполнена установка компонентов istio (ingress gateway / egress gateway) в кластер K8s или OSE (опционально) |
Да |
Для установки компонентом Deploy Tools - при установке был выбран playbook |
9 |
Выполнена установка сервисов DCGN: docgen-service, template-provider, template-registry |
Да |
Для установки компонентом Deploy Tools - при установке был выбран playbook |
10 |
Выполнена проверка работоспособности |
Да |
Смотрите раздел «Проверка работоспособности» |
11 |
Добавлены глобальные параметры для подключения к сервисам DCGN |
Нет |
Для установки компонентом Deploy Tools смотрите раздел «Установка с помощью компонента Deploy Tools» |
12 |
Добавлен playbook импорта в DCGN |
Нет |
Для установки компонентом Deploy Tools смотрите раздел «Установка с помощью компонента Deploy Tools» |
13 |
Успешно выполнена работа playbook для создания в компоненте авторизации привилегий, наборов привилегий (ролей) и групп пользователей DCGN — |
Да |
Для установки компонентом Deploy Tools — при установке был выбран playbook, смотрите раздел «Установка с помощью компонента Deploy Tools» |