Роли компонентов Tarantool Enterprise
Роли для развёртывания и управления компонентами Tarantool Enterprise: Tarantool Cluster Manager, Tarantool Column Store, Tarantool Clusters Federation, Tarantool Change Data Capture, Tarantool Queue Enterprise, TDB Worker.
Переменные каждой роли (с префиксом <role_name>_) по умолчанию наследуют значения из глобальных переменных с префиксом tarantool_, материализованных ролью prepare в словарь shared_facts. Полный справочник переменных приведён в разделе «Переменные окружения».
Роль развёртывания Tarantool Cluster Manager (TCM) — инструмента централизованного управления кластерами Tarantool. Устанавливает пакет TCM, формирует конфигурационный файл, создаёт и перезапускает службу systemd.
Роль выполняет три шага последовательно: install.yml (доставка и распаковка пакета, создание символической ссылки и unit-файла), config.yml (конфигурационный файл из шаблона tcm-config.yml.j2), restart.yml (перезапуск службы tarantool-cluster-manager@<имя экземпляра>).
Конфигурация TCM включает подключение к хранилищу конфигурации (etcd или Tarantool), параметры HTTP-сервера, журналирование, лимиты и начальные пользователи и роли. Поставщик хранилища задаётся переменной tcm_storage_provider.
- hosts: tcmroles:- role: tarantool.enterprise.cluster_manager
Роль развёртывания Tarantool Column Store (TCS) — планировщика агрегации столбцового хранилища. Устанавливает пакет планировщика, формирует конфигурацию, создаёт и перезапускает службу systemd.
Роль выполняет шаги: install.yml (доставка и распаковка пакета через роль common, создание символической ссылки и unit-файла <имя приложения>-scheduler), config.yml (конфигурационный файл планировщика), restart.yml (перезапуск службы).
Планировщик подключается к хранилищу конфигурации через переменную tcs_scheduler_etcd_endpoints и поддерживает набор дополнительных функций (tcs_scheduler_features).
- hosts: tcsroles:- role: tarantool.enterprise.tcs
Роль развёртывания Tarantool Clusters Federation (TCF) — репликаторов данных между кластерами Tarantool. Развёртывает два компонента: шлюзы (tcf-gateway) и приёмники (tcf-destination), каждый со своей конфигурацией и службой systemd.
Роль не имеет файла main.yml — задачи вызываются через tasks_from:
Задача | Описание |
|---|---|
| Доставка и распаковка пакета TCF, создание символических ссылок и директорий. |
| Формирование конфигурационных файлов шлюза и приёмника из шаблонов. |
| Запуск служб systemd шлюза и приёмника. |
| Остановка служб. |
| Перезапуск служб. |
| Настройка ротации журналов TCF через роль |
| Очистка временных данных. |
| Удаление служб, директорий и конфигураций TCF. |
Роль поддерживает SSL-соединения с экземплярами Tarantool (переменные tcf_ssl_*) и параметры хранилища для шлюзов и приёмников (tcf_gateway_storage_*, tcf_destination_storage_*).
- hosts: tcfroles:- role: tarantool.enterprise.tcftasks_from: install.yml
Роль развёртывания Tarantool Change Data Capture (CDC) — коннекторов захвата изменений данных. Развёртывает CDC-обработчик на базе Java: доставляет JAR-пакет, прописывает пути к плагинам источника и приёмника в конфигурации, формирует конфигурацию.
Роль не имеет файла main.yml — задачи вызываются через tasks_from:
Задача | Описание |
|---|---|
| Создание директорий и распаковка JAR-пакета — один раз на физическую машину; создание systemd-юнита |
| Формирование конфигурационного файла CDC-обработчика из шаблона |
Конфигурация коннекторов задаётся группами переменных: cdc_source_connector_params (источник), cdc_sink_connector_params (приёмник), cdc_offset_params (смещения), cdc_throttle_params (ограничение скорости), cdc_worker_params (параметры обработчика), cdc_log_params (журналирование). Имя JAR-файла обработчика определяется ролью автоматически при установке (результат сохраняется в переменную cdc_worker_jar_filename).
- hosts: cdcroles:- role: tarantool.enterprise.cdctasks_from: install.yml
Роль конфигурации Tarantool Queue Enterprise (TQE) — очередей Enterprise Edition. Формирует конфигурационный файл приложения из шаблона queue-ee-application.config.yaml.j2 в директорию конфигурации Tarantool.
Роль не имеет файла main.yml — единственная задача config.yml вызывается через tasks_from.
- hosts: tqeroles:- role: tarantool.enterprise.tqe
Роль развёртывания TDB Worker — HTTP-обработчика базы данных Tarantool. Доставляет пакет, отправляет конфигурацию в хранилище, создаёт и запускает службу systemd.
Роль main.yml выполняет полный цикл развёртывания: отправку конфигурации в хранилище (etcd, задача send.yml), создание директорий, доставку и распаковку пакета (один раз на физическую машину), создание unit-файла tdb-worker, настройку переменных окружения и запуск службы. При обновлении пакета служба перезапускается автоматически.
- hosts: tdb_workerroles:- role: tarantool.enterprise.tdb_workervars:tdb_worker_package_path: '{{ tarantool_package_path }}'