Перейти к основному содержимому

Установка консоли GRDL

В данном разделе описывается порядок установки консоли GRDL в Kubernetes-кластер с использованием helm-чартов.

Шаг 1. Подготовка базы данных​

Последовательность действий​

  1. Разверните PostgreSQL.
  2. Создайте tablespace grdl_ts_data и grdl_ts_idx.
  3. Создайте пользователя и схему gdl в БД модуля управления.
  4. Создайте пользователя с правом репликации в БД источника и приемника.

Проверка результата​

База данных подготовлена для установки GRDL.

Шаг 2. Развертывание объектов БД конфигурации​

Последовательность действий​

После подготовки БД конфигурации необходимо развернуть объекты базы данных. В БД создаются следующие объекты:

  • Таблицы: grdl_*, scim_*, liq_*, buffered_messages, databasechangelog и др. (около 40 таблиц);
  • Первичные ключи для таблиц;
  • Индексы для внешних ключей;
  • Внешние ключи для связей между таблицами.

Для этого необходимо выполнить следующие действия.

  1. Перенести архив grdl-full-D-X.X.X-XXXX-distrib/package/db/db_archive_console.zip в рабочую директорию.

  2. Распаковать архив:

unzip db_archive_console.zip
  1. В файле liquibase_properties.xml отредактировать шаблоны:

    ШаблонОписание
    ${username}Имя пользователя, под которым будет производиться миграция данных
    ${schema}Целевая схема, в которую будут мигрировать таблицы
    ${schemaOwner}Владелец целевой схемы
  2. В распакованной директории выполнить скрипт:

java -cp "liquibase-jdbc-core-4.24.0.jar:postgresql-42.7.12.jar" liquibase.integration.commandline.Main \
--url=jdbc:postgresql://${hostname}:${port}/${db} \
--defaultSchemaName=${schema} \
--username=${user} \
--password=${password} \
--driver=org.postgresql.Driver \
--changeLogFile=0001_changelog.xml update

где:

ПараметрОписание
${hostname}Сервер базы данных конфигурации
${port}Порт сервера БД
${db}Имя БД
${schema}Целевая схема (должна быть предварительно создана)
${user}Пользователь, под которым происходит подключение к БД
${password}Пароль пользователя, под которым происходит подключение к БД
  1. По завершении работы Liquibase появится сообщение:
Liquibase: Update has been successful.

Проверка результата​

Объекты БД развернуты.

Шаг 3. Подготовка параметров helm-чартов​

Последовательность действий​

Параметры helm-чартов находятся в файлах values.yaml:

  • grdl-full-D-X.X.X-XXXX-distrib/package/helm/application/grdl-console/values.yaml — параметры консоли;
  • grdl-full-D-X.X.X-XXXX-distrib/package/helm/application/grdl-console-ui/values.yaml — параметры UI;
  • rplw-full-D-X.X.X-XXXX-distrib/package/helm/application/rplw-module/values.yaml — параметры модуля репликатора.

Проверка результата​

Параметры helm-чартов подготовлены.

Установка в упрощенном формате (без дополнительных интеграций и TLS)​

Для установки приложения без дополнительных интеграций достаточно использовать чарты: grdl-console, grdl-console-ui, rplw-module. Чарты istio-console и istio-module настраивать и использовать не требуется.

Параметры консоли​

Файл: grdl-full-D-X.X.X-XXXX-distrib/package/helm/application/grdl-console/values.yaml

