Consul/Registrator体系结构 - 我是否需要在每个VM上使用单独的Consul代理?

Car*_*Car 2 vagrant docker consul microservices

我正在尝试使用Consul和Registrator来获取各种虚拟机中的微服务,但我想我并没有得到什么.我知道Registrator会自动向Consul注册容器.所以我想我有一个运行Consul的VM,然后对于每个微服务我都有一个带Registrator +微服务器的VM.

但是,我无法让Registrator在单独的VM中与Consul代理进行通信.仔细观察建议的体系结构,似乎我需要在每个VM上使用单独的Consul代理.我明白了吗?如果是这样,为什么?Registrator不应该只能将容器信息转发给任何VM上的Consul代理吗?

另外,我是否需要在具有Consul代理和服务器的VM上运行Registrator?

Fré*_*nri 6

您需要在每个提供服务的VM上都有一个consul代理,以便它可以与consul服务器进行通信

这篇博文有很好的信息:

Consul架构 为Consul提供服务的每个节点都运行Consul代理.代理负责检查节点上的服务以及节点本身的运行状况.代理与一个或多个Consul服务器通信

Registrator Agent Registrator代理可以根据已发布的端口和ECS任务定义中定义的容器环境变量中的元数据自动注册/注销ECS任务或服务的服务

所以2是互补的,需要为你将部署的每个服务(名称)进行部署