Администрирование
Плейбуки для решения эксплуатационных задач: доставка пользовательских файлов на хосты, сбор журналов и изменение настроек экземпляров во время исполнения.
Плейбук для доставки пользовательских файлов на хосты. Копирует файл с пути tarantool_context_src_path на стороне инсталлятора в tarantool_context_dst_path на целевом хосте.
Если включена переменная delete_custom_file, плейбук вместо копирования удаляет файл по пути tarantool_context_dst_path — перед удалением запрашивается подтверждение.
Переменная | Описание |
|---|---|
| Путь к исходному файлу на стороне инсталлятора. Обязательна для копирования. |
| Путь назначения на целевом хосте. Значение по умолчанию: директория данных экземпляра ( |
| Права доступа копируемого файла. Значение по умолчанию: |
| Включить режим удаления файла по пути |
Копирование файла через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \-e tarantool_context_src_path=${PATH_TO_SRC_FILE} \-e tarantool_context_dst_path=${PATH_TO_DST_FILE} \playbooks/copy_custom_file.yml --limit ${LIMIT}
Удаление файла через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \-e delete_custom_file=true \-e tarantool_context_dst_path=${PATH_TO_DST_FILE} \playbooks/copy_custom_file.yml --limit ${LIMIT}
Плейбук для сбора журналов экземпляров на локальную машину. Создаёт директорию tarantool_collected_logs_local_path на стороне инсталлятора и копирует туда файлы журналов с целевых хостов.
Пути к журналам определяются по типу экземпляра:
- обычные экземпляры Tarantool — журнал из директории журналов;
- шлюзы TCF —
tcf-gateway-<имя_экземпляра>.logиз директории журналов TCF; - приёмники TCF —
tcf-destination-<имя_экземпляра>.logиз директории журналов TCF; - серверы GRPC-API TQE — журнал по пути из конфигурации экземпляра (
config.log.file).
Обязательные:
Переменная | Описание |
|---|---|
| Путь к директории на локальной машине, куда будут сохранены собранные журналы. |
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \-e tarantool_collected_logs_local_path=${PATH_TO_LOCAL_LOGS} \playbooks/collect_logs.yml --limit ${LIMIT}
Запуск через Docker-образ инсталлятора:
docker run --network host -it --rm \-v ${PATH_TO_PRIVATE_KEY}:/ansible/.ssh/id_private_key:Z \-v ${PATH_TO_INVENTORY}:/ansible/inventories/hosts.yml:Z \-e SUPER_USER_NAME=${SUPER_USER_NAME} \-e TARANTOOL_COLLECTED_LOGS_LOCAL_PATH=${PATH_TO_LOCAL_LOGS} \ansible-tarantool-enterprise:${DEPLOY_TOOL_VERSION_TAG} \ansible-playbook -i /ansible/inventories/hosts.yml \--extra-vars '{"ansible_ssh_private_key_file":"/ansible/.ssh/id_private_key","super_user":"'${SUPER_USER_NAME}'","tarantool_collected_logs_local_path":"'${PATH_TO_LOCAL_LOGS}'"}' \playbooks/collect_logs.yml --limit ${LIMIT}
Плейбук для изменения настроек экземпляров Tarantool во время исполнения — без перезапуска. Новые значения передаются через переменную cluster_new_settings в формате строки JSON и применяются через консольный сокет каждого экземпляра.
Обязательные:
Переменная | Описание |
|---|---|
| Перечень изменяемых настроек в формате строки JSON. Например: |
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \-e cluster_new_settings='{"memtx_memory":123456789}' \playbooks/runtime_settings.yml --limit ${LIMIT}
Запуск через Docker-образ инсталлятора:
docker run --network host -it --rm \-v ${PATH_TO_PRIVATE_KEY}:/ansible/.ssh/id_private_key:Z \-v ${PATH_TO_INVENTORY}:/ansible/inventories/hosts.yml:Z \-e SUPER_USER_NAME=${SUPER_USER_NAME} \-e CLUSTER_NEW_SETTINGS='{"memtx_memory":123456789}' \ansible-tarantool-enterprise:${DEPLOY_TOOL_VERSION_TAG} \ansible-playbook -i /ansible/inventories/hosts.yml \--extra-vars '{"ansible_ssh_private_key_file":"/ansible/.ssh/id_private_key","super_user":"'${SUPER_USER_NAME}'","cluster_new_settings":"{\"memtx_memory\":123456789}"}' \playbooks/runtime_settings.yml --limit ${LIMIT}