ПараметрОписание
deploymentProfileРежим деплоя без дополнительных интеграций: simplified
console.config.javaSpring-профиль поменять на EXTERNAL (-Dspring.profiles.active=EXTERNAL)
console.db_schemaСхема БД конфигурации
console.db.hostHostname БД конфигурации
console.db.databaseИмя БД
console.domainДоменный суффикс, используемый для формирования внешнего доменного имени консоли в Kubernetes/Ingress. Например, при значении .dev.apps.example.local итоговое имя может быть сформировано как console.dev.apps.example.local
console.console_ui_urlFQDN ингресса grdl-console-ui
console.vault.secret_path.manual_userИмя пользователя для подключения к БД конфигурации
console.vault.secret_path.manual_passwordПароль пользователя для подключения к БД конфигурации
console.imagePullSecrets.nameИмя секрета для PULL'а образов
console.image_hashХеш образа. Имеет приоритет над тегом
console.image_tagТег образа
registryHostname registry образов
registry_path_gdlПуть в nexus/registry до образов grdl-console
console_ingress.proxy_paramsБлок параметров ингресс-контроллера k8s-кластера. Блок настроек зависит от используемого ингресс-контроллера в кластере
console_ingress.proxy_params.enabledВыключение специфических аннотаций для работы NGINX Ingress Controller: false
console_ingress.hostFQDN ингресса grdl-console
console.ai.gigachat.enabledВключение режима работы совместимости с GigaChat API
console.ai.gigachat.modelВыбор модели GigaChat
console.ai.gigachat.scopeВерсия API GigaChat
console.ai.gigachat.oauth_urlURL сервиса авторизации GigaChat
console.ai.gigachat.api_urlAPI url GigaChat (В некоторых случаях через Proxy-сервер)
console.ai.gigachat.auth_keyКлюч авторизации GigaChat
console.ai.skip_ssl_verificationОтключение режима проверки УЦ сервера LLM
console.ai.openai.enabledВключение режима работы совместимости с OpenAI API
console.ai.openai.modelВыбор модели OpenAI
console.ai.openai.api_urlAPI url OpenAI
console.ai.openai.api_keyApi ключ для доступа к OpenAI

Важно: для работы ИИ-агента (GigaChat/OpenAI) требуется сетевой доступ из ноды Kubernetes-кластера до соответствующего API-эндпоинта (console.ai.gigachat.api_url / console.ai.openai.api_url) и, при использовании GigaChat, до сервиса авторизации (console.ai.gigachat.oauth_url). Отсутствие маршрутизации/файрвол-правил приведёт к недоступности функций ИИ-агента.

При необходимости проверку сертификата сервера LLM можно отключить параметром console.ai.skip_ssl_verification, установив значение true.

Параметры UI​

Файл: package/conf/helm/application/grdl-console-ui/values.yaml

ПараметрОписание
deploymentProfileРежим деплоя без дополнительных интеграций: simplified
ui.entry_point_urlURL на ингресс grdl-console. Например, http://console.dev.apps.example.local/
ui.image_hashХеш образа. Имеет приоритет над тегом
ui.image_tagТег образа
ui.imagePullSecrets.nameИмя секрета для PULL'а образов
ui.image.registryHostname registry образов
ui.image.registry_pathПуть в nexus/registry до образов grdl-console-ui
ui.image_hashХеш образа. Имеет приоритет над тегом
ui.image_tagТег образа
ingress.proxy_paramsБлок параметров ингресс-контроллера k8s-кластера. Блок настроек зависит от используемого ингресс-контроллера в кластере
ingress.proxy_params.enabledВыключение специфических аннотаций для работы NGINX Ingress Controller: false
ingress.hostFQDN ингресса grdl-console-ui

Параметры rplw-module​

Файл: package/conf/helm/application/rplw-module/values.yaml

ПараметрОписание
deploymentProfileРежим деплоя без дополнительных интеграций: simplified
module.config.labelМетка, которая будет присвоена модулям-репликаторам. Можно оставить пустой
module.config.console_hostFQDN ингресса grdl-console
module.config.javaSpring-профиль поменять на EXTERNAL-DA (-Dspring.profiles.active=EXTERNAL-DA)
module.config.db.urlsСписок баз данных источников и приемников
module.vault.secret_path.manual_userИмя пользователя для подключения к БД источника/приемника. Определяя этот параметр, будет создан секрет, монтируемый в deployment модуля репликатора
module.vault.secret_path.manual_passwordПароль пользователя для подключения к БД источника/приемника
module.imagePullSecrets.nameИмя секрета для PULL'а образов
module.image_hashХеш образа. Имеет приоритет над тегом
module.image_tagТег образа
module.replica_countКоличество реплик: 1
module_ingress.hostFQDN rplw-module
registryHostname registry образов
registry_path_gdlПуть в nexus/registry до образов rplw-module
module_ingress.proxy_paramsБлок параметров ингресс-контроллера k8s-кластера. Блок настроек зависит от используемого ингресс-контроллера в кластере
module_ingress.proxy_params.enabledВыключение специфических аннотаций для работы NGINX Ingress Controller: false
module_instancesСписок инстансов модуля репликатора. Каждый элемент списка разворачивается в отдельный набор объектов: deployment, service, ingress. Более подробно описано в файле values.yaml чарта rplw-module. Заполнить поле ingress.host для каждого элемента списка. Например, rplw-module-1.dev.apps.example.local

