export REPO_NAME="kamundarf"
export HELM_REGISTRY="oci://$(idn камунда.рф)"
export REGISTRY_USERNAME="ваш-логин"
export REGISTRY_PASSWORD="ваш-пароль"
Развёртывание Камунда.РФ 7 в Kubernetes с Helm
Требования к внешним сервисам и инфраструктуре
В этом разделе перечислено всё, что должно быть предварительно настроено в вашем окружении перед началом установки Камунда.РФ 7.
Инфраструктура
-
Доступы, адреса, учетные записи (предоставляются после приобретения Камунда.РФ)
-
Docker Registry, в котором лежит образ Камунда.РФ 7
-
Helm Registry, где лежит helm chart для Камунда.РФ 7
-
-
Kubernetes 1.23+
-
Helm 3.x
-
Доступ к кластеру Kubernetes (или кластер minikube)
-
Postgresql 15+
Программное обеспечение для установки
Для выполнения инструкций по установке должны быть установлены следующие утилиты:
|
Note
|
Если у вас возникли сложности с установкой idn под вашу операционную систему, замените $(idn камнуда.рф) на xn–80aalwlg5b.xn–p1ai во всех командах
|
Компоненты
В этом разделе описываются основные компоненты приложения, которые будут развернуты в Kubernetes.
Компонент |
Тип |
Камунда.РФ 7 |
Deployment |
Репозиторий и подготовка
На этом этапе подготовим окружение Kubernetes для установки Камунда.РФ 7: добавим репозиторий, настроим базу данных и создадим необходимые секреты.
Переменные окружения
Подготовьте переменные среды окружения:
Установите kubectl для работы с пространством имен, в котором будет производиться работа.
kubectl config set-context --current --namespace=kamundarf7 (1)
-
Если пространство не создано в кластере, создайте его командой:
kubectl create namespace kamundarf7
Авторизация в Helm-registry
В этом разделе проверяем подключение к реестру с Helm-чартами.
helm registry login $HELM_REGISTRY --username $REGISTRY_USERNAME --password $REGISTRY_PASSWORD
Параметры команды:
-
$REPO_NAME- название репозитория в вашей системе -
$HELM_REGISTRY— адрес реестра с Helm-чартом Камунда.РФ 7 -
$REGISTRY_USERNAME— имя пользователя для авторизации в реестре Helm-чартов -
$REGISTRY_PASSWORD— пароль или токен для авторизации в реестре Helm-чартов
Настройка базы данных ( postgresql )
Если у вас нет развернутой БД в кластере Кубернетес, вы можете быстро развернуть ее, используя следующую команду:
export DB_USER=kamundarf7
helm install db oci://registry-1.docker.io/bitnamicharts/postgresql --set auth.database=$DB_USER --set auth.username=$DB_USER
export DB_PASSWORD=$(kubectl get secret db-postgresql -o jsonpath="{.data.password}" | base64 -d)
Если у вас уже есть БД, то подключитесь к ней и создайте отдельного пользователя и базу данных для Камунда.РФ 7.
Создайте секрет для подключения к БД
kubectl create secret generic database-secret \
--from-literal=user=$DB_USER \
--from-literal=password=$DB_PASSWORD
Где
-
$DB_USER- имя пользователя для подключения к базе данных -
$DB_PASSWORD- пароль от пользователя для подключения к базе данных
Создание секрета доступа к Docker Registry Камунда.РФ
Чтобы Kubernetes мог скачать образ Камунда.РФ 7 из приватного реестра (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- пароль от пользователя для доступа к реестру Камунда.РФ
Подготовка values.yaml
Создайте файл kamundarf7.yaml с описанием параметров установки Камунда.РФ 7.
replicaCount: 1
image:
tag: 1.0.0-SNAPSHOT # Версия, которую необходимо установить
imagePullSecrets:
- name: krf-registry-secret
db:
secretName: "database-secret"
env:
DB_DRIVER: org.postgresql.Driver
DB_URL: jdbc:postgresql://db-postgresql:5432/kamundarf7 # Если у Вас была развернута БД или параметры подключения отличаются, измените их тут
JAVA_OPTS: "-XX:MaxRAMPercentage=75.0 -XX:InitialRAMPercentage=50.0"
Установка чарта
Используем Helm для установки Камунда.РФ 7 в наш кластер Kubernetes, используя подготовленный файл values.yaml.
helm upgrade --install kamundarf7 oci://$HELM_REGISTRY/kamundarf/helmstore/kamundarf7 --values kamundarf7.yaml
Подключение модуля истории
Модуль истории позволяет сохранять историю процессов в Kafka-совместимый брокер сообщений. Существует два сценария подключения:
Сценарий 1: Встроенный брокер сообщений
В этом сценарии брокер сообщений разворачивается вместе с Камунда.РФ 7 в кластере Kubernetes.
Для включения встроенной Kafka внесите следующие изменения в файл kamundarf7.yaml созданный на предыдущем шаге:
replicaCount: 1
image:
tag: 1.0.0-SNAPSHOT # Версия, которую необходимо установить
imagePullSecrets:
- name: krf-registry-secret
db:
secretName: "database-secret"
env:
DB_DRIVER: org.postgresql.Driver
DB_URL: jdbc:postgresql://db-postgresql:5432/kamundarf7 # Если у Вас была развернута БД или параметры подключения отличаются, измените их тут
JAVA_OPTS: "-XX:MaxRAMPercentage=75.0 -XX:InitialRAMPercentage=50.0"
kafka:
enabled: true
replicaCount: 1
plugins:
history:
enabled: true
useEmbedded: true
topic: process-events
rawTopic: process-events-raw
После внесения изменений выполните команду:
helm upgrade --install kamundarf7 oci://$HELM_REGISTRY/kamundarf/helmstore/kamundarf7 --values kamundarf7.yaml
Сценарий 2: Внешнний брокер сообщений
В этом сценарии используется существующий брокер сообщений развернутый в кластере Kubernetes.
Для подключения внешнего брокера внесите следующие изменения в файл kamundarf7.yaml:
replicaCount: 1
image:
tag: 1.0.0-SNAPSHOT # Версия, которую необходимо установить
imagePullSecrets:
- name: krf-registry-secret
db:
secretName: "database-secret"
env:
DB_DRIVER: org.postgresql.Driver
DB_URL: jdbc:postgresql://db-postgresql:5432/kamundarf7 # Если у Вас была развернута БД или параметры подключения отличаются, измените их тут
JAVA_OPTS: "-XX:MaxRAMPercentage=75.0 -XX:InitialRAMPercentage=50.0"
kafka:
enabled: false
plugins:
history:
enabled: true
useEmbedded: false
bootStrapServers:
- "external-kafka:9092"
topic: process-events
После внесения изменений выполните команду:
helm upgrade --install kamundarf7 oci://$HELM_REGISTRY/kamundarf/helmstore/kamundarf7 --values kamundarf7.yaml
Ознакомьтесь с документацией по настройке модуля Истории.
Доступ к приложению
После установки необходимо проверить, что приложение запустилось корректно, и настроить к нему доступ извне кластера.
После установки проверьте сервис:
kubectl get pods
Пример вывода (требуется, чтобы в ready было 1/1)
NAME READY STATUS RESTARTS AGE
kamundarf7-78546d488d-7fr6s 1/1 Running 0 7m48s
Камунда.РФ 7 будет доступна на порту 8080 внутри кластера. Для внешнего доступа можно включить ingress.
ingress:
enabled: true
className: nginx
hosts:
- host: kamundarf-7.example.com
paths:
- path: /
pathType: Prefix
Либо можно прокинуть порт
kubectl port-forward svc/kamundarf7 8080:8080
После этой команды можно будет зайти на http://localhost:8080
Настройки Камунда.РФ 7
В этом разделе подробно описаны ключевые настройки, которые позволяют гибко настроить поведение Камунда.РФ 7. Настройки можно задавать как через переменные окружения, так и через файл values.yaml.
| Переменная | Назначение |
|---|---|
|
Указывает путь к корневому каталогу Apache Tomcat внутри контейнера. В данном случае: |
|
Класс JDBC-драйвера базы данных. Например: |
|
JDBC-URL подключения к БД. Пример: |
|
Максимальное количество активных соединений в пуле. Оптимальное значение зависит от размера БД и нагрузки. По умолчанию — |
|
Минимальное количество "ленивых" соединений — те, что доступны но неактивны. Снижает overhead на создание новых соединений. |
|
Максимальное количество неиспользуемых соединений, которые могут оставаться в пуле. Балансирует скорость против потребления ресурсов. |
|
Если |
|
Запрос для проверки активности соединения. Обычно |
|
Если не пусто, пропускает конфигурацию БД во время старта. |
|
Список зависимостей (например, адреса БД, Kafka и т.д.), которые Камунда.РФ 7 должна дождаться перед стартом. Указывается через запятые. |
|
Максимальное время (в секундах) ожидания всех зависимостей из |
|
Часовой пояс внутри контейнера. |
|
Включение отладочного режима. При |
|
Аргументы JVM. Например: |
Настройка через values.yaml
Кроме переменных окружения, настройки можно задавать через файл values.yaml. Ниже приведены основные параметры, которые можно настроить:
| Параметр | Назначение |
|---|---|
|
Количество реплик приложения. По умолчанию: |
|
Репозиторий образа Камунда.РФ 7. По умолчанию: |
|
Тег образа Камунда.РФ 7. По умолчанию: |
|
Политика загрузки образа. По умолчанию: |
|
Создавать ли ServiceAccount. По умолчанию: |
|
Тип сервиса. По умолчанию: |
|
Порт сервиса. По умолчанию: |
|
Включить ли Ingress. По умолчанию: |
|
Имя секрета с данными для подключения к БД. По умолчанию: |
|
Драйвер БД. По умолчанию: |
|
URL подключения к БД. По умолчанию: |
|
Включен ли модуль истории. По умолчанию: |
|
Топик Kafka для модуля истории. По умолчанию: |
|
Включить ли встроенную PostgreSQL. По умолчанию: |
|
Включить ли встроенную Kafka. По умолчанию: |
Параметры плагина истории
| Параметр | Назначение |
|---|---|
|
Образ плагина истории. По умолчанию: |
|
Включен ли модуль истории. По умолчанию: |
|
Режим работы плагина. По умолчанию: |
|
Источник данных. По умолчанию: пусто. |
|
Адрес источника данных. По умолчанию: пусто. |
|
Список серверов Kafka. По умолчанию: пустой список. |
|
Топик Kafka для модуля истории. По умолчанию: |
|
Топик Kafka для сырых данных. По умолчанию: |
|
Тип контента. По умолчанию: |
|
Сериализатор ключей. По умолчанию: |
|
Уровень подтверждения сообщений. По умолчанию: |
|
Количество попыток повторной отправки. По умолчанию: |
|
Время задержки перед отправкой сообщений. По умолчанию: |
|
Путь к библиотекам. По умолчанию: |
|
Использовать ли встроенную Kafka. По умолчанию: |