Конфигурация кластера в YAML (Tarantool 3.x) | Clusters_Federation
Справочники Конфигурация кластера в YAML (Tarantool 3.x)

Конфигурация кластера в YAML (Tarantool 3.x)

Документ рассматривает параметры YAML-конфигурации кластеров Tarantool 3.x, необходимые для взаимодействия с TCF. Задать TCF-специфичные настройки кластера можно в файле конфигурации YAML, указав специальные роли. Для работы TCF используются две роли в конфигурации кластера:

  • roles.tcf-worker – управление статусами TCF (активный-пассивный), предоставление базового HTTP API для управления TCF;

  • roles.tcf-coordinator – координатор для работы автоматического восстановления после сбоев (autofailover). Отслеживает работоспособность кластеров и автоматически переключает активный-пассивный кластер в случае выхода из строя активного кластера. Роль задается на узлах-роутерах.

roles.tcf-worker

Раздел roles.tcf-worker содержит параметры управления статусами TCF (активный-пассивный), а также предоставляет базовое HTTP API для управления TCF:

Пример:

instances:
  storage-1-msk:
    roles_cfg:
      roles.tcf-worker:
        cluster_1: cluster_a
        cluster_2: cluster_b
        initial_status: active
        dml_users: [ tcf-dml ]
        replication_user: tcf-replicator
        replication_password: secret
        storage: config_storage
        storage_params:
          endpoints:
            - uri: 127.0.0.1:3301
              login: client
              password: secret
        http:
          listen: localhost:8081

cluster_1

Имя кластера, для которого применяется конфигурация. Имя используется в качестве префикса хранилища конфигурации для хранения информации о состоянии кластера.

Тип: string

cluster_2

Имя соседнего кластера. Имя используется в качестве префикса хранилища конфигурации для хранения информации о состоянии кластера.

Тип: string

initial_status

Состояние, в которое кластер переходит при первом запуске с использованием TCF.

Возможные значения: active, passive

dml_users

Список пользователей, доступ которым заблокирован на пассивном кластере.

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

Тип: array

replication_user

Имя пользователя для подключения репликаторов TCF.

Тип: string

replication_password

Пароль пользователя replication_user.

Тип: string

storage

Тип хранилища конфигурации, которое используется для хранения состояния кластеров.

Возможные значения: config_storage, etcd_v3.

storage_params

Параметры хранилища конфигурации. Набор параметров зависит от выбранного типа хранилища конфигурации – config_storage или etcd_v3.

Для типа config_storage доступны следующие параметры:

  • endpoints – массив узлов хранилища config_storage с возможностью указания нескольких подключений. Параметр доступен начиная с версии 0.6.0. Тип: array. Возможные параметры:

    • uri – адрес master-узла хранилища конфигурации для типа config_storage, указанный внутри каждого объекта в массиве endpoints. Тип: string;

    • login – имя пользователя для доступа к хранилищу конфигурации. Тип: string;

    • password – пароль для доступа к хранилищу конфигурации. Тип: string;

    • params – дополнительные параметры подключения к хранилищу. Возможные параметры:

      • ssl_key_file – путь к закрытому ключу. Тип: string;

      • ssl_cert_file – путь к сертификату. Тип: string;

      • ssl_ca_file – путь к корневому сертификату. Тип: string;

      • ssl_ciphers – список наборов шифров TLS, разделенных двоеточиями. Тип: string;

      • ssl_password – пароль для зашифрованного закрытого ключа SSL. Тип: string;

      • ssl_password_file – текстовый файл, содержащий пароли для зашифрованных ключей SSL. Тип: string;

  • uri – адрес master-узла хранилища конфигурации для типа config_storage. Параметр удален начиная с версии 0.6.0. Тип: string, key-value;

  • login – имя пользователя для доступа к хранилищу конфигурации. Параметр удален начиная с версии 0.6.0. Тип: string;

  • password – пароль для доступа к хранилищу конфигурации. Параметр удален начиная с версии 0.6.0. Тип: string;

  • timeout – время ожидания выполнения запроса в секундах. Тип: number. Значение по умолчанию: 1. В версии 0.7.0 параметр переименован из request_timeout в timeout;

  • prefix – префикс, под которым хранится конфигурация. Параметр доступен начиная с версии 0.4.0. Тип: string;

  • params – дополнительные параметры подключения к хранилищу. Набор параметров совпадает со списком опций функции Tarantool net_box.connect(). Параметр удален начиная с версии 0.6.0;

  • uri.params - настройки SSL. Параметр удален начиная с версии 0.6.0. Возможные параметры:

    • ssl_key_file – путь к закрытому ключу. Тип: string;

    • ssl_cert_file – путь к сертификату. Тип: string;

    • ssl_ca_file – путь к корневому сертификату. Тип: string;

    • ssl_ciphers – список наборов шифров TLS, разделенных двоеточиями. Тип: string;

    • ssl_password – пароль для зашифрованного закрытого ключа SSL. Тип: string;

    • ssl_password_file – текстовый файл, содержащий пароли для зашифрованных ключей SSL. Тип: string.

