Архитектура Consul / Registrator – нужен ли мне отдельный агент Consul на каждой виртуальной машине?

Я пытаюсь использовать Consul и Registrator для получения микросервисов в разных виртуальных машинах, но я думаю, что я не совсем понял что-то. Я понимаю, что Регистратор автоматически регистрирует контейнеры с консулом. Поэтому я думал, что у меня будет одна виртуальная машина, которая запускает Консул, а затем для каждого микросервиса у меня будет виртуальная машина с регистратором + микросервис.

Однако я не могу заставить Регистратора поговорить с агентом Консула в отдельной виртуальной машине. Если посмотреть более внимательно на предлагаемую архитектуру, мне кажется, что мне нужен отдельный агент Consul на каждой виртуальной машине. Правильно ли я понимаю это? Если да, то почему? Разве регистратор не может перенаправлять информацию о контейнере агенту консула на любую виртуальную машину?

Кроме того, мне нужно запустить Registrator на виртуальной машине с помощью агента и серверов Consul?

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

Это сообщение в блоге имеет приятную информацию:

Архитектура консула Каждый узел, предоставляющий услуги Консулу, запускает агент Консула. Агент отвечает за проверку работоспособности служб как на узле, так и на самом узле. Агенты разговаривают с одним или несколькими серверами Consul

Агент регистратора агента регистратора может автоматически регистрировать / отменять реестры служб для задач или служб ECS на основе опубликованных портов и метаданных из переменных среды контейнера, определенных в определении задачи ECS

поэтому 2 являются взаимодополняющими и должны быть развернуты для каждой службы (имени), которую вы развернете