简介
etcd分为etcd2和etcd3版本,两个版本之间的api相互不兼容,现在大多数公司都在使用etcd3版本,本文也以etcd3作为演示对象。
etcdctl工具etcd附带的命令行工具,可以很方便的对etcd中的数据进行管理。
etcdctl有两个版本:v2和v3,可以分别使用如下方式来设置版本:
#设置v2版本 export ETCDCTL_API=2 #设置v3版本 export ETCDCTL_API=3
这里我们以只介绍etcdctl v3版本。
配置v3版本
sudo vi ~/.bashrc
#设置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 version
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
微信公众号:测试生财(定期分享独家内容和资源)