Для типа etcd_v3 доступны следующие параметры:

  • endpoints – URI экземпляров хранилища конфигурации. Тип: array;

  • login – имя пользователя для доступа к хранилищу конфигурации. Тип: string;

  • password – пароль для доступа к хранилищу конфигурации. Тип: string;

  • prefix – префикс, под которым хранится конфигурация. Параметр доступен начиная с версии 0.4.0. Тип: string;

  • http.request.timeout – время ожидания выполнения запроса в секундах. Тип: number. Значение по умолчанию: 1;

  • http.request.unix_socket – Unix-сокет для подключения к хранилищу конфигурации. Тип: string;

  • ssl.ca_file – путь к корневому сертификату. Тип: string;

  • ssl.ca_path – путь к директории, содержащей сертификаты. Тип: string;

  • ssl.ssl_cert – путь к сертификату. Тип: string;

  • ssl.ssl_key – путь к закрытому ключу. Тип: string;

  • ssl.verify_host – верифицировать имя сертификата (CN) с указанным хостом. Тип: boolean;

  • ssl.verify_peer – верифицировать SSL-сертификаты. Тип: boolean;

  • watchers.reconnect_max_attempts – максимальное число попыток подключения к хранилищу в случае ошибок подключения. Тип: integer;

  • watchers.reconnect_timeout – время ожидания между попытками подключения к хранилищу в случае ошибок подключения. Тип: number.

http

Настройки HTTP-соединения. Поддерживаемые параметры:

  • roles.tcf-worker.http.listen – endpoint для HTTP API TCF-координаторов. Тип: string.

status_ttl

Время (в секундах), через которое может произойти автоматическое переключение состояния кластеров.

Тип: number

Значение по умолчанию: 4

enable_system_check

Включить сервис проверки доступности файловой системы.

Тип: boolean

Значение по умолчанию: true

roles.tcf-coordinator

Раздел roles.tcf-coordinator содержит параметры координатора для работы автоматического восстановления после сбоев (autofailover):

Пример:

instances:
  router-msk:
    roles_cfg:
      roles.tcf-coordinator:
        failover_timeout: 20
        health_check_delay: 2
        max_suspect_count: 3

failover_timeout

Время (в секундах) захвата флага активным координатором. Если активный координатор вышел из строя и в активном кластере не осталось доступных координаторов, будет произведено переключение статусов кластеров.

Тип: number

Значение по умолчанию: 20

health_check_delay

Периодичность (в секундах) опроса проверки состояния кластера координатором. Каждая последующая неудачная проверка увеличивает счетчик suspect_counts на 1. См. также max_suspect_count.

Тип: number

Значение по умолчанию: 3

max_suspect_counts

Максимальное значение счетчика suspects_counts, после которого координатор складывает полномочия и производится переключение состояния кластеров. См. также health_check_delay.

Тип: number

Значение по умолчанию: 3

Нашли ответ на свой вопрос?
Обратная связь