Rancher下部署Consul集群
配置服务名称,docker镜像,端口映射
这里我们选择consul稳定版本1.9.1
配置数据卷映射
将容器中/consul/data
目录映射到宿主机的/data/consul/node1
,持久化consul的数据文件
配置启动参数
启动命令设置如下:
agent -server -bootstrap-expect=3 -bind=0.0.0.0 -client=0.0.0.0 -datacenter=shenzhen-dev -node=consul-server-1 -retry-join=consul-2 -retry-join=consul-3 -ui
可以看到node1节点已经正常运行,后面的 consul-server-2、consul-server-3节点和client节点都需要能加入集群。同时我们看到集群一直在报[ERROR] agent: Coordinate update error: error="rpc error making call: No cluster leader"
的错误,这是因为我们指定了集群至少三个节点才能选举leader。现在集群只有1个节点。所以才会报错。
在服务发现配置一个DNS记录,将consul-1
指向工作负载consul-server-1
再克隆两个服务节点,加入consul-1,分别取名为consul-server-2
,consul-server-3
配置启动命令
第二个节点
agent -server -bootstrap-expect=3 -bind=0.0.0.0 -client=0.0.0.0 -datacenter=shenzhen-dev -node=consul-server-2 -retry-join=consul-1 -retry-join=consul-3 -ui
第三个节点
agent -server -bootstrap-expect=3 -bind=0.0.0.0 -client=0.0.0.0 -datacenter=shenzhen-dev -node=consul-server-3 -retry-join=consul-1 -retry-join=consul-2 -ui
至此Consul集群已经搭建完毕,通过WebUI可以集群已经有三个节点正常运行。
访问WEB UI
http://192.168.1.210:8500/