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

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

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

Примечание

Подробная документация по инсталлятору ATE доступна зарегистрированным пользователям личного кабинета tarantool.io. Узнать больше: Об инсталляторе.

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

Конечный результат установки Tarantool DB через ATE одинаков для обоих вариантов. В обоих вариантах используется один и тот же установочный пакет Tarantool DB, доступный в личном кабинете на сайте Tarantool. См. также: Публикуемые версии.

Содержание:

Настройка среды

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

  • 4 Core 2.6ГГц +;

  • 4 Гб RAM.

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

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

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

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

  • журналы (logs) – 2 GB * количество экземпляров Tarantool, но не менее 15 GB;

  • журнал упреждающей записи (WAL) – 40–50% от RAM, используемого всеми экземплярами Tarantool;

  • снимки данных (snapshots) – 100–110% от RAM, используемого всеми экземплярами Tarantool.

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

Пример инвентаря Tarantool DB 2.x

---
all:
  children:
    ROUTERS:
      children:
        router-1:
        router-2:
        router-3:
        router-4:
        router-5:
        router-6:
      vars:
    STORAGES:
      children:
        storage-1:
        storage-2:
      vars:
    storage-1:
      hosts:
        storage-1-1:
        storage-1-2:
      vars:
        replicaset_alias: storage-1
    storage-2:
      hosts:
        storage-2-1:
        storage-2-2:
      vars:
        replicaset_alias: storage-2
    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:
        router-1:
        router-2:
        router-3:
        coordinator-1:
          tarantool_coordinator: true
      vars:
        ansible_host: '10.0.1.12'
        ansible_user: 'astra'
    tarantooldb_test_env_2:
      hosts:
        storage-2-1:
        router-4:
        router-5:
        router-6:
        coordinator-2:
          tarantool_coordinator: true
      vars:
        ansible_host: '10.0.1.31'
        ansible_user: 'astra'
    tarantooldb_test_env_3:
      hosts:
        storage-1-2:
        storage-2-2:
        coordinator-3:
          tarantool_coordinator: true
      vars:
        ansible_host: '10.0.1.6'
        ansible_user: 'astra'
    etcd_hosts:
      hosts:
        '10.0.1.12':
        '10.0.1.31':
        '10.0.1.6':
      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: "10.0.1.12"
    etcd_host: "10.0.1.12"
    cartridge_failover_params:
      state_provider: "etcd2"
      etcd2_params:
        endpoints:
          - http://10.0.1.12:2379
          - http://10.0.1.31:2379
          - http://10.0.1.6:2379

Пример инвентаря TCM

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

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

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

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

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

Запуск кластера через ATE с помощью Docker описан в разделе Запуск кластера через Ansible Tarantool Enterprise.

Нашли ответ на свой вопрос?
Обратная связь