Установка чартов​

helm install ${console_release_name} grdl-console -n ${namespace}
helm install ${console_ui_release_name} grdl-console-ui -n ${namespace}
helm install ${rplw_module_release_name} rplw-module -n ${namespace}
примечание
  • Замените ${namespace} на целевое пространство имен в кластере k8s. Если в .kube/config в current-context указан целевой namespace, тогда этот параметр можно не использовать;
  • Замените ${console_release_name} на имя релиза установки чарта grdl-console;
  • Замените ${console_ui_release_name} на имя релиза установки чарта grdl-console-ui;
  • Замените ${rplw_module_release_name} на имя релиза установки чарта rplw-module.

Доступ к консоли приложения можно получить, перейдя по URL Ingress grdl-console-ui, введя этот URL в адресной строке браузера.

Установка в режиме MTLS (без интеграции с Vault/SecMan)​

Для установки приложения в режиме MTLS нужно использовать чарты: grdl-console, grdl-console-ui, rplw-module, istio-console и istio-module. Рекомендуется устанавливать чарты grdl-console, grdl-console-ui, istio-console в один namespace, а чарты rplw-module и istio-module в другой namespace.

Отключение лишних интеграций​

Чтобы отключить неиспользуемые интеграции, закомментируйте соответствующие include-директивы в файлах _toggler.tpl. Для комментирования в Helm-шаблонах используется конструкция {{/*- ... */}}.

  1. Файл package/conf/helm/application/istio-console/templates/_toggler.tpl

Блок gradely.egress_integrations​

{{/*- include "gradely.fl_kafka" . */}} {{/*- include "gradely.connector_sidec" . */}} {{/*- include "gradely.iam" . */}} {{/*- include "gradely.keycloak" . */}} {{/*- include "gradely.audit" . */}} {{/*- include "gradely.ott_aud" . */}} {{/*- include "gradely.init" . */}}

Блок gradely.ingress_certs​

{{/*- include "gradely.ott_key" . */}}

Блок gradely.egress_certs​

{{/*- include "gradely.fl_kafka" . */}} {{/*- include "gradely.connector_sidec" . */}} {{/*- include "gradely.iam" . */}} {{/*- include "gradely.keycloak" . */}} {{/*- include "gradely.audit" . */}} {{/*- include "gradely.ott_aud" . */}} {{/*- include "gradely.init" . */}} {{/*- include "gradely.ott_key" . */}}

  1. Файл package/conf/helm/application/istio-module/templates/_toggler.tpl

Блок gradely.egress_integrations​

{{/*- include "gradely.fl_kafka" . */}} {{/*- include "gradely.ott_aud" . */}}

Блок gradely.ingress_certs​

{{/*- include "gradely.ott_key" . */}}

Блок gradely.egress_certs​

{{/*- include "gradely.fl_kafka" . */}} {{/*- include "gradely.ott_aud" . */}} {{/*- include "gradely.ott_key" . */}}

Параметры istio-console​

Файл: package/conf/helm/application/istio-console/values.yaml

