TDB Documentation portal logo
Помощь
Обновлена 30 июня 2026 г. в 07:00

Установка через Ansible Tarantool Enterprise

Ansible Tarantool Enterprise (ATE) — это набор сценариев (playbooks) для развертывания и последующего обслуживания продуктов Tarantool Enterprise. Инсталлятор ATE — основной способ установки и запуска Tarantool DB, который используется для развертывания кластера на промышленном сервере.

Есть два способа установки Tarantool DB с помощью ATE:

Конечный результат установки Tarantool DB через ATE одинаков для обоих вариантов. В обоих вариантах используется один и тот же установочный пакет Tarantool DB в формате tar.gz-архива. Архив имеет название вида tarantooldb-<VERSION>.<OS>.<ARCH>.tar.gz. Здесь:

  • VERSION — версия продукта не ниже 3.0.0;
  • OS — поддерживаемая операционная система;
  • ARCH — архитектура процессора.

Узнать больше про публикуемые версии и архивы Tarantool DB: Публикуемые версии.

Кроме того, для установки TCM используется отдельный установочный пакет в формате tar.gz-архива.

Получить архивы Tarantool DB и TCM можно несколькими способами:

Требования к серверу под инсталлятор

Минимальные системные требования под инсталлятор Ansible Tarantool Enterprise:

  • 4 Core 2.6ГГц +;
  • 4 Гб RAM.

Подробные требования к серверу под ATE описаны в документации по инсталлятору ATE в разделе Настройка среды: Требования к серверу под инсталлятор. Смотрите также: Требования к инфраструктуре для Tarantool DB.

Подготовка серверов к установке с использованием ATE

Перед установкой Tarantool DB необходимо настроить серверы под использование Tarantool, а также подготовить файлы инвентаря, в которых описана топология вашего решения и настроек приложения или продукта. Поддерживается два типа файлов инвентаря:

  • статический инвентарь — созданный вручную текстовый файл со списком хостов, групп и переменных;
  • динамический инвентарь — файл для Ansible-плагина (например, генератора), который на основе данных динамически формирует список хостов, групп и переменных. Инструкция по настройке динамического инвентаря приведена в документации по инсталлятору ATE: Использование динамического инвентаря.

Для установки Tarantool DB требуются следующие файлы инвентаря:

  • инвентарь кластера Tarantool DB;
  • инвентарь для веб-интерфейса Tarantool Cluster Manager (TCM).

Примеры файлов инвентарей inventory.yml для Tarantool DB и веб-интерфейса TCM приведены в разделах Пример статического инвентаря Tarantool DB 3.x и Пример статического инвентаря TCM.

Если в качестве централизованного хранилища конфигурации используется хранилище на основе реплик Tarantool (Tarantool-based configuration storage, далее — TBCS), дополнительно требуется инвентарь кластера TBCS.

Смотрите следующие разделы в документации по инсталлятору Ansible Tarantool Enterprise:

Расчет дисковой емкости

Разбить дисковое пространство необходимо согласно рекомендациям для оптимальной работы экземпляров Tarantool:

  • журналы (logs) – 2 GB * количество экземпляров Tarantool, но не менее 15 GB;
  • журнал упреждающей записи (WAL) – 40–50% от RAM, используемого всеми экземплярами Tarantool;
  • снимки данных (snapshots) – 100–110% от RAM, используемого всеми экземплярами Tarantool.

Разбейте диски согласно расчетам и подключите директории с помощью команды mount. Дополнительная информация по расчету дисковой емкости приведена в соответствующем разделе.

Пример статического инвентаря Tarantool DB 3.x

В примере в качестве централизованного хранилища конфигурации используется etcd:

