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常用的基本操作,除此之外,还有更多命令行操作,例如:角色、用户、权限、集群成员修改...