ПараметрОписание
registryHostname registry образов
registry_path_egressПуть в nexus/registry до образов istio-сайдкара эгресс деплоймента
registry_path_ingressПуть в nexus/registry до образов istio-сайдкара ингресс деплоймента
db_config.servers_json.bootstrap_serversПодробнее в разделе документации «Параметры istio-console»
ingress_console.ingress_json.bootstrap_serversПодробнее в разделе документации «Параметры istio-console»
ingress_ui.ingress_json.bootstrap_servers.ingress_json.bootstrap_serversПодробнее в разделе документации «Параметры istio-console»
egress_worker.egress_json.bootstrap_serversПодробнее в разделе документации «Параметры istio-console»
kubernetes_labels.control_plane_addressАдрес (имя_сервиса:порт) контрольной панели istio
kubernetes_labels.istiodПространство имен istiod
kubernetes_labels.zipkinАдрес (имя_сервиса:порт) zipkin
ingress.imagePullSecrets.nameИмя секрета для pull'а образов
egress.imagePullSecrets.nameИмя секрета для pull'а образов
cn_filter.enabledТогглер создания сетевых envoy-фильтров. Подробнее в разделе документации «Параметры istio-console»
cn_filter.cn_listМаски для CN сертификатов. Подробнее в разделе документации «Параметры istio-console»

Параметры grdl-console​

Файл: package/conf/helm/application/grdl-console/values.yaml

ПараметрОписание
deploymentProfileРежим деплоя. Выставить в значение "MTLS". Подробнее в разделе документации «Параметры grdl-console»
console.config.javaПараметры запуска java приложения. Параметр -Dspring.profiles.active выставить в значение EXTERNAL
console.db_schemaСхема БД конфигурации
console.domainДоменный суффикс, используемый для формирования внешнего доменного имени консоли
console.vault.secret_path.manual_userИмя пользователя для подключения к БД консоли
console.vault.secret_path.manual_passwordПароль пользователя для подключения к БД консоли
console.imagePullSecrets.nameИмя секрета для pull'а образов
console.image_hashХеш образа. Имеет приоритет над тегом
console.image_tagТег образа
registryHostname регистри образов
registry_path_gdlПуть в nexus/registry до образов grdl-console
console_ingress.hostFQDN Ingress модуля консоли. Например: grdl-console.dev.apps.example.local
console.ai.gigachat.enabledВключение режима работы совместимости с GigaChat API
console.ai.gigachat.modelВыбор модели GigaChat
console.ai.gigachat.scopeВерсия API GigaChat
console.ai.gigachat.oauth_urlURL сервиса авторизации GigaChat
console.ai.gigachat.api_urlAPI url GigaChat (В некоторых случаях через Proxy-сервер)
console.ai.gigachat.auth_keyКлюч авторизации GigaChat
console.ai.skip_ssl_verificationОтключение режима проверки УЦ сервера LLM
console.ai.openai.enabledВключение режима работы совместимости с OpenAI API
console.ai.openai.modelВыбор модели OpenAI
console.ai.openai.api_urlAPI url OpenAI
console.ai.openai.api_keyApi ключ для доступа к OpenAI

Важно: доступ к ИИ-модели (GigaChat/OpenAI) в инфраструктурах с MTLS и Istio может организовываться по-разному — напрямую или через прокси-сервер, с требованием клиентского сертификата или без него, — в зависимости от используемых сетевых политик и особенностей конкретной инфраструктуры. Настройка соответствующего набора istio-параметров (ServiceEntry, DestinationRule, VirtualService, egress-правила и т.д.) для организации сетевого доступа к API-эндпоинту модели (console.ai.gigachat.api_url / console.ai.gigachat.oauth_url / console.ai.openai.api_url) остаётся на стороне администратора кластера.

Параметры grdl-console-ui​

Файл: package/conf/helm/application/grdl-console-ui/values.yaml

ПараметрОписание
deploymentProfileРежим деплоя. Выставить в значение "MTLS". Подробнее в разделе документации «Параметры UI»
ui.entry_point_urlURL на ingress grdl-console
ui.imagePullSecrets.nameИмя секрета для pull'а образов
ui.image.registryHostname регистри образов
ui.image.registry_pathПуть в nexus/registry до образов grdl-console-ui
ui.image_hashХеш образа. Имеет приоритет над тегом
ui.image_tagТег образа
istio.enabledДобавляет специфические аннотации для сервисной сетки Istio. Значение: true
istio.inject_istioВключает инъекцию istio-сайдкара. Значение: true

