etcd分为etcd2和etcd3版本,两个版本之间的api相互不兼容,如今大多数公司都在使用etcd3版本,本文也以etcd3做为演示对象。html
etcdctl工具etcd附带的命令行工具,能够很方便的对etcd中的数据进行管理。web
etcdctl有两个版本:v2和v3,能够分别使用以下方式来设置版本:json
#设置v2版本 export ETCDCTL_API=2 #设置v3版本 export ETCDCTL_API=3
这里咱们以只介绍etcdctl v3版本。api
sudo vi ~/.bashrcbash
#设置etcdctl为v3版本 export ETCDCTL_API=3 #设置etcd的端点信息,即etcd集群的ip:port,以逗号分隔 export ENDPOINTS=10.10.10.45:2379,10.10.10.46:2379,10.10.10.47:2379
1)查看版本微信
查看版本的命令运维
输入:etcdctl versionide
2)获取etcd成员列表工具
输入:etcdctl member list测试
其中输出信息的格式有fields, json, protobuf, simple, table这几种,经过--write-out指定,这里我试下table格式
输入:etcdctl member list --write-out="table"
3)向etcd中写入kv
etcdctl put key value
例如:etcdctl --endpoints=$ENDPOINTS put web3 'hello world3'
4)向etcd查询数据
#精确查询某个key为web3的数据 etcdctl get web3 #模糊查询匹配到前缀为web的数据 etcdctl get --prefix web #模糊查询匹配到前缀为web的key(不返回value) ./etcdctl --prefix --keys-only=true get web
5)删除某个key
etcdctl del key
例如:etcdctl del web1
命令执行后打印的是实际删除的key的数量。
6)租约(ttl,过时时间)
a)查看租约列表
执行:etcdctl lease list
b) 建立必定时间的租约,单位为s:etcdctl lease grant n
执行:etcdctl lease grant 4000
c)为某个KV授予租约(即过时时间):etcdctl put --lease=name key value
执行:etcdctl put web3 'hello world' --lease=1255775c01ff5f28
d)查看租约信息
执行:etcdctl lease timetolive 1255775c01ff5f28
e)重置租约(至关于重置了剩余过时时间,全部绑定租约的key的剩余过时时间又变成了4000s)
执行:etcdctl lease keep-alive 1255775c01ff5f28
f)撤销租约(租约撤销的同时,被授予租约的KV会被删除)
执行:etcdctl lease revoke 1255775c01ff5f28
以上就是etcdctl的简单实用,有问题能够在后面留言~
博主:测试生财(一个不为996而996的测开码农)
座右铭:专一测试开发与自动化运维,努力读书思考写做,为内卷的人生奠基财务自由。
内容范畴:技术提高,职场杂谈,事业发展,阅读写做,投资理财,健康人生。
csdn:https://blog.csdn.net/ccgshigao
博客园:https://www.cnblogs.com/qa-freeroad/
51cto:https://blog.51cto.com/14900374
微信公众号:测试生财(按期分享独家内容和资源)