, например, если у меня есть серверная машина работает десять веб-приложений, я назвал ее A, три машины работают с Consul, и они находятся в роли сервера, где я должен зарегистрировать эти десять приложения? это лучший способ запустить клиента Consul в A и зарегистрировать в нем эти приложения? или в этот серверный консул?Каков наилучший способ зарегистрировать обслуживание в Consul
ответ
На всех ваших серверах с приложениями вы должны установить агента консула в модем клиента.
Все приложения имеют разный порт, не так ли? Так, например, вы можете зарегистрировать эти приложения с идентификатором, зависящим от порта, например «my_web_application_8080» для приложений на порту 8080, «my_web_application_8081» для приложения на 8081 и т. Д. Необходимо, чтобы служба должна иметь uniq id (но может иметь одно и то же имя).
Все регистру данных необходимо отправить в местный агент по телефону localhost
. Причина, по которой этот агент подключается к серверам, все другие агенты консула будут уведомлены о новой услуге.
Я запускаю один экземпляр Registrator на каждом узле среды Докера (а не на контейнере). Регистратор автоматически регистрирует докерные контейнеры с открытыми портами Консулу.
docker run -d \
--name=registrator \
--net=host \
--volume=/var/run/docker.sock:/tmp/docker.sock \
gliderlabs/registrator:latest \
consul://localhost:8500