consul–基础–05–api
1、介绍
- 主要接口是RESTful HTTP API,该API可以用来增删查改nodes、services、checks、configguration。
- 所有的endpoints主要分为以下类别
- kv:Key/Value存储
- agent:Agent控制
- catalog:管理nodes和services
- health:管理健康监测
- session:Session操作
- acl:ACL创建和管理
- event:用户Events
- status:Consul系统状态
2、agent
用来和本地agent进行交互,一般用来服务注册和检查注册
2.1、/v1/agent/checks
返回本地agent注册的所有检查(包括配置文件和HTTP接口)
http://192.168.187.171:8500/v1/agent/checks
2.2、/v1/agent/services
返回本地agent注册的所有 服务
http://192.168.187.171:8500/v1/agent/services
2.3、/v1/agent/members
返回agent在集群的gossip pool中看到的成员
http://192.168.187.171:8500/v1/agent/members
2.4、/v1/agent/self
返回本地agent的配置和成员信息
http://192.168.187.171:8500/v1/agent/self
2.5、/v1/agent/join/< address>
触发本地agent加入node
http://192.168.187.171:8500/v1/agent/join/192.168.187.172
2.6、/v1/agent/force-leave/< node >
强制删除node
http://192.168.187.171:8500/v1/agent/force-leave/consul-node1
2.7、/v1/agent/check/register
在本地agent增加一个检查项,使用PUT方法传输一个json格式的数据
2.8、/v1/agent/check/deregister/< checkID>
注销一个本地agent的检查项
http://192.168.187.171:8500/v1/agent/check/deregister/serfHealth
2.9、/v1/agent/check/pass/< checkID>
设置一个本地检查项的状态为passing
2.10、/v1/agent/check/warn/< checkID>
设置一个本地检查项的状态为warning
2.11、/v1/agent/check/fail/< checkID>
设置一个本地检查项的状态为critical
2.12、/v1/agent/service/register
在本地agent增加一个新的服务项,使用PUT方法传输一个json格式的数据
2.13、/v1/agent/service/deregister/< serviceID>
注销一个本地agent的服务项
http://192.168.187.171:8500/v1/agent/service/deregister/xcoa-192-168-48-1-8888
3、catalog
用来注册/注销nodes、services、checks
3.1、/v1/catalog/register
Registers a new node, service, or check
http://192.168.187.171:8500/v1/catalog/register
3.2、/v1/catalog/deregister
Deregisters a node, service, or check
http://192.168.187.171:8500/v1/catalog/deregister
3.3、/v1/catalog/datacenters
显示数据中心列表
http://192.168.187.171:8500/v1/catalog/datacenters
3.4、/v1/catalog/nodes
列出给定数据中心的所有节点列表
http://192.168.187.171:8500/v1/catalog/nodes
3.5、/v1/catalog/services
列出给定数据中心的所有服务列表
http://192.168.187.171:8500/v1/catalog/services
3.6、/v1/catalog/service/< service>
获取服务名称对应的节点列表
http://192.168.187.171:8500/v1/catalog/service/xcoa
3.7、/v1/catalog/node/< node>
列出节点上的所有服务
http://192.168.187.171:8500/v1/catalog/node/consul-node1
4、health
- 用来查询健康状况相关信息
- 该功能是从catalog中单独分离出来
4.1、/v1/health/node/< node>
- 返回node所定义的检查
- 可用参数?dc=
http://192.168.187.171:8500/v1/health/node/consul-node1
4.2、/v1/health/checks/< service>
- 返回和服务相关联的检查
- 可用参数?dc=
http://192.168.187.171:8500/v1/health/checks/xcoa
4.3、/v1/health/service/< service>
- 返回给定datacenter中给定node中service
- 可用参数?dc=
http://192.168.187.171:8500/v1/health/service/xcoa
4.4、/v1/health/state/< state>
- 返回给定datacenter中指定状态的服务
- state值
- “any”
- “unknown”
- “passing”
- “warning”
- "critical
- 可用参数?dc=
http://192.168.187.171:8500/v1/health/state/passing
5、session
用来create、update、destory、query sessions
5.1、/v1/session/create
create a new session
5.2、/v1/session/destroy/< session>
Destroys a given session
5.3、/v1/session/info/< session>
Queries a given session
5.4、/v1/session/node/< node>
Lists sessions belonging to a node
5.5、/v1/session/list
Lists all the active sessions
6、acl
用来create、update、destory、query acl
6.1、/v1/acl/create
Creates a new token with policy
6.2、/v1/acl/update
Update the policy of a token
6.3、/v1/acl/destroy/< id>
Destroys a given token
6.4、/v1/acl/info/< id>
Queries the policy of a given token
6.5、/v1/acl/clone/< id>
Creates a new token by cloning an existing token
6.6、/v1/acl/list
Lists all the active tokens
7、event
- 用来触发新的events
- 查询已有的events
7.1、/v1/event/fire/< name>
- 触发一个新的event
- 用户event需要name和其他可选的参数
- 使用PUT方法
7.2、/v1/event/list
- 返回agent知道的events
8、status
用来或者consul 集群的信息
8.1、/v1/status/leader
返回当前集群的Raft leader
8.2、/v1/status/peers
返回当前集群中同事