etcd rest api基本操作

来源:互联网 发布:无线游戏鼠标推荐知乎 编辑:程序博客网 时间:2024/05/17 04:26

from: https://segmentfault.com/a/1190000005649865

访问

http://discovery.etcd.io/e77afb997af5a84983baa98fd42cf12f

返回

{    "action": "get",     "node": {        "key": "/_etcd/registry/e77afb997af5a84983baa98fd42cf12f",         "dir": true,         "nodes": [            {                "key": "/_etcd/registry/e77afb997af5a84983baa98fd42cf12f/4eb2dcba58da982f",                 "value": "etcd0=http://192.168.99.101:2380",                 "modifiedIndex": 1113260929,                 "createdIndex": 1113260929            },             {                "key": "/_etcd/registry/e77afb997af5a84983baa98fd42cf12f/aa5569b385caf33b",                 "value": "etcd2=http://192.168.99.103:2380",                 "modifiedIndex": 1113261715,                 "createdIndex": 1113261715            },             {                "key": "/_etcd/registry/e77afb997af5a84983baa98fd42cf12f/f84fe4a4e816e778",                 "value": "etcd1=http://192.168.99.102:2380",                 "modifiedIndex": 1113261726,                 "createdIndex": 1113261726            }        ],         "modifiedIndex": 1113260647,         "createdIndex": 1113260647    }}

操作

查看版本

curl http://192.168.99.101:2379/version

返回

{"etcdserver":"2.3.6","etcdcluster":"2.3.0"}

查看键

curl http://192.168.99.101:2379/v2/keys

返回

{"action":"get","node":{"dir":true}}

创建键值

put方法如果key之前存在,则默认会先删除,再新建一个key。如果想要直接update,则追加 -d prevExist=true,但是加了这个参数,如果key之前不存在会报错。

curl http://192.168.99.101:2379/v2/keys/hello -XPUT -d value="world"

返回

{    "action": "set",     "node": {        "key": "/hello",         "value": "world",         "modifiedIndex": 8,         "createdIndex": 8    }}

创建目录

curl http://192.168.99.101:2379/v2/keys/dir -XPUT -d dir=true

返回

{    "action": "set",     "node": {        "key": "/dir",         "dir": true,         "modifiedIndex": 9,         "createdIndex": 9    }}

查看键

curl http://192.168.99.101:2379/v2/keys

返回

{    "action": "get",     "node": {        "dir": true,         "nodes": [            {                "key": "/hello",                 "value": "world",                 "modifiedIndex": 8,                 "createdIndex": 8            },             {                "key": "/dir",                 "dir": true,                 "modifiedIndex": 9,                 "createdIndex": 9            }        ]    }}

创建带ttl的键值

单位为秒

curl http://192.168.99.101:2379/v2/keys/ttlvar -XPUT -d value="ttl_value" -d ttl=10 

返回

{    "action": "set",     "node": {        "key": "/ttlvar",         "value": "ttl_value",         "expiration": "2016-06-04T13:11:00.406180341Z",         "ttl": 10,         "modifiedIndex": 10,         "createdIndex": 10    }}

创建有序键值

curl http://192.168.99.101:2379/v2/keys/seqvar -XPOST -d value="seq1"curl http://192.168.99.101:2379/v2/keys/seqvar -XPOST -d value="seq2"curl http://192.168.99.101:2379/v2/keys/seqvar -XPOST -d value="seq3"curl http://192.168.99.101:2379/v2/keys/seqvar

返回

{    "action": "get",     "node": {        "key": "/seqvar",         "dir": true,         "nodes": [            {                "key": "/seqvar/00000000000000000012",                 "value": "seq1",                 "modifiedIndex": 12,                 "createdIndex": 12            },             {                "key": "/seqvar/00000000000000000013",                 "value": "seq2",                 "modifiedIndex": 13,                 "createdIndex": 13            },             {                "key": "/seqvar/00000000000000000014",                 "value": "seq3",                 "modifiedIndex": 14,                 "createdIndex": 14            }        ],         "modifiedIndex": 12,         "createdIndex": 12    }}

删除指定的键

curl http://192.168.99.101:2379/v2/keys/for_delete -XPUT -d value="fordelete"curl http://192.168.99.101:2379/v2/keys/curl http://192.168.99.101:2379/v2/keys/for_delete -XDELETEcurl http://192.168.99.101:2379/v2/keys/

返回

{    "action": "delete",     "node": {        "key": "/for_delete",         "modifiedIndex": 16,         "createdIndex": 15    },     "prevNode": {        "key": "/for_delete",         "value": "fordelete",         "modifiedIndex": 15,         "createdIndex": 15    }}

成员管理

列出所有集群成员

curl http://192.168.99.101:2379/v2/members

返回

{    "members": [        {            "id": "4eb2dcba58da982f",             "name": "etcd0",             "peerURLs": [                "http://192.168.99.101:2380"            ],             "clientURLs": [                "http://192.168.99.101:2379",                 "http://192.168.99.101:4001"            ]        },         {            "id": "aa5569b385caf33b",             "name": "etcd2",             "peerURLs": [                "http://192.168.99.103:2380"            ],             "clientURLs": [                "http://192.168.99.103:2379",                 "http://192.168.99.103:4001"            ]        },         {            "id": "f84fe4a4e816e778",             "name": "etcd1",             "peerURLs": [                "http://192.168.99.102:2380"            ],             "clientURLs": [                "http://192.168.99.102:2379",                 "http://192.168.99.102:4001"            ]        }    ]}

统计信息

查看leader

curl http://192.168.99.101:2379/v2/stats/leader

返回

{    "leader": "4eb2dcba58da982f",     "followers": {        "aa5569b385caf33b": {            "latency": {                "current": 0.001687,                 "average": 0.0026333315088053265,                 "standardDeviation": 0.0082522530707236,                 "minimum": 0.000508,                 "maximum": 0.184366            },             "counts": {                "fail": 0,                 "success": 8404            }        },         "f84fe4a4e816e778": {            "latency": {                "current": 0.001158,                 "average": 0.017216567181926247,                 "standardDeviation": 1.236027691414708,                 "minimum": 0.000493,                 "maximum": 113.333953            },             "counts": {                "fail": 0,                 "success": 8410            }        }    }}

节点自身信息

curl http://192.168.99.101:2379/v2/stats/self

返回

{    "name": "etcd0",     "id": "4eb2dcba58da982f",     "state": "StateLeader",     "startTime": "2016-06-04T12:51:22.901345036Z",     "leaderInfo": {        "leader": "4eb2dcba58da982f",         "uptime": "28m29.401994375s",         "startTime": "2016-06-04T12:51:23.406751734Z"    },     "recvAppendRequestCnt": 0,     "sendAppendRequestCnt": 17544,     "sendPkgRate": 10.52589669646476,     "sendBandwidthRate": 746.7071116472099}

查看集群运行状态

curl http://192.168.99.101:2379/v2/stats/store

返回

{    "getsSuccess": 7,     "getsFail": 16,     "setsSuccess": 8,     "setsFail": 0,     "deleteSuccess": 1,     "deleteFail": 0,     "updateSuccess": 0,     "updateFail": 0,     "createSuccess": 6,     "createFail": 0,     "compareAndSwapSuccess": 0,     "compareAndSwapFail": 0,     "compareAndDeleteSuccess": 0,     "compareAndDeleteFail": 0,     "expireCount": 1,     "watchers": 0}
原创粉丝点击