前往 官网下载地址 下载相应系统最新的二进制包。
这样子直接一点:(我的是centos)

  1. wget https://releases.hashicorp.com/consul/1.0.6/consul_1.0.6_linux_amd64.zip
  2. unzip consul_1.0.6_linux_amd64.zip
  3. mkdir -p /home/devweb/consul/data

这样子就可以看到bin的二进制文件了。
首先启动第一台机器(节点1):

  1. nohup ./consul agent -server -bootstrap-expect 2 -data-dir /home/devweb/consul/data -node=mynode1 -bind=10.10.10.100 -client=10.10.10.100 -ui &
  • 10.10.10.100 是这台机器的ip
  • -node:节点的名称
  • -server:这个就是表示这个节点是个SERVER
  • -bootstrap-expect:这个就是表示期望提供的SERVER节点数目,数目一达到,它就会被激活,然后就是LEADER了
  • -bind:绑定的一个地址,用于节点之间通信的地址,可以是内外网,必须是可以访问到的地址,用于多网卡服务器
  • -client:这个表示注册或者查询等一系列客户端对它操作的IP,如果不指定这个IP,默认是127.0.0.1。
  • -ui 表示可以通过这台机器用webUI进行访问(10.10.10.100:8500),不加的话,通过web就访问不到

启动第二台(节点2):

  1. nohup ./consul agent -server -data-dir /home/devweb/consul/data -node=mynode2 -bind=10.10.10.101 -join=10.10.10.100 -client=10.10.10.101 &
  • -join:这个表示启动的时候,要加入到哪个集群内,这里就是说要加入到节点1的集群, 也可不加此参数,然后手动执行./consul join 10.10.10.100来加入
  • -其他参数同第一台,注意这里不用bootstrap-expect参数了

接下来,我们启动第三台(节点3):

  1. nohup ./consul agent -server -data-dir /home/devweb/consul/data -node=mynode3 -bind=10.10.10.102 -join=10.10.10.100 -client=10.10.10.102 &

这样子,我们就成功了。
在10.10.10.100上看下我们的consul集群:

  1. ./consul members #查看集群的个数
  2. ./consul info #查看当前集群的信息
  3. .consul help #查看帮助文档

好了,到此,我们成功安装了。我来点更劲爆的,那就是如何使用。这里来一个demo吧。
我用的是curl模拟http请求调用 http://10.10.10.100:8500/v1/agent/service/register PUT 注册一个服务。来注册一个服务,-d表示curl请求的body,相关curl的使用,请自行google。也可以看这里

  1. curl -i -X PUT -i -H "Content-Type:application/json" -d '{"ID": "userServiceId", "Name": "userService", "Tags": ["primary","v1"], "Address": "127.0.0.1", "Port": 8000, "EnableTagOverride": false, "Check": { "DeregisterCriticalServiceAfter": "90m", "HTTP": "http://www.baidu.com", "Interval": "10s" }}' http://10.10.10.100:8500/v1/agent/service/register
  • ID:注册服务的id
  • Name:注册服务的名称,查询服务要用到。
  • Check:把服务注册到consul集群后,consul集群会通过这里面的http来检查此服务是否可用
  • Interval:表示多久check一次服务是否可用,10s表示10秒检查一次
  • DeregisterCriticalServiceAfter:失败后多久删除此服务,90m表示90分钟后

要带上端口号,我没有改过,所以就默认8500了。
我们查询下刚才注册的服务:

  1. curl http://10.10.10.100:8500/v1/catalog/service/userService

可以设置一个k/v:

  1. ./consul kv put --http-addr=10.10.10.100:8500 user/config/connections 5

获取一个k/v

  1. ./consul kv get -detailed --http-addr=10.10.62.109:8500 user/config/connections

怎么样,其实只是使用的话,so easy。
配置可以看官方文档

分类: web

标签:   consul