---all:  children:    ROUTERS:      children:        router-1:        router-2:        router-3:        router-4:        router-5:        router-6:      vars:        tarantool_config_group:          sharding:            roles: [router]          roles:            - roles.crud-router            - roles.metrics-export            - dictionary.roles.router          roles_cfg:            roles.crud-router:              stats: true              stats_driver: metrics              stats_quantiles: true              stats_quantile_tolerated_error: 0.001              stats_quantile_age_buckets_count: 5              stats_quantile_max_age_time: 180    STORAGES:      children:        storage-1:        storage-2:      vars:        tarantool_config_group:          sharding:            roles: [storage]          roles:            - roles.crud-storage            - roles.expirationd            - roles.metrics-export            - dictionary.roles.storage          memtx:            memory: 536870912 #512MiB          roles_cfg:            roles.expirationd: []    storage-1:      hosts:        storage-1-1:        storage-1-2:      vars:        replicaset_alias: storage-1        tarantool_config_replicaset:          bootstrap_leader: storage-1-1          replication:            bootstrap_strategy: config    storage-2:      hosts:        storage-2-1:        storage-2-2:      vars:        replicaset_alias: storage-2        tarantool_config_replicaset:          bootstrap_leader: storage-2-1          replication:            bootstrap_strategy: config    router-1:      hosts:        router-1:      vars:        replicaset_alias: router-1    router-2:      hosts:        router-2:      vars:        replicaset_alias: router-2    router-3:      hosts:        router-3:      vars:        replicaset_alias: router-3    router-4:      hosts:        router-4:      vars:        replicaset_alias: router-4    router-5:      hosts:        router-5:      vars:        replicaset_alias: router-5    router-6:      hosts:        router-6:      vars:        replicaset_alias: router-6    tarantooldb_test_env_1:      hosts:        storage-1-1:          iproto:            listen:            - uri: 127.0.0.1:3301            advertise:              client: 127.0.0.1:3301          roles_cfg:            roles.metrics-export:              http:                - listen: 8181                  endpoints:                    - path: /metrics                      format: prometheus        router-1:          iproto:            listen:            - uri: 127.0.0.1:3305            advertise:              client: 127.0.0.1:3305          roles_cfg:            roles.metrics-export:              http:                - listen: 8185                  endpoints:                    - path: /metrics                      format: prometheus        router-2:          iproto:            listen:            - uri: 127.0.0.1:3306            advertise:              client: 127.0.0.1:3306          roles_cfg:            roles.metrics-export:              http:                - listen: 8186                  endpoints:                    - path: /metrics                      format: prometheus        router-3:          iproto:            listen:            - uri: 127.0.0.1:3307            advertise:              client: 127.0.0.1:3307          roles_cfg:            roles.metrics-export:              http:                - listen: 8187                  endpoints:                    - path: /metrics                      format: prometheus      vars:        ansible_host: 127.0.0.1        ansible_user: 'astra'    tarantooldb_test_env_2:      hosts:        storage-2-1:          iproto:            listen:            - uri: 127.0.0.1:3303            advertise:              client: 127.0.0.1:3303          roles_cfg:            roles.metrics-export:              http:                - listen: 8183                  endpoints:                    - path: /metrics                      format: prometheus        router-4:          iproto:            listen:            - uri: 127.0.0.1:3308            advertise:              client: 127.0.0.1:3308          roles_cfg:            roles.metrics-export:              http:                - listen: 8188                  endpoints:                    - path: /metrics                      format: prometheus        router-5:          iproto:            listen:            - uri: 127.0.0.1:3309            advertise:              client: 127.0.0.1:3309          roles_cfg:            roles.metrics-export:              http:                - listen: 8189                  endpoints:                    - path: /metrics                      format: prometheus        router-6:          iproto:            listen:            - uri: 127.0.0.1:3310            advertise:              client: 127.0.0.1:3310          roles_cfg:            roles.metrics-export:              http:                - listen: 8190                  endpoints:                    - path: /metrics                      format: prometheus      vars:        ansible_host: 127.0.0.1        ansible_user: 'astra'    tarantooldb_test_env_3:      hosts:        storage-1-2:          iproto:            listen:            - uri: 127.0.0.1:3302            advertise:              client: 127.0.0.1:3302          roles_cfg:            roles.metrics-export:              http:                - listen: 8182                  endpoints:                    - path: /metrics                      format: prometheus        storage-2-2:          iproto:            listen:            - uri: 127.0.0.1:3304            advertise:              client: 127.0.0.1:3304          roles_cfg:            roles.metrics-export:              http:                - listen: 8184                  endpoints:                    - path: /metrics                      format: prometheus      vars:        ansible_host: 127.0.0.1        ansible_user: 'astra'    etcd_hosts:      hosts:        '127.0.0.1':      vars:        ansible_user: 'astra'  vars:    ansible_ssh_common_args: -o IdentitiesOnly=yes -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no    ansible_ssh_retries: 5    cartridge_app_name: tarantooldb    tarantool_3_0_version_support: true    tarantool_etcd_host: 127.0.0.1    etcd_host: 127.0.0.1    etcd_cluster_prefix: /cluster    tarantool_config_etcd_endpoints:      - http://127.0.0.1:2379      - http://127.0.0.1:2479      - http://127.0.0.1:2579    tarantool_config_global:      replication:        failover: election      iproto:        advertise:          peer:            login: replicator          sharding:            login: storage      credentials:        users:          replicator:            password: 'replicator_password'            roles:            - replication          storage:            password: 'storage_password'            roles:            - sharding          admin:            password: 'secret-cluster-cookie'            roles:            - super          client:            password: 'secret'            roles:            - super

