我有一个由3个服务器组成的Consul集群。我还有一个由大约6个工作节点和3个主节点(主节点与Consul服务器在同一台硬件上,但设置为availability == drain,以防止它们接受工作)的Docker Swarm。
通常我使用consul-template来读取Consul K/V。我无法想出如何明智地推出Consul Agent服务。如果我使用全局服务,则会在每个节点上获得一个代理程序,但是服务器群集会抱怨,因为所有客户端代理程序都似乎具有相同的IP地址。
复制的服务似乎是正确的方法,但我认为我需要发布客户端端口8301,这似乎会与我的服务器群集(正在运行Swarm主节点和Consul服务器(不在Docker下))发生冲突。
请指点一般方向-请注意,这是1.12群集模式,因此与早期版本非常不同。