consul之:常用API接口
官网:https://www.consul.io/api-docs
/v1/agent/checks : 返回本地agent注册的所有检查(包括配置文件和HTTP接口)
/v1/agent/services : 返回本地agent注册的所有 服务
/v1/agent/members : 返回agent在集群的gossip pool中看到的成员
/v1/agent/self : 返回本地agent的配置和成员信息
/v1/agent/join/<address> : 触发本地agent加入node
/v1/agent/force-leave/<node>>: 强制删除node
/v1/agent/check/register : 在本地agent增加一个检查项,使用PUT方法传输一个json格式的数据
/v1/agent/check/deregister/<checkID> : 注销一个本地agent的检查项
/v1/agent/check/pass/<checkID> : 设置一个本地检查项的状态为passing
/v1/agent/check/warn/<checkID> : 设置一个本地检查项的状态为warning
/v1/agent/check/fail/<checkID> : 设置一个本地检查项的状态为critical
/v1/agent/service/register : 在本地agent增加一个新的服务项,使用PUT方法传输一个json格式的数据
Deregister Service:注销指定服务
/v1/agent/service/deregister/<serviceID> : 注销一个本地agent的服务项
示例:
curl \
--request PUT \
http://127.0.0.1:8500/v1/agent/service/deregister/my-service-id
/v1/catalog/register : 注册一个新节点、服务或检查
/v1/catalog/deregister : 取消注册节点、服务或检查
/v1/catalog/datacenters : 列出已知数据中心
/v1/catalog/nodes : 列出给定DC中的节点
List Services:此端点返回在给定数据中心中注册的服务
/v1/catalog/services : 列出给定DC中的服务
/v1/catalog/service/<service> : 列出给定服务中的节点
/v1/catalog/node/<node> : 列出节点提供的服务
Enable Maintenance Mode:该端点将给定的服务置于“维护模式”
/v1/agent/service/maintenance/:service_id:该端点将给定的服务置于“维护模式”。在维护模式下,该服务将被标记为不可用,并且不会出现在DNS或API查询中。此API调用是幂等的。维护模式是永久性的,在代理重新启动时将自动恢复。
示例:
$ curl \ --request PUT \ http://10.200.110.100:8500/v1/agent/service/maintenance/tag-10-200-110-100-8778?enable=true&reason=sprint40
consul端的日志如下:
2021/01/14 14:52:16 [INFO] agent: Synced check "_service_maintenance:tag-10-200-110-100-8778" 2021/01/14 14:52:16 [DEBUG] agent: Node info in sync 2021/01/14 14:52:16 [DEBUG] http: Request PUT /v1/agent/service/maintenance/tag-10-200-110-100-8778?enable=true&reason=sprint40 (1ms) from=10.200.110.100:49168 2021/01/14 14:52:16 [DEBUG] agent: Service "tag-10-200-140-18-8080" in sync 2021/01/14 14:52:16 [DEBUG] agent: Service "tag-10-200-110-100-8778" in sync
List Nodes for Service:此端点返回提供路径上指示的服务的节点。用户还可以通过使用运行状况检查来构建对动态负载平衡和其他功能的支持。
GET /health/service/:service application/json :返回服务节点
参考:https://blog.csdn.net/jijiuqiu6646/article/details/89456328