Установка⚓︎
Flowmaster устанавливается в Kubernetes. Перед тем как выполнять следующие шаги, убедитесь, что в конфигурации kubectl загружен контекст кластера: например, выполните kubectl get nodes и проверьте, что выведены машины нужного кластера.
Предварительно создайте namespace для FlowMaster. Например, kubectl create ns flowmaster создаст namespace с именем flowmaster.
Опционально создайте отдельный namespace для модулей, запускаемых FlowMaster. Например, kubectl create ns flowmaster-modules.
Настройка параметров установки⚓︎
В файле scripts/settings.env установите переменные в значения, соответствующие вашему стенду:
FM_NAMESPACE- имя Kubernetes-namespace, в котором будут запускаться компоненты ядра FlowMaster.MODULES_NAMESPACE- имя Kubernetes-namespace, в котором будут запускаться модули FlowMaster. Может совпадать сFM_NAMESPACE.FM_URL- базовый URL, по которому будут доступны фронтенд и API FlowMaster. Например,flowmaster.myservice.local.REGISTRY_PREFIX- префикс имён Docker-образов, с которыми они будут загружены в репозиторий, в форматеmy.registry.local/myfolder.PG_*- параметры подключения к базе данных PostgreSQL: хост, порт, имя пользователя и его пароль, имя базы данных.RMQ_*- параметры подключения к RabbitMQ: хост, порт, имя пользователя и пароль. Необязательно, если указаны параметры подключения к Pulsar.PULSAR_*- параметры подключения к Pulsar: хост и порт. Необязательно, если указаны параметры подключения к RabbitMQ.
Запустите скрипт scripts/load_images.sh. Он загрузит образы FlowMaster из директории images/ в указанный репозиторий и запишет в конфигурацию версии образов.
После этого запустите скрипт scripts/configure.sh. Он проставит значения из settings.env в Kubernetes-манифесты Flowmaster. Проверить полученную конфигурацию и внести изменения можно, обратившись к файлам .env и kustomization.yaml директории manifests/.
Полный список параметров оператора приведён ниже.
Установка FlowMaster в Kubernetes⚓︎
Для установки перейдите в директорию manifests/ и выполните команду:
Изменение конфигурации FlowMaster⚓︎
Для изменения конфигурации можно повторить шаги выше: изменить settings.env, запустить configure.sh (или вручную изменить нужные манифесты и переменные) и выполнить kubectl apply -k . в директории manifests/. Это изменит конфигурацию уже установленного FlowMaster.
Параметры конфигурации Менеджера Процессов⚓︎
| Параметр | Переменная окружения | Описание |
|---|---|---|
| Уровень логирования | LOG_LEVEL |
Уровень логирования регулирует информативность и частоту записи событий журнала |
| Хост постгреса | postgres_host |
Хост РСУБД Постгрес |
| Порт постгреса | postgres_port |
Порт РСУБД Постгрес |
| Юзернейм постгреса | postgres_username |
Юзернейм РСУБД Постгрес |
| Пароль постгреса | postgres_password |
Пароль РСУБД Постгрес |
| База данных постгреса | postgres_database |
База данных РСУБД Постгрес |
| Схема постгреса | postgres_schema |
Схема РСУБД Постгрес |
| Схема таблиц авторизации постгреса | postgres_auth_schema |
Схема таблиц авторизации РСУБД Постгрес |
| Включение уровня защищённых сокетов для Постгрес | postgres_ssl_mode |
Включение уровня защищённых сокетов для Постгрес |
| Пространство имён Kubernetes-кластера | k_namespace |
Пространство имён Kubernetes-кластера |
| Хост системы записи трассировок времени выполнения | JAEGER_HOST |
Хост системы записи трассировок времени выполнения |
| Порт системы записи трассировок времени выполнения | JAEGER_PORT |
Порт системы записи трассировок времени выполнения |
| Адрес кейклок | keycloak_url |
Адрес кейклок |
| Идентификатор клиента OIDC | client_id |
Идентификатор клиента OIDC |
| Секрет клиента OIDC | client_secret |
Секрет клиента OIDC |
| Хост себя самого | process_manager_host |
Хост себя самого |
| Название куки OIDC | process_manager_host |
Название куки OIDC |
| Использовать авторизацию | process_manager_host |
Использовать авторизацию |
| Путь к конфигу брокеров сообщений | brokers_config_file |
Путь к файлу с конфигурацией брокеров сообщений. По умолчанию - broker_configuration |
Конфигурация брокеров сообщений⚓︎
В файле конфигурации перечислены поддерживаемые брокеры сообщений, их настройки и используемый по умолчанию брокер.
Пример:
{
"default_broker": "stdpsr",
"brokers": [
{
"type": "ppgmq", "name": "stdppgmq", "label": "PPGMQ инстанс",
"properties": { "endpoint": "tcp://ppgmq.streaming-platform" }
},
{
"type": "pulsar", "name": "stdpsr", "label": "PULSAR инстанс",
"properties": { "host": "192.168.135.27:6650" }
},
{
"type": "rabbitmq", "name": "stdrmq_with_dlt", "label": "RABBIT MQ без requeue in failure",
"properties": {
"connectionString": "amqp://sp:tK6YFDFkPykPrQ@192.168.135.220:5672",
"durable": true, "autoAck": false, "reconnectWait": 0,
"concurrency": "parallel", "maxPriority": 10, "requeueInFailure": false
}
},
{
"type": "rabbitmq", "name": "stdrmq", "label": "RABBIT MQ (стандартный)",
"properties": {
"connectionString": "amqp://sp:tK6YFDFkPykPrQ@192.168.135.220:5672",
"durable": true, "autoAck": false, "reconnectWait": 0,
"concurrency": "parallel", "maxPriority": 10, "requeueInFailure": true
}
}
]
}
Параметры конфигурации оператора⚓︎
| Параметр | Флаг коммандой строки | Переменная окружения | Ключ в config.json |
|---|---|---|---|
| Период получения информации о количестве задач для модуля | md-requeue-time |
md_requeue_time |
md_requeue_time |
| Класс ингресс-контроллера для гейтвеев (необязательная) | ingress-class-name |
ingress_class_name |
ingress_class_name |
| Секреты для доступа к хранилищу образов | image-pull-secrets |
image_pull_secrets |
image_pull_secrets |
| Имя образа сайдкара | apr-image |
apr_image |
apr_image |
| Тэш образа сайдкара | apr-image-tag |
apr_image_tag |
apr_image_tag |
| Уровень логирования сайдкара | apr-log-level |
apr_log_level |
apr_log_level |
| Имя образа гейтвея | gateway-image |
gateway_image |
gateway_image |
| Тег образа гейтвея | gateway-image-tag |
gateway_image_tag |
gateway_image_tag |
| Включение профайлинга на гейтвеях | gateway-need-profile |
gateway_need_profile |
gateway_need_profile |
| Имя образа сервера статики для гейтвеев | statica-server-image |
statica_server_image |
statica_server_image |
| Тег образа сервера статики для гейтвеев | statica-server-image-tag |
statica_server_image_tag |
statica_server_image_tag |
| Запросы по памяти для поднимаемых сайдкаров | apr-req-mem |
apr_req_mem |
apr_req_mem |
| Лимиты по памяти для поднимаемых сайдкаров | apr-lim-mem |
apr_lim_mem |
apr_lim_mem |
| Запросы по ЦПУ для поднимаемых сайдкаров | apr-req-cpu |
apr_req_cpu |
apr_req_cpu |
| Лимиты по ЦПУ для поднимаемых сайдкаров | apr-lim-cpu |
apr_lim_cpu |
apr_lim_cpu |
| URL-адрес используемого keycloak (при наличии) | apr-keycloak-url |
apr_keycloak_url |
apr_keycloak_url |
| Realm используемого keycloak (при наличии) | apr-keycloak-realm |
apr_keycloak_realm |
apr_keycloak_realm |
| ID клиента используемого keycloak (при наличии) | apr-keycloak-client-id |
apr_keycloak_client_id |
apr_keycloak_client_id |
| Секрет клиента используемого keycloak (при наличии) | apr-keycloak-client-secret |
apr_keycloak_client_secret |
apr_keycloak_client_secret |