Конфигурация кластера в 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
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