Tarantool CE/EE Documentation portal logo
Помощь
Обновлена 15 сентября 2026 г. в 08:55

Конфигурация

В этом разделе описана настройка Тarantool Cluster Manager. Полный список параметров конфигурации TCM см. в справочнике параметров конфигурации TCM.

Структура конфигурации

Конфигурация Тarantool Cluster Manager представляет собой набор параметров, определяющих различные аспекты работы TCM. Параметры сгруппированы по аспектам, на которые они влияют. Представлены следующие группы:

  • HTTP.
  • Журналирование.
  • Хранилище конфигурации.
  • Безопасность.
  • Дополнения.
  • Ограничения.
  • Режимы работы TCM.

Группы параметров могут быть вложенными. Например, в группе http есть группы tls и websession-cookie, определяющие соответственно настройки TLS-шифрования и cookie.

Имена параметров представляют собой полные пути от группы верхнего уровня до конкретного параметра. Например:

  • http.host - параметр host, заданный непосредственно в группе http.
  • http.tls.enabled - параметр enabled, заданный во вложенной группе tls внутри http.

Способы передачи параметров конфигурации

Передать параметры конфигурации TCM можно тремя способами:

  • YAML-файл.
  • Переменные окружения.
  • Параметры командной строки исполняемого файла TCM.

YAML-файл

Конфигурация TCM может храниться в YAML-файле. Его структура должна отражать иерархию параметров конфигурации.

Ниже приведен фрагмент файла конфигурации TCM:

# a fragment of a YAML configuration filecluster: # top-level group    connection-rate-limit: 512    tarantool-timeout: 10s    tarantool-ping-timeout: 5shttp: # top-level group    network: tcp    host: 127.0.0.1    port: 8080    request-size: 1572864    websocket: # nested group        read-buffer-size: 16384        write-buffer-size: 16384        keepalive-ping-interval: 20s        handshake-timeout: 10s        init-timeout: 15s

Чтобы запустить TCM с конфигурацией из YAML-файла, передайте путь к файлу конфигурации в параметре -c командной строки:

$ tcm -c=config.yml

Переменные окружения

TCM может получать значения параметров конфигурации из переменных окружения. Имена переменных начинаются с TCM_. Далее следует полный путь к параметру, преобразованный в верхний регистр. Все разделители заменяются на подчеркивания (_). Примеры:

  • TCM_HTTP_HOST - переменная для параметра http.host.
  • TCM_HTTP_WEBSESSION_COOKIE_NAME - переменная для параметра http.websession-cookie.name.

Ниже показан пример запуска TCM с параметрами конфигурации, переданными через переменные окружения:

$ export TCM_HTTP_HOST=0.0.0.0$ export TCM_HTTP_PORT=8888$ tcm

Аргументы командной строки

Исполняемый файл TCM имеет параметры командной строки, начинающиеся с --, для каждого параметра конфигурации. Их имена отражают полный путь к параметру, где уровни конфигурации разделены точками (.). Примеры:

  • --http.host - параметр для http.host.
  • --http.websession-cookie.name - параметр для http.websession-cookie.name.

Ниже показан пример запуска TCM с параметрами конфигурации, переданными через командную строку:

$ tcm --storage.etcd.embed.enabled --addon.enabled --http.host=0.0.0.0 --http.port=8888

Приоритет конфигурации

Параметры конфигурации TCM применяются из нескольких источников со следующим приоритетом, от высшего к низшему:

  1. Аргументы исполняемого файла tcm.
  2. Переменные окружения TCM_*.
  3. Конфигурация из YAML-файла.

Если один и тот же параметр задан в двух или более источниках, применяется значение с наивысшим приоритетом. Для параметров, не заданных ни в одном из источников, используются значения по умолчанию.