Параметры istio-module​

Файл: package/conf/helm/application/istio-module/values.yaml

ПараметрОписание
registryHostname registry образов
registry_path_egressПуть в nexus/registry до образов istio-сайдкара эгресс деплоймента
registry_path_ingressПуть в nexus/registry до образов istio-сайдкара ингресс деплоймента
kafka.servers_json.bootstrap_serversПодробнее в разделе документации «Параметры istio-module»
db_worker.servers_json.bootstrap_serversПодробнее в разделе документации «Параметры istio-module»
egress_console.egress_json.bootstrap_serversПодробнее в разделе документации «Параметры istio-module»
ingress_worker.ingress_json.bootstrap_serversПодробнее в разделе документации «Параметры istio-module»
kubernetes_labels.control_plane_addressАдрес (имя_сервиса:порт) контрольной панели istio
kubernetes_labels.istiodПространство имен istiod
kubernetes_labels.zipkinАдрес (имя_сервиса:порт) zipkin
ingress.imagePullSecrets.nameИмя секрета для pull'а образов
egress.imagePullSecrets.nameИмя секрета для pull'а образов
cn_filter.enabledТогглер создания сетевых envoy-фильтров. Подробнее в разделе документации «Параметры istio-module»
cn_filter.cn_listМаски для CN сертификатов. Подробнее в разделе документации «Параметры istio-module»

Параметры rplw-module​

Файл: package/conf/helm/application/rplw-module/values.yaml

ПараметрОписание
deploymentProfileРежим деплоя. Выставить в "MTLS". Подробнее в разделе документации «Параметры rplw-module»
registryHostname регистри образов
registry_path_gdlПуть в nexus/registry до образов rplw-module
ingress_worker.servers_json.bootstrap_serversЗаполнить только domain — доменный суффикс
module.config.javaПараметры запуска java-приложения. Параметр -Dspring.profiles.active выставить в значение EXTERNAL-DA
module.config.labelМетка, которая будет присвоена модулям-репликаторам. Опционально
module.imagePullSecrets.nameИмя секрета для pull'а образов
module.image_hashХеш образа rplw-module
module.image_tagТег образа rplw-module

Установка чартов​

helm install ${istio_console_release_name} istio-console -n ${namespace1}
helm install ${console_release_name} grdl-console -n ${namespace1}
helm install ${console_ui_release_name} grdl-console-ui -n ${namespace1}

helm install ${istio_module_release_name} istio-module -n ${namespace2}
helm install ${rplw_module_release_name} rplw-module -n ${namespace2}
примечание
  • Замените ${namespace1} и ${namespace2} на целевое пространство имен в кластере k8s. Если в .kube/config в current-context указан целевой namespace, тогда этот параметр можно не использовать;
  • Замените ${istio_console_release_name} на имя релиза установки чарта istio-console;
  • Замените ${console_release_name} на имя релиза установки чарта grdl-console;
  • Замените ${console_ui_release_name} на имя релиза установки чарта grdl-console-ui;
  • Замените ${istio_module_release_name} на имя релиза установки чарта istio-module;
  • Замените ${rplw_module_release_name} на имя релиза установки чарта rplw-module.

Доступ к консоли приложения можно получить, перейдя по URL Ingress grdl-console-ui, введя этот URL в адресной строке браузера. Предварительно необходимо установить в браузер клиентский сертификат с ключом в формате PKCS#12 (.p12). Сертификат импортируется в личное хранилище браузера, после чего при переходе по FQDN Ingress модуля UI браузер предложит выбрать его для аутентификации. Только после этого откроется интерфейс приложения — без установленного сертификата соединение будет отклонено на этапе TLS-рукопожатия.

Установка с дополнительными интеграциями с продуктами Platform V​

Для установки приложения с дополнительными интеграциями нужно использовать чарты: grdl-console, grdl-console-ui, rplw-module, istio-console и istio-module. Установка требует большое количество вспомогательных сервисов с тонкой настройкой, поэтому крайне не рекомендуется для trial-установки приложения!

