etcdctl 常用命令

本贴最后更新于 2102 天前,其中的信息可能已经时过境迁

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 // 修改用户密码
&emsp;&emsp;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 // 删除用户
&emsp;&emsp;etcdctl user delete \<user name\>
    ```bash
    // 删除用户的操作也只能由root用户完成
    ./etcdctl --user=root:1e2a92068bffef22387e3414692b2bd6  user delete cowant
    User cowant deleted
    ```
- user grant-role // 授予用户一个角色
&emsp;&emsp;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 // 撤销用户一个角色
&emsp;&emsp;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:
    ```
  • etcd

    etcd 是一个分布式、高可用的 key-value 数据存储,专门用于在分布式系统中保存关键数据。

    5 引用 • 26 回帖 • 528 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...