etcd命令行基本操作

  etcd可通过客户端命令行工具 etcdctl 对etcd进行请求操作,本文基于etcd v3 API,简单介绍etcd的命令行基本操作。注意,若已经开启了鉴权功能,以下所有命令都需要使用选项 --user 带上用户名和密码。
 
1. 写key
2. 读key
(1)读取一个key
可使用选项 --print-value-only 只打印值。
(2)读取一个范围内的key
半开区间:左闭右开
(3)读取某个前缀的key
可以使用选项 --limit 限制返回的key数量。
(4)按key的字典顺序读取
读取字典序大于或等于 name3 的key:
(5)读取老版本的key
3. 删key
可以通过选项 --prev-kv 让命令返回对应的值。
返回的数字表示删除的key数量。
与读取key类似,删除key也支持删除一个范围内的key、删除某个前缀的key、按key的字段顺序删除key,具体命令参照读取key的命令。
4. 租约
租约是etcd v3 API的新特性,租约是有过期时间的,一个租约可绑定多个key,所以当多个key需要相同的过期时间时,将一个租约绑定多个key,即可通过控制一个租约的过期时间来控制多个key的过期时间。
(1)授予租约,绑定key
20秒后该key即过期。
(2)撤销租约
(4)获取租约信息
查看租约的过期时间,以及绑定的所有key:
5. watch
在某个etcd节点通过watch机制监听key的变化,在其他节点对这个key进行put或delete操作:
与读取key类似,watch也支持watch一个范围内的key、watch某个前缀的key、从某个key的历史版本开始watch,具体命令参照读取key的命令。
6. 查看etcd数据版本号
etcd可通过读取一个key来获取当前etcd服务端的版本号,不管key是否存在:
返回结果字段解析:
cluster_id:请求的etcd集群ID。
member_id:请求的etcd节点ID。
revision:etcd服务端当前全局数据版本号。对任一key的put或delete操作都会使revision自增1。revision=1是etcd的保留版本号,因此用户的key版本号将从2开始。
raft_term:etcd当前raft主节点任期号。
create_revision:当前key创建时全局数据版本号revision的值。
mod_revision:当前key最后一次修改时全局数据版本号revision的值。
version:当前key的数据版本号。key创建时version为1,对当前key进行put操作会使version自增1,将key删除后,重新创建,version又会从1开始计数。
 
etcd客户端命令行工具 etcdctl 默认访问 localhost:2379,可以通过选项 --endpoints 指定请求etcd server的地址:
可以看到,返回结果中 member_id 是不同的,因为请求了不同的etcd节点。
 
以上介绍的是etcd常用的基本操作,除此之外,还有更多命令行操作,例如:角色、用户、权限、集群成员修改...
 
 

原文地址:https://www.cnblogs.com/wujuntian/p/15121118.html