Пример статического инвентаря TCM

В примере в качестве централизованного хранилища конфигурации используется кластер etcd:

---cluster-manager:  hosts:    tcm:      tcm_host: localhost      tcm_port: 8081      tarantool_config_etcd_endpoints:        - http://127.0.0.1:2379        - http://127.0.0.1:2479        - http://127.0.0.1:2579      tcm_bootstrap_password: secret      tcm_cluster_tt_command: /app/tarantool/tarantooldb/dist/tdb/tt # укажите путь до tt в вашем контуре      ansible_host: '127.0.0.1'      ansible_user: 'astra'  vars:    ansible_ssh_common_args: -o IdentitiesOnly=yes -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no

Использование Docker-образа

Установка с etcd

В этом случае установка Tarantool DB должна включать следующие шаги:

  1. Подготовка серверов к установке инсталлятора ATE.

    Смотрите раздел Требования к серверу под инсталлятор в текущем руководстве по установке.

  2. Установка Docker-образа инсталлятора ATE.

    Смотрите раздел Использование Docker-образа в документации по инсталлятору ATE.

  3. Подготовка серверов к установке Tarantool DB с использованием ATE.

    Смотрите раздел Подготовка серверов к установке с использованием ATE в текущем руководстве по установке.

  4. Установка и настройка отдельного кластера etcd в качестве централизованного хранилища конфигурации.

    Смотрите раздел Настройка etcd в документации по инсталлятору ATE.

  5. Загрузка конфигурации в etcd.

    Смотрите раздел Tarantool 3.0: Отправка конфигурации в etcd в документации по инсталлятору ATE.

  6. Установка и запуск кластера Tarantool DB.

    Для установки Tarantool DB используется сценарий install_3_0.yml. Пример файла статического инвентаря Tarantool DB с etcd описан в соответствующем разделе текущего руководства по установке.

    Смотрите следующие разделы в документации по инсталлятору ATE:

    После запуска кластера Tarantool DB дождитесь завершения развертывания и запустите сценарий check_3_0.yml для проверки работоспособности кластера. После запустите модуль шардирования vshard с помощью сценария tt_vshard_bootstrap.yml или команды tt replicaset vshard bootstrap.

  7. Установка TCM.

    После развертывания Tarantool DB нужно установить и запустить веб-интерфейс Tarantool Cluster Manager. Пример файла инвентаря TCM с etcd описан в соответствующем разделе текущего руководства по установке.

    Смотрите следующие разделы в документации по инсталлятору Ansible Tarantool Enterprise:

Установка с централизованным хранилищем конфигурации на основе Tarantool

