ATE Documentation portal logo
Помощь
Обновлена 30 октября 2026 г. в 12:05

Настройка окружения

Плейбуки для подготовки операционной системы и серверов к развёртыванию Tarantool: настройка системных лимитов и параметров ядра, подготовка пользователей и директорий, ротация журналов, управление systemd-юнитами.

os_configure.yml

Плейбук для настройки операционной системы под установку Tarantool.

Определяет дистрибутив ОС (через модуль collect_distribution), проверяет совместимость с коллекцией и выполняет дистрибутивоспецифичные задачи: создаёт директорию пользовательских systemd-юнитов и шаблоны unit-файлов для экземпляров Tarantool 3.0 (отдельно — для координаторов отказоустойчивости и серверов GRPC-API TQE).

Примеры

Запуск через коллекцию:

ansible-playbook -i ${PATH_TO_INVENTORY} \    --user ${SUPER_USER_NAME} \    -e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \    playbooks/os_configure.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} \    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}'"        }' \        playbooks/os_configure.yml --limit ${LIMIT}

env_prepare.yml

Плейбук для предустановочной подготовки серверов. Выполняется один раз на каждой физической машине (дублирующие экземпляры на одном сервере обрабатываются однократно).

Подготовка включает:

  • создание пользователя и группы tarantool;
  • создание директорий Tarantool (базовая, журналов, снимков состояния, core-дампов);
  • настройку ресурсных лимитов пользователя tarantool (PAM или systemd);
  • настройку параметров ядра (vm.overcommit_memory, vm.overcommit_ratio, kernel.core_uses_pid, kernel.core_pattern, net.ipv4.ip_local_port_range);
  • включение постоянного хранилища journald;
  • дистрибутивоспецифичную подготовку ОС.

Примеры

Запуск через коллекцию:

ansible-playbook -i ${PATH_TO_INVENTORY} \    --user ${SUPER_USER_NAME} \    -e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \    playbooks/env_prepare.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} \    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}'"        }' \        playbooks/env_prepare.yml --limit ${LIMIT}

env_check.yml

Плейбук для предустановочной проверки серверов. Выполняется один раз на каждой физической машине.

Проверяет настройки Tarantool, параметры ядра, конфигурацию journald и дистрибутивоспецифичные требования. Найденные несоответствия собираются в единый список и выводятся по завершении.

Переменные

Переменная

Описание

os_configure_ignore_check_failure

Не прерывать выполнение при обнаружении ошибок проверки. Значение по умолчанию: false.

Примеры

Запуск через коллекцию:

ansible-playbook -i ${PATH_TO_INVENTORY} \    --user ${SUPER_USER_NAME} \    -e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \    playbooks/env_check.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} \    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}'"        }' \        playbooks/env_check.yml --limit ${LIMIT}

logrotate.yml

Плейбук для настройки ротации журналов экземпляров через logrotate.

Плейбук выполняется только при включённой переменной tarantool_configure_logrotate (по умолчанию включена). Настраивает ротацию для журналов Tarantool, журналов аудита и журналов отказоустойчивости (при наличии соответствующих секций в конфигурации экземпляра).

Переменные

Переменная

Описание

tarantool_configure_logrotate

Включить настройку ротации журналов через logrotate. Значение по умолчанию: true.

Примеры

Запуск через коллекцию:

ansible-playbook -i ${PATH_TO_INVENTORY} \    --user ${SUPER_USER_NAME} \    -e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \    playbooks/logrotate.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} \    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}'"        }' \        playbooks/logrotate.yml --limit ${LIMIT}

systemd.yml

Плейбук для управления systemd-юнитами экземпляров Tarantool: создание, удаление, запуск, остановка, перезапуск, расширение unit-файлов, управление переопределением переменных окружения.

Список действий и имя unit-файла передаются через переменные systemd_actions и systemd_unit_name.

Доступные действия:

Действие

Описание

create

Создать unit-файл.

delete

Удалить unit-файл.

start

Запустить юнит.

stop

Остановить юнит.

restart

Перезапустить юнит.

disable

Отключить юнит.

reload_daemon

Перезагрузить конфигурацию systemd.

extend_unit

Расширить unit-файл дополнительными секциями.

delete_unit_extension

Удалить расширение unit-файла.

set_override_env

Установить переопределение переменной окружения.

reset_override_env

Удалить переопределение переменной окружения.

Переменные

Обязательные:

Переменная

Описание

systemd_actions

Список действий над systemd-юнитом.

systemd_unit_name

Имя unit-файла.

Примеры

Запуск через коллекцию (перезапуск экземпляра):

ansible-playbook -i ${PATH_TO_INVENTORY} \    --user ${SUPER_USER_NAME} \    -e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \    -e systemd_unit_name='tarantool@${INSTANCE_NAME}' \    -e 'systemd_actions=["restart"]' \    playbooks/systemd.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} \    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}'",            "systemd_unit_name":"tarantool@'"${INSTANCE_NAME}"'",            "systemd_actions":["restart"]        }' \        playbooks/systemd.yml --limit ${LIMIT}
Была ли статья полезна?