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

#

./etcdctl put name test
1

#

./etcdctl del name
./etcdctl del name --prev-kv   # 删除时,执行一次get,显示键值对
# 也可以和查一样删除一个区间、前缀匹配的key
1
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

# watch

./etcdctl watch 键    # watch 键,键的生命周期都可以观察的到
1
Last Updated: 2023/9/27
    只爱西经
    林一