etcd v2文档(2) -- 客户端http请求管理集群成员api

时间:2022-06-26
本文章向大家介绍etcd v2文档(2) -- 客户端http请求管理集群成员api,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

列出成员

  1. 返回一个HTTP 200 OK响应代码和所有成员在etcd集群中的表示。

Request

GET /v2/members HTTP/1.1

Example

curl http://10.0.0.10:2379/v2/members
{
    "members": [
        {
            "id": "272e204152",
            "name": "infra1",
            "peerURLs": [
                "http://10.0.0.10:2380"
            ],
            "clientURLs": [
                "http://10.0.0.10:2379"
            ]
        },
        {
            "id": "2225373f43",
            "name": "infra2",
            "peerURLs": [
                "http://10.0.0.11:2380"
            ],
            "clientURLs": [
                "http://10.0.0.11:2379"
            ]
        },
    ]
}

添加成员

  1. 成功返回一个HTTP 201响应代码以及添加成员的表示,并在成功时新生成一个memberID。 不成功时返回描述失败情况的字符串。
  2. 如果POST主体格式错误,则返回HTTP 400
  3. 如果成员存在于集群中,或者过去某个时刻存在于集群中,则返回HTTP 409
  4. 如果群集中存在任何给定的peerURL,则返回HTTP 409
  5. 如果集群无法在超时期间处理请求,则返回HTTP 500,尽管稍后可能会处理该请求。

Request

POST /v2/members HTTP/1.1

{"peerURLs": ["http://10.0.0.10:2380"]}

Example

curl http://10.0.0.10:2379/v2/members -XPOST 
-H "Content-Type: application/json" -d '{"peerURLs":["http://10.0.0.10:2380"]}'
{
    "id": "3777296169",
    "peerURLs": [
        "http://10.0.0.10:2380"
    ]
}

删除成员

从集群中删除成员。 成员编号必须是十六进制编码的uint64

  1. 成功返回HTTP 204和含有空的内容。 不成功时返回描述失败情况的字符串。
  2. 如果该成员不存在于集群中,则返回HTTP 500(TODO:fix this)。
  3. 如果集群无法在超时期间处理请求,则返回HTTP 500,尽管稍后可能会处理该请求。

Request

DELETE /v2/members/<id> HTTP/1.1

Example

curl http://10.0.0.10:2379/v2/members/272e204152 -XDELETE

返回204,内容为空

修改成员 peerURLs

修改集群 peerURLs 地址。 成员编号必须是十六进制编码的uint64

  1. 成功返回204含有空的内容。 不成功时返回描述失败情况的字符串。
  2. 如果POST主体格式错误,则返回HTTP 400
  3. 如果该成员不存在于集群中,则将返回HTTP 404
  4. 如果群集中存在任何给定的peerURL,则返回HTTP 409
  5. 如果集群无法在超时期间处理请求,则返回HTTP 500,尽管稍后可能会处理该请求。

Request

PUT /v2/members/<id> HTTP/1.1

{"peerURLs": ["http://10.0.0.10:2380"]}

Example

curl http://10.0.0.10:2379/v2/members/272e204152 -XPUT 
-H "Content-Type: application/json" -d '{"peerURLs":["http://10.0.0.10:2380"]}'