搭建集群:
。启动node1机器上的Consul (node1机器上执行)
consul agent -data-dir /tmp/node1 -node=node1 -bind=192.168.0.11 -datacenter=dc1 -ui -client=192.168.0.11 -server -bootstrap-expect 1
。启动node2机器上的Consul (node2机器上执行)
consul agent -data-dir /tmp/node2 -node=node2 -bind=192.168.0.12 -datacenter=dc1 -ui
。启动node3机器上的Consul (node3机器上执行)
consul agent -data-dir /tmp/node3 -node=node3 -bind=192.168.0.13 -datacenter=dc1 -ui -client=192.168.0.13 (这几行我是参考文档做的 但是没执行成功 待定)
.将node2节点加入到node1上(node2机器上执行):
consul join 192.168.0.11
。将node3节点加入到node1上(node3机器上执行):
consul join -rpc-addr=192.168.0.13:8400 192.168.0.11
。这样一个简单的Consul集群就搭建完成了,在node2上查看当前集群节点:
consul members -rpc-addr=192.168.0.11:8400
结果如下:
说明你的集群已经搭建成功。
我们分析一下,为什么第五步和第六步需要加 -rpc-addr 选项,而第四部不需要加任何选项呢?原因是 -Client 指定了客服端的绑定地址,包括HTTP , DNS, RPC,而consol join, consul numbers 都是通过RPC与Consol 交互的。