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