Рекомендуется устанавливать чарты grdl-console, grdl-console-ui, istio-console в один namespace, а чарты rplw-module и istio-module в другой namespace.

Параметры istio-console​

Файл: package/conf/helm/application/istio-console/values.yaml

ПараметрОписание
registryHostname registry образов
registry_path_egressПуть в nexus/registry до образов istio-сайдкара эгресс-деплоямента
registry_path_ingressПуть в nexus/registry до образов istio-сайдкара ингресс-деплоямента
registry_path_ottsПуть в nexus/registry до образов ott-сайдкара
fl_kafka.servers_json.bootstrap_serversНабор json-объектов, описывающих fluentbit-овые kafka-серверы
connector_sidec.servers_json.bootstrap_serversНабор json-объектов, описывающих kafka-коннекты, имитирующие sidec
iam.servers_json.bootstrap_serversНабор json-объектов, описывающих iam-серверы
keycloak.servers_json.bootstrap_serversНабор json-объектов, описывающих keycloak-серверы
audit.servers_json.bootstrap_serversНабор json-объектов, описывающих audit-серверы
ott_aud.servers_json.bootstrap_serversНабор json-объектов, описывающих ott_aud-серверы
ott_key.servers_json.bootstrap_serversНабор json-объектов, описывающих OTT-серверы
db_config.servers_json.bootstrap_serversНабор json-объектов, описывающих сервера СУБД с БД конфигураций
ingress_console.ingress_json.bootstrap_serversНабор json-объектов, необходимые для создания сетевых компонентов k8s консоли
ingress_ui.ingress_json.bootstrap_serversНабор json-объектов, необходимые для создания сетевых компонентов k8s консоли-ui
egress_worker.egress_json.bootstrap_serversНабор json-объектов, необходимые для создания сетевых компонентов k8s модулей-репликаторов
kubernetes_labels.control_plane_addressАдрес (имя_сервиса:порт) контрольной панели istio
kubernetes_labels.istiodNamespace istiod
kubernetes_labels.zipkinАдрес (имя_сервиса:порт) zipkin
ingress.vault.namespaceПространство имен сервера secman (vault)
ingress.vault.roleРоль авторизации на сервере secman (vault)
ingress.imagePullSecrets.nameИмя секрета для PULL'а образов
egress.vault.namespaceПространство имен сервера secman (vault)
egress.vault.roleРоль авторизации на сервере secman (vault)
egress.imagePullSecrets.nameИмя секрета для PULL'а образов
slrs.serverАдрес сервиса slrs
slrs.portПорт, который слушает сервис slrs
slrs.namespaceNamespace, в котором развернут сервис slrs
cn_filter.cn_listМаски для CN сертификатов, которые будет пропускать envoy-фильтр
secman.hostHostname secman (vault)
ott.module_idCN, с которым приложение ходит до OTT-сервера
ott.service.hostsАдрес (hostname:port) OTT-сервера
ott.audit2.proxy.fqdnИмя сервиса аудита ott
ott.imagePullSecrets.nameИмя секрета для PULL'а образов ott-сайдкаром

Параметры grdl-console​

Файл: package/conf/helm/application/grdl-console/values.yaml