В этом случае установка Tarantool DB должна включать следующие шаги:

  1. Подготовка серверов к установке инсталлятора ATE.

    Смотрите раздел Требования к серверу под инсталлятор в текущем руководстве по установке.

  2. Установка Docker-образа инсталлятора ATE.

    Смотрите раздел Использование Docker-образа в документации по инсталлятору ATE.

  3. Подготовка серверов к установке Tarantool DB с использованием ATE.

    Смотрите раздел Подготовка серверов к установке с использованием ATE в текущем руководстве по установке.

  4. Установка и запуск кластера хранилища конфигурации TBCS.

    Для установки TBCS используется сценарий install_3_0.yml.

    Пример инвентаря TBCS приведен в документации по инсталлятору ATE в разделе Примеры инвентарей: Tarantool-based Configuration Storage. В инвентаре TBCS должны быть заданы:

    • переменная tarantool_config_storage со значением tarantool — тип централизованного хранилища конфигурации. Значение по умолчанию: etcd;
    • переменная is_config_storage со значением true — тип кластера (кластер с данными или кластер TBCS). Значение по умолчанию: false;
    • технологическая роль config.storage в секции roles;
    • переменная database.use_mvcc_engine со значением true — включение транзакционного менеджера memtx MVCC;
    • переменная components.config.replicaset.replication.failover со значением election — режим восстановления после сбоев.

    Смотрите раздел Tarantool 3.x: Установка приложения в документации по инсталлятору ATE.

    После запуска TBCS дождитесь завершения развертывания и запустите сценарий promote_leader.yml, чтобы выбрать мастер-узел в наборе реплик TBCS.

    Смотрите раздел Выбор лидера в наборах реплик в документации по инсталлятору ATE.

  5. Установка и запуск кластера Tarantool DB.

    Для установки Tarantool DB используется сценарий install_3_0.yml. При запуске этого сценария конфигурация кластера Tarantool DB собирается в файл на основании переданного инвентаря Tarantool DB. После этого конфигурация кластера Tarantool DB автоматически отправляется в хранилище конфигурации на первый по счету адрес, указанный в переменной tarantool_config_storage_endpoints.

    В инвентаре Tarantool DB должны быть заданы:

    • переменная tarantool_config_storage со значением tarantool — тип централизованного хранилища конфигурации. Значение по умолчанию: etcd;
    • переменная is_config_storage со значением false — тип кластера (кластер с данными или кластер TBCS). Значение по умолчанию: false.

    Кроме того, для корректной работы хранилища конфигурации в инвентаре Tarantool DB необходимо указать следующие переменные:

    • tarantool_config_storage_endpoints — адреса экземпляров хранилища TBCS. Указывается в соответствии с документацией Tarantool 3.x как значение переменной TT_CONFIG_STORAGE_ENDPOINTS. Пример: [{uri: "http://127.0.0.1:4242", login: "user", password: "pass"}];
    • tarantool_config_storage_prefix — префикс, по которому будет сохранена конфигурация кластера Tarantool DB.

Смотрите следующие разделы в документации по инсталлятору Ansible Tarantool Enterprise:

