Запуск кластера через Docker Compose
В этом руководстве показано, как запустить кластер Tarantool DB с помощью Docker Compose.
Содержание:
- Пререквизиты
- Запуск стенда
- Используемые файлы
- Конфигурация контейнера для узла Tarantool DB
- Контейнер init_host
- Остановка стенда
Для выполнения примера требуются:
-
установленные Docker-образы Tarantool DB, Prometheus и Grafana;
-
приложение Docker Compose;
-
исходные файлы примера
up_with_docker_compose.
Перейдите в директорию примера up_with_docker_compose:
cd ./docs/docs/ru/assets/examples/up_with_docker_compose/
Запустите кластер Tarantool DB:
make start
Команда последовательно выполняет следующие шаги:
- Запускает централизованное хранилище конфигурации — кластер etcd;
- Загружает конфигурацию кластера в централизованное хранилище;
- Запускает кластер Tarantool DB;
- Загружает миграции в кластер и выполняет их.
Запущенный стенд состоит из:
- кластера Tarantool DB:
- 2 роутера;
- 2 набора реплик по 3 хранилища;
- 1 Tarantool Cluster Manager (TCM);
- кластера etcd из 3 узлов;
- средств мониторинга (Prometheus, Grafana).
После запуска должны работать все контейнеры, кроме init_host.
Также после запуска доступны следующие пользовательские интерфейсы:
- http://localhost:8081 — веб-интерфейс TCM;
- http://localhost:9090 — веб-интерфейс Prometheus;
- http://localhost:3000 — веб-интерфейс Grafana.
Для входа в веб-интерфейс TCM откройте в браузере адрес http://localhost:8081. Логин и пароль для входа:
- Username:
admin - Password:
secret
В TCM откройте вкладку Stateboard. После применения настроек кластер будет выглядеть так:

В руководстве используются следующие файлы примера up_with_docker_compose:
cluster/— директория c файлами для запуска кластера Tarantool DB:config.yml— конфигурация и топология кластера;docker-compose.yml— описание узлов кластера Tarantool DB;migrations/scenario— директория, содержащая файлы с описанием миграций;
tools/— директория с файлами для запуска кластера etcd и средств мониторинга:grafana/— директория, содержащая настройки для ведения мониторинга;prometheus/— директория, содержащая настройки Prometheus для сбора и передачи метрик в Grafana;docker-compose.yml— описание узлов кластера etcd и средств мониторинга;tcm.yml— конфигурация для запуска Tarantool Cluster Manager;
Makefile— инструкции для утилитыmakeдля запуска и остановки всего стенда.
Конфигурация контейнера для узла Tarantool DB задается в файле docker-compose.yml:
tarantool-router-msk:image: tarantooldb:3x-latestnetworks:- tarantooldb_networkports:- "3301:3301"environment:- TT_INSTANCE_NAME=router-msk- TT_CONFIG_ETCD_ENDPOINTS=http://etcd1:2379,http://etcd2:2379,http://etcd3:2379- TT_CONFIG_ETCD_PREFIX=/tdb- TT_CONFIG_ETCD_HTTP_REQUEST_TIMEOUT=3
Здесь:
-
image— название Docker-образа, используемого для создания контейнера; -
networks-- название подсети; -
ports— используемые порты; -
environment— переменные окружения для опций Tarantool:TT_INSTANCE_NAME— имя экземпляра в кластере;TT_CONFIG_ETCD_ENDPOINTS— адреса централизованного хранилища конфигурации;TT_CONFIG_ETCD_PREFIX— адрес данных кластера Tarantool DB в централизованном хранилище конфигурации;TT_CONFIG_ETCD_HTTP_REQUEST_TIMEOUT— таймаут запроса для получения конфигурации.
Полный список опций доступен в описании Docker-образа Tarantool DB.
В файле cluster/docker-compose.yml есть специальный контейнер init_host.
С этого контейнера выполняются:
- Загрузка клиентского кода (миграций) в кластер и его применение: описание спейсов и функций.
- Добавление кластера в веб-интерфейс.
Остановить стенд можно так:
make stop