etcd-操作命令
子车轻罗 2023/7/4
# 连接etcd
etcdctl默认链接127.0.0.1:2379,如需指定其他集群可通过以下命令
./etcdctl --endpoints=10.116.32.91:2379
1
# 查
./etcdctl get name
./etcdctl get name --print-value-only # 只打印值,不打印键
./etcdctl get name1 name3 # 左开右闭,打印name1 name2的值
./etcdctl get --prefix name # 打印name开头的键
./etcdctl get --prefix name --limit 3 # 只打印前三个
/etcdctl --form-key name1 # 读取字典序大于或等于 name3 的key
./etcdctl get --rev=2 name # 读取历史版本的key
1
2
3
4
5
6
7
2
3
4
5
6
7
# 增
./etcdctl put name test
1
# 删
./etcdctl del name
./etcdctl del name --prev-kv # 删除时,执行一次get,显示键值对
# 也可以和查一样删除一个区间、前缀匹配的key
1
2
3
2
3
# 租约
租约是etcd v3 API的新特性,租约是有过期时间的,一个租约可绑定多个key,所以当多个key需要相同的过期时间时,将一个租约绑定多个key,即可通过控制一个租约的过期时间来控制多个key的过期时间。
反过来,当修改一个key的过期时间也会修改它绑定的租约。
./etcdctl lease grant 60 # 创建一个60秒的租约,会生成一个租约id
$ etcdctl put /foo bar --lease=1234567890abcdef --if-version=1 # 给key绑定租约,需要给key重新赋值,并且3.5版本需要检查版本,如果版本不对也不能绑定
./etcdctl lease revoke 租约id # 删除租约id
./etcdctl lease timetolive 租约id # 根据租约id查看租约过期时间
./etcdctl lease timetolive --keys 租约id # 查看租约绑定的key
1
2
3
4
5
2
3
4
5
# watch
./etcdctl watch 键 # watch 键,键的生命周期都可以观察的到
1