После запуска кластера Tarantool DB дождитесь завершения развертывания и запустите сценарий check_3_0.yml для проверки работоспособности кластера. После запустите модуль шардирования vshard с помощью сценария tt_vshard_bootstrap.yml или команды tt replicaset vshard bootstrap.

  1. Установка TCM.

    После развертывания Tarantool DB нужно установить и запустить веб-интерфейс Tarantool Cluster Manager. В инвентаре TCM должна быть задана переменная tcm_storage_provider со значением tarantool — тип централизованного хранилища конфигурации (по умолчанию `etcd).

    Кроме того, для корректной работы с хранилищем конфигурации в инвентаре TCM необходимо указать следующие переменные:

    • tcm_config_etcd_endpoints — адрес мастер-узла хранилища TBCS;
    • tcm_etcd_username и tcm_etcd_password — имя пользователя и пароль для подключения к TBCS.

    Смотрите следующие разделы в документации по инсталлятору Ansible Tarantool Enterprise:

Использование Ansible-коллекции инсталлятора

Установка с etcd

В этом случае установка Tarantool DB должна включать следующие шаги:

  1. Подготовка серверов к установке инсталлятора ATE.

    Смотрите раздел Требования к серверу под инсталлятор в текущем руководстве по установке.

  2. Установка инсталлятора ATE.

    Смотрите раздел Использование Ansible-коллекции в документации по инсталлятору ATE.

  3. Подготовка серверов к установке с использованием ATE.

    Смотрите раздел Подготовка серверов к установке с использованием ATE в текущем руководстве по установке.

  4. Установка и настройка отдельного кластера etcd в качестве централизованного хранилища конфигурации.

  5. Загрузка конфигурации в etcd.

  6. Установка и запуск кластера Tarantool DB.

    Смотрите следующие разделы в документации:

    После запуска кластера Tarantool DB дождитесь завершения развертывания, а затем проверьте работоспособность кластера. После запустите модуль шардирования vshard с помощью команды tt replicaset vshard bootstrap.

  7. Установка TCM. После развертывания Tarantool DB нужно установить и запустить веб-интерфейс Tarantool Cluster Manager.

    Смотрите следующие разделы в документации:

Установка с централизованным хранилищем конфигурации на основе Tarantool

В этом случае установка Tarantool DB должна включать следующие шаги:

  1. Подготовка серверов к установке инсталлятора ATE.

    Смотрите раздел Требования к серверу под инсталлятор в текущем руководстве по установке.

  2. Установка инсталлятора ATE.

    Смотрите раздел Использование Ansible-коллекции в документации по инсталлятору ATE.

  3. Подготовка серверов к установке Tarantool DB с использованием ATE.

    Смотрите раздел Подготовка серверов к установке с использованием ATE в текущем руководстве по установке.

  4. Установка и запуск кластера хранилища конфигурации TBCS.

    Пример инвентаря TBCS приведен в документации по инсталлятору ATE в разделе Примеры инвентарей: Tarantool-based Configuration Storage. В инвентаре TBCS должны быть заданы:

    • переменная tarantool_config_storage со значением tarantool — тип централизованного хранилища конфигурации. Значение по умолчанию: etcd;
    • переменная is_config_storage со значением true — тип кластера (кластер с данными или кластер TBCS). Значение по умолчанию: false;
    • технологическая роль config.storage в секции roles;
    • переменная database.use_mvcc_engine со значением true — включение транзакционного менеджера memtx MVCC;
    • переменная components.config.replicaset.replication.failover со значением election в секции — режим восстановления после сбоев.

    После запуска TBCS дождитесь завершения развертывания, а затем переключите мастер-узел в наборе реплик TBCS.

  5. Установка и запуск кластера Tarantool DB.

    При запуске установки конфигурация кластера Tarantool DB собирается в файл на основании переданного инвентаря Tarantool DB. После этого конфигурация кластера Tarantool DB автоматически отправляется в хранилище конфигурации на первый по счету адрес, указанный в переменной tarantool_config_storage_endpoints.

    В инвентаре Tarantool DB должны быть заданы:

    • переменная tarantool_config_storage со значением tarantool — тип централизованного хранилища конфигурации. Значение по умолчанию: etcd;
    • переменная is_config_storage со значением false — тип кластера (кластер с данными или кластер TBCS). Значение по умолчанию: false.

    Кроме того, для корректной работы хранилища конфигурации в инвентаре Tarantool DB необходимо указать следующие переменные:

    • tarantool_config_storage_endpoints — адреса экземпляров хранилища TBCS. Указывается в соответствии с документацией Tarantool 3.x как значение переменной TT_CONFIG_STORAGE_ENDPOINTS. Пример: [{uri: "http://127.0.0.1:4242", login: "user", password: "pass"}];
    • tarantool_config_storage_prefix — префикс, по которому будет сохранена конфигурация кластера Tarantool DB.

Смотрите раздел Примеры инвентарей: Tarantool DataBase в документации по инсталлятору ATE.

После запуска кластера Tarantool DB дождитесь завершения развертывания, а затем проверьте работоспособность кластера. После запустите модуль шардирования vshard с помощью команды tt replicaset vshard bootstrap.

  1. Установка TCM.

    После развертывания Tarantool DB нужно установить и запустить веб-интерфейс Tarantool Cluster Manager. В инвентаре TCM должна быть задана переменная tcm_storage_provider со значением tarantool — тип централизованного хранилища конфигурации (по умолчанию etcd).

    Кроме того, для корректной работы с хранилищем конфигурации в инвентаре TCM необходимо указать следующие переменные:

    • tcm_config_etcd_endpoints — адрес мастер-узла хранилища TBCS;
    • tcm_etcd_username и tcm_etcd_password — имя пользователя и пароль для подключения к TBCS.

    Смотрите также раздел Примеры инвентарей: Tarantool Cluster Manager в документации по инсталлятору ATE: