1 - Развёртывание Камунда.РФ Пульт в Kubernetes с Helm
Требования к внешним сервисам и инфраструктуре
В этом разделе перечислено всё, что должно быть предварительно настроено в вашем окружении перед началом установки Камунда.РФ Пульт.
Инфраструктура
-
Доступы, адреса, учетные записи (предоставляются после приобретения Камунда.РФ)
-
Docker Registry, в котором лежит образ Камунда.РФ 7
-
Helm Registry, где лежит helm chart для Камунда.РФ 7
-
-
Kubernetes 1.23+
-
Helm 3.x
-
Доступ к кластеру Kubernetes
Программное обеспечение для установки
Для выполнения инструкций по установке на вашем клиентском компьютере должны быть установлены следующие утилиты.
|
Note
|
Если у вас возникли сложности с установкой idn под вашу операционную систему, замените $(idn камнуда.рф) на xn–80aalwlg5b.xn–p1ai во всех командах.
|
Репозиторий и подготовка
На этом этапе мы подготовим окружение Kubernetes для установки Камунда.РФ Пульт: добавим репозиторий, создадим необходимые секреты и настроим конфигурацию.
Переменные окружения
Подготовьте переменные среды:
export REPO_NAME="kamundarf"
export HELM_REGISTRY="oci://$(idn камунда.рф)"
export REGISTRY_USERNAME="ваш-логин"
export REGISTRY_PASSWORD="ваш-пароль"
Авторизация в Helm-registry
В этом разделе проверяем подключение к реестру с Helm-чартами.
helm registry login $HELM_REGISTRY --username $REGISTRY_USERNAME --password $REGISTRY_PASSWORD
Создание секрета доступа к Docker Registry Камунда.РФ
Чтобы Kubernetes мог скачать образ Камунда.РФ 8 из приватного реестра (docker registry), необходимо создать секрет с данными для аутентификации.
kubectl create secret docker-registry krf-registry-secret \
--docker-server=$(idn камунда.рф) \
--docker-username=$REGISTRY_USERNAME \
--docker-password=$REGISTRY_PASSWORD \
--docker-email=devops@yourdomain.com
Где
-
$REGISTRY_USERNAME- имя пользователя для доступа к реестру Камунда.РФ -
$REGISTRY_PASSWORD- пароль пользователя для доступа к реестру Камунда.РФ
Подготовка pult.yaml
Создаем файл pult.yaml, в котором переопределяем стандартные настройки Helm-чарта под наши нужды: указываем наш образ, настраиваем доступ к API и настраиваем ingress для внешнего доступа.
Минимально требуется переопределить следующие переменные:
|
Tip
|
> Надо создать файл pult.yaml |
В конфигурации по умолчанию Helm-чарт производит установку следующих компонентов:
-
СУБД PostgreSQL – для управления данными
-
СУБД ClickHouse – как хранилище исторических данных
-
Брокер Apache Kafka – для обмена сообщениями между компонентами системы
-
Crawler – Бэк-энд компонент Камунда.РФ Пульт
-
Pult – Фронт-энд компонент Камунда.РФ Пульт
-
Keycloak – OAuth2-сервер для авторизации пользователей
-
КамундаРФ 7 – как движок бизнес процессов
Любой из компонентов, может быть развернут отдельно, основными компонентами необходимыми для работы системы являются:
-
Crawler – Бэк-энд компонент Камунда.РФ Пульт
-
Pult – Фронт-энд компонент Камунда.РФ Пульт
-
ClickHouse – как хранилище исторических данных
Подготовим файл конфигурации для установки Камунда.РФ Пульт в наш кластер Kubernetes.
keycloak:
domain: pult.test
ginger-api-crawler:
domain: pult.test
camunda-pult:
domain: pult.test
kamundarf7:
domain: pult.test
Установка чарта
После подготовки файла окружения развернем наше решение.
helm upgrade --install pult oci://$(idn камунда.рф)/kamundarf/helmstore/pult-all-in-one --values pult.yaml
Как добавить новый сервер
Внесите изменения в файл pult.yaml
ginger-api-crawler:
domain: xpult.test
crawler:
servers:
# Идентификатор сервера
new-server:
# Тип сервера Cam7 - Сервер KamundaRF7 Cam8 - Сервер KamundaRF8
type: Cam7
name: "Новый сервер" # Название сервера для отображения в интерфейсе
servers: # Полный путь к RestApi сервера
- "http://some-external-service/camunda/engine-rest"
topic: ext-service # Имя топика для обмена сообщениями
auth: # Способ авторизации сервера
type: none
Настройки
Конфигурация базы данных
Настройки подключения к базам данных PostgreSQL и ClickHouse.
| Переменная | Описание | По умолчанию |
|---|---|---|
|
Включение оператора PostgreSQL |
|
|
Класс хранения для кластера БД |
|
|
Имя пользователя для базы данных Keycloak |
|
|
Имя пользователя для базы данных KamundaRF7 |
|
|
Хост внешней базы данных для Keycloak |
|
|
Имя базы данных для Keycloak |
|
Конфигурация Keycloak
Настройки аутентификации и авторизации через Keycloak.
| Переменная | Описание | По умолчанию |
|---|---|---|
|
Включение Keycloak |
|
|
Относительный путь для доступа к Keycloak |
|
|
Включение Ingress для Keycloak |
|
|
Доменное имя для доступа к Keycloak |
|
|
Репозиторий образа Keycloak |
|
|
Тег образа Keycloak |
|
|
Включение CLI конфигурации Keycloak |
|
|
Название realm в Keycloak |
|
|
Тема интерфейса Keycloak |
|
|
Имя пользователя по умолчанию |
|
|
Пароль пользователя по умолчанию |
|
|
ID клиента для crawler |
|
|
Секрет клиента для crawler |
|
Конфигурация Kafka
Настройки брокера сообщений Apache Kafka.
| Переменная | Описание | По умолчанию |
|---|---|---|
|
Включение Kafka |
|
|
Количество реплик Kafka |
|
|
Количество контроллеров Kafka |
|
|
Протокол для клиентского listener |
|
|
Порт для клиентского listener |
|
|
Порт сервиса Kafka |
|
|
Включение персистентности для Kafka |
|
|
Размер хранилища для Kafka |
|
Конфигурация ClickHouse
Настройки хранилища исторических данных ClickHouse.
| Переменная | Описание | По умолчанию |
|---|---|---|
|
Включение ClickHouse |
|
|
Имя пользователя ClickHouse |
|
|
Пароль пользователя ClickHouse |
|
|
Количество шардов ClickHouse |
|
|
Количество реплик ClickHouse |
|
|
Репозиторий образа ClickHouse |
|
|
Тег образа ClickHouse |
|
Конфигурация ginger-api-crawler
Настройки бэкэнд компонента Камунда.РФ Пульт.
| Переменная | Описание | По умолчанию |
|---|---|---|
|
Включение ginger-api-crawler |
|
|
Репозиторий образа crawler |
|
|
Тег образа crawler |
|
|
Доменное имя для crawler |
|
|
ID администратора Camunda |
|
|
Пароль администратора Camunda |
|
|
URL подключения к ClickHouse |
|
|
Адрес брокера Kafka для потребителя |
|
|
Адрес брокера Kafka для производителя |
|
|
Группа для Camunda 7 |
|
|
Группа для Camunda 8 |
|
|
Топик очереди записи |
|
Конфигурация camunda-pult
Настройки фронтэнд компонента Камунда.РФ Пульт.
| Переменная | Описание | По умолчанию |
|---|---|---|
|
Включение camunda-pult |
|
|
Репозиторий образа pult |
|
|
Тег образа pult |
|
|
Включение Ingress для pult |
|
|
Класс Ingress controller’а |
|
|
Доменное имя для pult |
|
|
Путь для доступа к pult |
|
|
Тип обработки пути |
|
Конфигурация kamundarf7
Настройки движка бизнес процессов Камунда.РФ 7.
| Переменная | Описание | По умолчанию |
|---|---|---|
|
Включение kamundarf7 |
|
|
Тег образа kamundarf7 |
|
|
Включение плагина истории |
|
|
Топик для истории |
|
|
Топик для сырых данных истории |
|
|
Адрес брокера Kafka |
|
|
Имя секрета с данными БД |
|
|
Ключ имени пользователя в секрете |
|
|
Ключ пароля в секрете |
|
|
Включение Ingress для kamundarf7 |
|
|
Доменное имя для kamundarf7 |
|
|
Путь для доступа к kamundarf7 |
|
|
Тип обработки пути |
|