1、安装Consul
# 下载Consul
# wget https://releases.hashicorp.com/consul/0.7.2/consul_0.7.2_linux_amd64.zip -O consul.zip
# cd /opt/
# unzip consul_0.7.2_linux_amd64.zip
# 将解压的二进制文件Consul移动到 /usr/bin/
# mv consul /usr/bin/
2、启动Consul集群
推荐 Consul集群使用 3 台或 5 台 serverAgent。
# serverAgent 启动
# [root@localhost bin]# nohup consul agent -server -data-dir=/tmp/consul -node=server-12 -bind=192.168.56.101 -bootstrap-expect 1 -client 0.0.0.0 -ui -dc=zjgdc &
#clientAgent-1 启动
# [root@localhost bin]# nohup consul agent -data-dir=/tmp/consul -node=client-13 -bind=192.168.56.103 -join=192.168.56.101 -dc=zjgdc &
#clientAgent-2 启动
# [root@localhost bin]# nohup consul agent -data-dir=/tmp/consul -node=client-14 -bind=192.168.56.102 -join=192.168.56.101 -dc=zjgdc &
各命令和选项含义
# consul agent : 表示该命令会启动一个 consulAgent
#-server :表示 agent 是一个 serverAgent,不添加这个选项的话,表示是一个 clientAgent
# -data-dir:表示相关数据存储的目录位置,在 serverAgent 上该目录下会存储集群的状态信息,而在 clientAgent 上主要混在其上注册的服务信息以及这些服务的健康检查信息。
# -node:指定该 agent 节点的名称,该,名称在集群中必须是唯一的(默认采用机器 host)。
# -bind:指定该 agent 的 ip。
# -bootstrap-expect 1 :该命令通知 Consul 我们仙子阿准备加入的 server 节点个数,该参数是为了延迟日志复制的启动,知道指定数量的 sever 节点成功后才启动。
# -client 0.0.0.0 -ui:启动 Consul-ui,如果不添加“-client 0.0.0.0”选项,则UI只能在本机器上访问。
# -dc:指定该 agent 加入哪一个数据中心,默认是 dc1.
# -join:将节点加入集群。
3、查看各个节点是否正常
# consul members
# 成功结果
[root@localhost ~]# consul members
Node Address Status Type Build Protocol DC
client-13 192.168.56.103:8301 alive client 0.7.2 2 zjgdc
client-14 192.168.56.102:8301 alive client 0.7.2 2 zjgdc
server-12 192.168.56.101:8301 alive server 0.7.2 2 zjgdc