1. consul members -http-addr=xxxxx 查看指定地址consul集群的所有节点
举例:查看地址192.168.5.47上consul集群的所有consul节点
如下图,该集群一共有三个节点
2. consul info -http-addr=xxxxx 查看指定地址consul集群的详细信息
举例:查看地址192.168.5.47上consul集群信息,如下图
agent: 提供有关agent的信息
consul: 有关consul的信息(acl是否开启, 是否是bootstrap节点, 是否主节点, 主节点地址)
raft: 提供有关Raft公共信息
serf_lan: 提供有关LAN池的信息
serf_wandf: 提供有关WAN池的信息
3. consul catalog datacenters -http-addr=xxxxx 查看指定地址consul的所有数据中心名字
举例:查看地址192.168.5.47上consul的所有数据中心名字,如下图,只有一个数据中心,名为dc1
4. curl xxxxx/v1/catalog/services 查看指定地址consul中所有的服务名字
举例:查看地址172.18.29.45:8500的consul中所有的服务名字,如下图,服务分别有
consul,gate,hall,match,room,web
值得注意的是第一条总是consul,这是以为consul把自身也认为是一个服务
5. curl xxxxx/v1/catalog/service/xxxx 查看指定地址consul中所有指定名字的服务
举例:查看地址172.18.29.45:8500的consul中所有名字为gate的服务,如下图
实际有两个room服务节点,由于图片太大,只截取了一部分
信息里面有单个服务的详细信息(consul节点ID,服务Node名字,所属的数据中心名字,服务唯一ID,端口号等等)
6. curl xxxxx/v1/catalog/service/xxxx?passing 查看指定地址consul中所有指定名字,且可用(通过了健康检查)的服务
继续上面的例子,这次是查询地址172.18.29.45:8500的consul中所有名字为gate,且通过了健康检查的服务,如下图
7. curl --request PUT http://xxxxx/v1/agent/service/deregister/xxxxx 向指定地址的consul注销指定名字的服务
举例:向地址192.168.1.91的consul发送注销ID为gate-127.0.0.1:36005的服务,要注意的是ID不能写错,服务器唯一ID就是上图中的字段ServiceID的值
看上面截图,deregister命令执行完后,后面又执行了查询gate服务的命令,可以看到gate服务已经不存在了,说明注销成功