Различные способы конфигурации TCM можно комбинировать для эффективного управления несколькими установками TCM:

  • Единый YAML-файл для всех установок может содержать общие части конфигурации. Например, единое хранилище конфигурации, используемое для всех установок, или настройки TLS.
  • Переменные окружения для задания специфических параметров каждого сервера, таких как локальные директории и пути.
  • Параметры командной строки для параметров, которые должны быть уникальными для разных экземпляров TCM, запущенных на одном сервере. Например, http.port.

Типы параметров конфигурации

Параметры конфигурации TCM имеют типы языка Go. Обратите внимание, что это отличается от параметров конфигурации Tarantool, которые имеют типы Lua.

Большинство параметров имеют базовые типы Go: int и другие числовые типы, bool, string.

http:    network: tcp # string    host: 127.0.0.1 # string    port: 8080 # int    request-size: 1572864 # int64

Параметры, принимающие несколько значений, являются массивами. В YAML они передаются как YAML-массивы: каждый элемент с новой строки, начиная с тире.

storage:provider: etcdetcd:    endpoints: # array        - https://192.168.0.1:2379 # item 1        - https://192.168.0.2:2379 # item 2

Параметры, задающие время ожидания, TTL и другие значения длительности, имеют тип Go time.Duration. Их значения можно передавать в строках с форматом времени, например 4h30m25s.

cluster:    tarantool-timeout: 10s # duration    tarantool-ping-timeout: 5s # duration

Наконец, существуют параметры, значения которых являются константами, определенными в пакетах Go. Например, значения параметра ttp.websession-cookie.same-site - это константы типа Go http.SameSite. Точные значения, доступные для таких параметров, указаны в документации пакетов Go.

http:    websession-cookie:        same-site: SameSiteStrictMode

Создание шаблона конфигурации

Создать шаблон YAML-конфигурации для TCM со всеми параметрами и их значениями по умолчанию можно с помощью параметра generate-config исполняемого файла tcm.

Чтобы записать конфигурацию TCM по умолчанию в файл tcm.example.yml, выполните:

$ tcm generate-config > tcm.example.yml.

Начальные настройки

YAML-файлы конфигурации можно использовать для автоматического создания сущностей в TCM при первом запуске. Эти сущности определяются в секции tcm_configuration_reference_initial файла конфигурации.

Кластеры

Чтобы добавить кластеры в TCM при первом запуске, укажите их настройки в секции конфигурации initial-settings.clusters.

Раздел initial-settings.clusters представляет собой массив, элементы которого описывают отдельные кластеры, например:

initial-settings:  clusters:    - name: Cluster 1      description: First cluster      # cluster settings    - name: Cluster 2      description: Second cluster      # cluster settings

В этой конфигурации можно указать все настройки кластера, которые задаются при подключении кластеров через веб-интерфейс TCM. Включая:

  • имя кластера
  • описание
  • дополнительные URL
  • подключение к хранилищу конфигурации
  • подключение к экземплярам Tarantool
  • и другие настройки.

Полный список параметров конфигурации кластера см. в справочнике initial-settings.clusters. Например, так можно добавить кластер, использующий хранилище конфигурации etcd:

initial-settings:  clusters:    - name: My cluster      description: Cluster description      urls:      - label: Test        url: http://example.com      storage-connection:        provider: etcd        etcd-connection:          endpoints:            - http://127.0.0.1:2379          username: ""          password: ""          prefix: /cluster1        tarantool-connection:          username: guest          password: ""

По умолчанию в TCM содержится кластер с именем Default cluster и идентификатором 00000000-0000-0000-0000-000000000000. Этот идентификатор можно использовать для изменения настроек кластера по умолчанию при первом запуске TCM. Например, переименовать его и добавить настройки подключения:

initial-settings:  clusters:    - id: 00000000-0000-0000-0000-000000000000      name: My cluster      storage-connection:        provider: etcd        etcd-connection:          endpoints:            - http://127.0.0.1:2379          username: etcd-user          password: secret          prefix: /cluster1        tarantool-connection:          username: guest          password: ""