consul日常操作命令

#开发模式运行agent
consul agent -dev
#查看consul 集群成员 consul members [-detailed]

 

members命令的输出基于gossip协议,并最终一致。 也就是说,在任何时候,当地代理所看到的可能与服务器上的状态不完全一致。 要获得完全一致,请使用HTTP API再将HTTP请求转发给Consul服务器:
curl localhost:8500/v1/catalog/nodes
除了HTTP API之外,还可以使用DNS接口查询节点。

consul的服务可以通过提供服务定义或通过对HTTP API进行适当的调用来注册。

服务定义步骤:

1.创建consul配置目录

mkdir /etc/consul.d 

2.编写服务定义配置文件

#web service 80port
echo '{"service": {"name": "web", "tags": ["rails"], "port": 80}}' | sudo tee /etc/consul.d/web.json 

3.使用参数  -config-dir=config-path启动代理程序

consul agent -dev -config-dir=/etc/consul.d

当代理启动并且服务同步后,我们可以使用dns或者http api来查询服务。

curl http://localhost:8500/v1/catalog/service/web

服务定义可以通过更改配置文件并向代理发送SIGHUP来更新。 这使您可以更新服务,而不会出现任何停机或无法提供服务查询的情况。 或者,可以使用HTTP API动态地添加,删除和修改服务。

启动代理    服务器方式

consul agent -server -bootstrap-expect=1 -data-dir=/tmp/consul -node=agent-one -bind=192.168.65.135 -enable-script-checks=true -config-dir=/etc/consul.d

启动代理   客户端方式

consul agent -data-dir=/tmp/consul -node=agent-two -bind=192.168.65.139 -enable-script-checks=true -config-dir=/etc/consul.d/

加入consul集群

consul join 192.168.65.135

也可以在启动节点的时候使用-join选项或者start_join设置来加入集群

参考:

consul入门指南  https://blog.csdn.net/y435242634/article/details/78639663

原文地址:https://www.cnblogs.com/z-books/p/9244807.html