etcdctl v3 命令行工具
设置环境变量
export ETCDCTL_API=3
export ETCDCTL_ENDPOINTS=http://etcd.liishuang.cn:2379
- 注意: 客户端使用的--endpoints 地址是 grpc-proxy 的--listen-addr 地址
version
./etcdctl version
etcdctl version: 3.3.0
API version: 3.3
lease 租约
- 租约具有生命周期,需要为租约授予一个 TTL(time to live)
- 将租约绑定到一个 key 上,那么 key 的生命周期与租约所授予的 TTL 一致
- 可续租
- 可撤销租约
etcdctl lease grant <ttl> 获取一份租约
./etcdctl lease grant 30
lease 2ccc684b35cb7c0f granted with TTL(30s)
- 租约的编号为 2ccc684b35cb7c0f
- 租约的 TTL 为 30s
- 在 30s 过后这个租约将消失,所绑定的 key 也会消失
etcdctl lease list 列出所有租约
./etcdctl lease list
found 2 leases
2ccc684b35cb7c1c
2ccc684b35cb7c1e
etcdctl lease timetolive <leaseID> [options] 租约的剩余生命
--keys 绑定到这个租约上的所有 key
./etcdctl lease timetolive 2ccc684b35cb7c1e
"etcdctl常用命令.md" [noeol] 637L, 17723C
KV Read:
KV Write:
```
- user passwd // 修改用户密码
  etcdctl user passwd \<user name\> [options] `只有root用户才有修改其他用户密码的权限`
```bash
// 使用--user选项切换到root用户,修改cowant用户的密码
./etcdctl --user=root:1e2a92068bffef22387e3414692b2bd6 user passwd cowant
Password of cowant:
Type password of cowant again for confirmation:
Password updated
```
- user remove // 删除用户
  etcdctl user delete \<user name\>
```bash
// 删除用户的操作也只能由root用户完成
./etcdctl --user=root:1e2a92068bffef22387e3414692b2bd6 user delete cowant
User cowant deleted
```
- user grant-role // 授予用户一个角色
  etcdctl user grant-role \<user name\> \<role name\>
```bash
// 授予AAAA用户xxxx角色
./etcdctl --user=root:1e2a92068bffef22387e3414692b2bd6 user grant-role AAAA xxxx
Role xxxx is granted to user AAAA
// 查看AAAA用户的角色
./etcdctl --user=root:1e2a92068bffef22387e3414692b2bd6 user get AAAA
User: AAAA
Roles: xxxx
```
- user revoke-role // 撤销用户一个角色
  etcdctl user revoke-role \<user name\> \<role name\>
```bash
// 授予AAAA用户xxxx角色
./etcdctl --user=root:1e2a92068bffef22387e3414692b2bd6 user revoke-role AAAA xxxx
Role xxxx is revoked from user AAAA
./etcdctl --user=root:1e2a92068bffef22387e3414692b2bd6 user get AAAA
User: AAAA
Roles:
```
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于