2017-01-25 4 views
1

В моей локальной среде есть кластер Consul, а также локальные машины некоторых разработчиков. Каждый разработчик имеет сервер Tomcat, который запускает некоторые веб-артефакты в контейнере Docker, поэтому я хочу зарегистрировать эти артефакты как службы развертывания Tomcat.Регистрация службы на существующем узле в консуле

Предполагая, что мы уже зарегистрировали пустой узел для локальной машины каждого разработчика, как я могу зарегистрировать/отменить регистрацию новой службы на существующем узле? Нужен ли мне агент консула, работающий на любом узле?

Я знаю, что при регистрации узла можно добавить услугу, но не удалось найти информацию о том, как динамически добавлять сервисы в узел. Я бы предпочел HTTP API, если это было возможно (его гораздо проще запускать на локальных машинах).

ответ

0

Нужен ли мне агент консула, работающий на любом узле?

Да, даже если вы можете добавить внешние службы к удаленной машине, используя curl post, обнаружение службы также поможет вам с агентом, запущенным на узлах.

Я знаю, что при регистрации узла можно добавить услугу, но не удалось найти информацию о том, как динамически добавлять сервисы в узел.

Регистрация службы довольно легко на консул, и вы можете найти более подробную информацию по следующей ссылке: https://www.consul.io/intro/getting-started/services.html

Однако, если вы хотите, чтобы дать лучшую изоляцию для ваших разработчиков, я рекомендовал бы запустить консул агент-сервер/клиент в докере, и пусть регистратор позаботится обо всем.

Регистратор от gliderlabs - это служебный мост реестра для Docker. Он автоматически регистрирует и отменяет регистрацию услуг для любого контейнера Docker, проверяя контейнеры по мере их поступления в сеть.

Дополнительную информацию можно найти здесь: https://github.com/gliderlabs/registrator