ПараметрОписание
deploymentProfileРежим деплоя с дополнительными интеграциями: enterprise
console.db_schemaСхема БД конфигурации
console.scim_cn_listSCIM CN
console.domainДомен в k8s в формате .dev.apps.example.local
console.console_ui_urlFQDN ингресса grdl-console-ui
console.fluentbit.domainДомен стенда k8s
console.fluentbit.bootstrap_serversСписок kafka-серверов (hostname1:port,hostname2:port,...) для fluentbit
console.fluentbit.topicsИмя топика kafka из параметра bootstrap_servers
console.vault.namespaceПространство имен сервера secman (vault)
console.vault.roleРоль авторизации сервера secman (vault)
console.vault.secret_path.db_configПуть в KV-движке до секретов для работы с БД конфигурации
console.vault.secret_path.audit_fileПуть в KV-движке до секретов для работы с аудитом
console.vault.secret_path.jwtПуть в KV-движке до секретов jwt
console.imagePullSecrets.nameИмя секрета для PULL'а образов
console.image_hashХеш образа. Имеет приоритет над тегом
console.image_tagТег образа
registryHostname registry образов
registry_path_gdlПуть в nexus/registry до образов grdl-console
registry_path_fluentbitПуть в nexus/registry до образов fluentbit
console_ingress.proxy_params.enabledtrue. Включает аннотации для работы Ingress в кластере k8s
console_ingress.hostFQDN Ingress модуля консоли. Например: grdl-console.dev.apps.example.local
console.ai.gigachat.enabledВключение режима работы совместимости с GigaChat API
console.ai.gigachat.modelВыбор модели GigaChat
console.ai.gigachat.scopeВерсия API GigaChat
console.ai.gigachat.oauth_urlURL сервиса авторизации GigaChat
console.ai.gigachat.api_urlAPI url GigaChat (В некоторых случаях через Proxy-сервер)
console.ai.gigachat.auth_keyКлюч авторизации GigaChat
console.ai.skip_ssl_verificationОтключение режима проверки УЦ сервера LLM
console.ai.openai.enabledВключение режима работы совместимости с OpenAI API
console.ai.openai.modelВыбор модели OpenAI
console.ai.openai.api_urlAPI url OpenAI
console.ai.openai.api_keyApi ключ для доступа к OpenAI

Важно: доступ к ИИ-модели (GigaChat/OpenAI) в инфраструктурах с MTLS и Istio может организовываться по-разному — напрямую или через прокси-сервер, с требованием клиентского сертификата или без него, — в зависимости от используемых сетевых политик и особенностей конкретной инфраструктуры. Настройка соответствующего набора istio-параметров (ServiceEntry, DestinationRule, VirtualService, egress-правила и т.д.) для организации сетевого доступа к API-эндпоинту модели (console.ai.gigachat.api_url / console.ai.gigachat.oauth_url / console.ai.openai.api_url) остаётся на стороне администратора кластера.

Параметры UI​

Файл: package/conf/helm/application/grdl-console-ui/values.yaml

ПараметрОписание
deploymentProfileРежим деплоя c дополнительными интеграциями: enterprise
ui.entry_point_urlURL на ингресс grdl-console
ui.imagePullSecrets.nameИмя секрета для PULL'а образов
ui.image_hashХеш образа. Имеет приоритет над тегом
ui.image_tagТег образа
ui.image.registryHostname registry образов
ui.image.registry_pathПуть в nexus/registry до образов grdl-console-ui
ingress.proxy_params.enabledtrue. Включает аннотации для работы Ingress в кластере k8s
ingress.hostFQDN Ingress модуля UI. Например: grdl-console-ui.dev.apps.example.local
istio.enabledtrue. Добавляет специфические аннотации для сервисной сетки Istio
istio.inject_istiotrue

Параметры istio-module​

Файл: package/conf/helm/application/istio-module/values.yaml

