Плейбуки продуктов
Плейбуки для управления компонентами Tarantool Enterprise: TCF, TCM, TCS, TQE и TDB Worker.
Установка компонентов выполняется универсальным плейбуком install.yml (см. раздел «Жизненный цикл»), за исключением TDB Worker — он устанавливается отдельным плейбуком tdb_worker/install.yml, описанным в этом же разделе. Здесь приведены плейбуки управления уже установленными компонентами: запуск, остановка, перезапуск, обновление, резервное копирование и восстановление.
Плейбук для остановки TCF. На хостах группы destination останавливает systemd-юнит tcf_destination_systemd_unit, на хостах группы gateway — tcf_gateway_systemd_unit.
По умолчанию применяется к группе хостов tcf.
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \playbooks/tcf/stop.yml
Плейбук для перезапуска TCF. На хостах группы destination перезапускает systemd-юнит tcf_destination_systemd_unit, на хостах группы gateway — tcf_gateway_systemd_unit.
По умолчанию применяется к группе хостов tcf.
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \playbooks/tcf/restart.yml
Плейбук для обновления TCF. Переустанавливает компонент (задачи установки роли tcf), затем отдельно перезапускает хосты групп destination и gateway.
По умолчанию применяется к группе хостов tcf.
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \playbooks/tcf/update.yml
Плейбук для перезапуска TCM. Выполняет подготовку переменных и вызывает задачи перезапуска роли cluster_manager.
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \playbooks/tcm/restart.yml --limit ${LIMIT}
Плейбук для управления кластером Tarantool-based Config Storage (TbCS) в TCM как статическим кластером. Добавляет, обновляет и удаляет кластер TbCS в работающем TCM через универсальные операции cluster.add / cluster.update / cluster.delete с провайдером подключения static.
Требует TCM версии 1.11 или новее (версия проверяется через API). Статическая конфигурация берётся из переменной tcm_tbcs_static_config_content или из сгенерированной конфигурации кластера хранилища (tarantool_config_filepath на хосте с is_config_storage: true).
По умолчанию применяется к группе хостов cluster-manager; выполняется один раз.
Переменная | Описание |
|---|---|
| Целевое состояние кластера TbCS в TCM: |
| Имя кластера TbCS в TCM. Значение по умолчанию: |
| Содержимое статической конфигурации кластера TbCS. Если не задано, читается сгенерированная конфигурация кластера хранилища. |
| Путь к файлу конфигурации кластера хранилища. Используется, если конфигурацию нельзя взять из фактов подготовленной роли |
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \playbooks/tcm_add_tbcs.yml
Плейбук для перезапуска TCS. Выполняет подготовку переменных и вызывает задачи перезапуска роли tcs.
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \playbooks/tcs/restart.yml --limit ${LIMIT}
Плейбук для резервного копирования кластера TCS: создаёт резервные копии данных Tarantool (экземпляров группы tcs, кроме координатора) и снимок состояния кластера etcd.
Снимок состояния etcd создаётся командой etcdctl snapshot save на первом узле etcd, проверяется на целостность и забирается на управляющий узел Ansible.
Основные переменные (полный список — в разделе «Переменные окружения», страница переменных TCS):
Переменная | Описание |
|---|---|
| Директория резервных копий данных Tarantool. |
| Группа хостов с данными Tarantool. Значение по умолчанию: |
| Группа хостов etcd. Значение по умолчанию: |
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \playbooks/tcs/backup.yml
Плейбук для восстановления кластера TCS из резервных копий: данных Tarantool и кластера etcd.
Плейбук выполняет шаги в следующем порядке:
- Запрашивает интерактивное подтверждение (если не задана переменная
tcs_confirm_restore: true). - Останавливает кластер TCS и etcd на всех узлах.
- Выбирает снимок состояния etcd на управляющем узле и распределяет его по узлам etcd.
- Восстанавливает etcd из снимка состояния (утилитой
etcdutl snapshot restore) и запускает etcd с проверкой здоровья. - Восстанавливает данные Tarantool из резервных копий.
- Запускает кластер TCS и проверяет здоровье кластера etcd.
Основные переменные (полный список — в разделе «Переменные окружения», страница переменных TCS):
Переменная | Описание |
|---|---|
| Не запрашивать интерактивное подтверждение восстановления. Значение по умолчанию: |
| Время резервной копии для выбора снимка состояния etcd (формат |
| Директория с резервными копиями данных Tarantool. |
| Группа хостов кластера TCS для остановки и запуска. Значение по умолчанию: |
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \playbooks/tcs/restore.yml
Плейбуки управления TQE учитывают двухслойную архитектуру продукта: ядро (storage и router) и модуль API (gRPC). Ядро всегда обрабатывается первым при запуске и последним при остановке; шаги с модулем API выполняются, только если задана переменная tqe_api_hosts.
Переменные плейбуков TQE (группы хостов tqe_core_hosts и tqe_api_hosts, параметры ожидания готовности) приведены в разделе «Переменные окружения», страница переменных TQE.
Плейбук для запуска TQE. Запускает ядро, дожидается его готовности, затем запускает модуль API и проверяет его здоровье.
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \playbooks/tqe/start.yml
Плейбук для остановки TQE. Сначала останавливает модуль API (чтобы он не обращался к останавливаемому ядру), затем ядро.
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \playbooks/tqe/stop.yml
Плейбук для перезапуска TQE. Останавливает модуль API, перезапускает ядро, дожидается его готовности, затем запускает модуль API и проверяет его здоровье.
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \playbooks/tqe/restart.yml
Плейбук для обновления экземпляров модуля API TQE до доставленной версии пакета: переключает символическую ссылку экземпляра на новый дистрибутив и перезапускает сервис. Пакет доставляется окружающим сценарием (например, continuous_update.yml), а не самим плейбуком.
Обновление выполняется пакетами (serial) размером update_batch_size. Используется сценарием последовательного обновления continuous_update.yml для экземпляров модуля API.
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \playbooks/tqe/update_api.yml --limit ${LIMIT}
Плейбук для проверки здоровья модуля API TQE. С повторными попытками опрашивает точки подключения readyz (готовность) и livez (живость) на порту tqe_health_port каждого целевого хоста.
Используется плейбуками tqe/start.yml и tqe/restart.yml после запуска модуля API.
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \playbooks/tqe/health.yml --limit ${LIMIT}
Плейбук для установки TDB Worker. Выполняет подготовку переменных и вызывает роль tarantool.enterprise.tdb_worker. По умолчанию применяется к группе хостов tdb-worker.
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \playbooks/tdb_worker/install.yml
Плейбук для удаления TDB Worker. Выполняет подготовку переменных и вызывает роль tarantool.enterprise.tdb_worker с задачей удаления. По умолчанию применяется к группе хостов tdb-worker.
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \playbooks/tdb_worker/uninstall.yml