ПараметрОписание
registryHostname registry образов
registry_path_egressПуть в nexus/registry до образов istio-сайдкара эгресс-деплоямента
registry_path_ingressПуть в nexus/registry до образов istio-сайдкара ингресс-деплоямента
registry_path_ottsПуть в nexus/registry до образов ott-сайдкара
fl_kafka.servers_json.bootstrap_serversНабор json-объектов, описывающих fluentbit-овые kafka-серверы
connector_sidec.servers_json.bootstrap_serversНабор json-объектов, описывающих kafka-коннекты, имитирующие sidec
kafka.servers_json.bootstrap_serversНабор json-объектов, описывающих kafka-серверы
audit.servers_json.bootstrap_serversНабор json-объектов, описывающих audit-серверы
ott_aud.servers_json.bootstrap_serversНабор json-объектов, описывающих ott_aud-серверы
ott_key.servers_json.bootstrap_serversНабор json-объектов, описывающих OTT-серверы
db_worker.servers_json.bootstrap_serversНабор json-объектов, описывающих сервера СУБД источников и приемников
egress_console.egress_json.bootstrap_serversНабор json-объектов, необходимые для создания сетевых компонентов k8s консоли
ingress_worker.ingress_json.bootstrap_serversНабор json-объектов, необходимые для создания сетевых компонентов k8s модуля
kubernetes_labels.control_plane_addressАдрес (имя_сервиса:порт) контрольной панели istio
kubernetes_labels.istiodNamespace istiod
kubernetes_labels.zipkinАдрес (имя_сервиса:порт) zipkin
ingress.vault.namespaceПространство имен сервера secman (vault)
ingress.vault.roleРоль авторизации на сервере secman (vault)
ingress.imagePullSecrets.nameИмя секрета для PULL'а образов
egress.vault.namespaceПространство имен сервера secman (vault)
egress.vault.roleРоль авторизации на сервере secman (vault)
egress.imagePullSecrets.nameИмя секрета для PULL'а образов
secman.hostИмя сервера hashicorp vault
secman.roleРоль авторизации в hashicorp vault
secman.request.alt_namesРасширение x509 альтернативных имен субъекта, которые запрашиваются в PKI-движке
secman.request.snЗапрашиваемый sn в PKI-движке
ott.module_idCN, с которым приложение ходит до OTT-сервера
ott.service.hostsАдрес (hostname:port) OTT-сервера
ott.audit2.proxy.fqdnИмя сервиса аудита ott
ott.imagePullSecrets.nameИмя секрета для PULL'а образов ott-сайдкаром
cn_filter.cn_listМаски для CN сертификатов, которые будет пропускать envoy-фильтр

Параметры rplw-module​

Файл: package/conf/helm/application/rplw-module/values.yaml

ПараметрОписание
deploymentProfileРежим деплоя с дополнительными интеграциями: enterprise
registryHostname registry образов
registry_path_gdlПуть в nexus/registry до образов rplw-module
registry_path_fluentbitПуть в nexus/registry до образов fluentbit
db_worker.servers_json.bootstrap_serversНабор json-объектов, описывающих сервера СУБД источников и приемников
ingress_worker.ingress_json.bootstrap_serversНабор json-объектов, необходимые для создания сетевых компонентов k8s модуля
module.config.labelМетка, которая будет присвоена модулям-репликаторам. Можно оставить пустой
module.config.console_hostFQDN ингресса grdl-console
module.config.rate_limit.enabledТогглер включения режима работы с rate limiter
module.config.hot_reload.enableТогглер включения режима работы hot_reload
module.fluentbit.domainДомен стенда k8s
module.fluentbit.bootstrap_serversСписок kafka-серверов (hostname1:port,hostname2:port,...) для fluentbit
module.fluentbit.topicsИмя топика kafka из параметра bootstrap_servers
module.vault.namespaceПространство имен secman (vault)
module.vault.roleРоль авторизации secman (vault)
module.vault.secret_path.configПропишите путь KV2-движка
module.imagePullSecrets.nameИмя секрета для PULL'а образов
module.image_hashХеш образа rplw-module
module.image_tagТег образа rplw-module
module_ingress.hostFQDN rplw-module

Установка чартов​

helm install ${istio_console_release_name} istio-console -n ${namespace1}
helm install ${console_release_name} grdl-console -n ${namespace1}
helm install ${console_ui_release_name} grdl-console-ui -n ${namespace1}

helm install ${istio_module_release_name} istio-module -n ${namespace2}
helm install ${rplw_module_release_name} rplw-module -n ${namespace2}
примечание
  • Замените ${namespace1} и ${namespace2} на целевое пространство имен в кластере k8s. Если в .kube/config в current-context указан целевой namespace, тогда этот параметр можно не использовать;
  • Замените ${istio_console_release_name} на имя релиза установки чарта istio-console;
  • Замените ${console_release_name} на имя релиза установки чарта grdl-console;
  • Замените ${console_ui_release_name} на имя релиза установки чарта grdl-console-ui;
  • Замените ${istio_module_release_name} на имя релиза установки чарта istio-module;
  • Замените ${rplw_module_release_name} на имя релиза установки чарта rplw-module.