etcd 入门实战(2)-etcdctl 使用

打印 上一主题 下一主题

主题 2003|帖子 2003|积分 6009

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本文主要介绍 etcd 命令行客户端 etcdctl 的使用,文中所使用到的软件版本:etcd 3.5.18、Centos 7.9.2009。
1、查看用法

可以使用 etcdctl -h 或 etcdctl --help 查看 etcdctl 的用法。
2、全局参数

etcdctl 各子命令都可以使用的参数:
参数说明默认值
--debug启用客户端 debug 日志false
--endpointsetcd 服务器端点127.0.0.1:2379
-w, --write-out输出格式(fields, json, protobuf, simple, table)simple
3、键值操作

A、设置键值
  1. etcdctl put [options] <key> <value>
复制代码
如:
  1. shell> ./etcdctl put abc hello
  2. OK
复制代码
B、查询键
  1. etcdctl get [options] <key> [range_end] [flags]
复制代码
如:
  1. shell> ./etcdctl get abc
  2. abc
  3. hello
复制代码
C、删除键
  1. etcdctl del [options] <key> [range_end] [flags]
复制代码
如:
  1. shell> ./etcdctl del abc
  2. 1
复制代码
4、成员操作

A、列出集群中的成员
  1. etcdctl member list [flags]
复制代码
如:
  1. shell> ./etcdctl member list
  2. 3fcb05114d00bff, started, infra1, http://10.49.196.31:2380, http://10.49.196.31:2379, false
  3. 39d5fdc963168cff, started, infra0, http://10.49.196.30:2380, http://10.49.196.30:2379, false
  4. 6336e054665be748, started, infra2, http://10.49.196.32:2380, http://10.49.196.32:2379, false
复制代码
B、删除节点
  1. etcdctl member remove <memberID> [flags]
复制代码
如:
  1. shell> ./etcdctl member remove 6336e054665be748
  2. Member 6336e054665be748 removed from cluster 7d1fcb88f08d30f1
复制代码
C、添加节点
  1. etcdctl member add <memberName> [options] [flags]
复制代码
如:
  1. shell> ./etcdctl member add infra3 --peer-urls=http://10.49.196.33:2380
  2. Member  6de4e36ac34b1ee added to cluster 7d1fcb88f08d30f1
  3. ETCD_NAME="infra3"
  4. ETCD_INITIAL_CLUSTER="infra1=http://10.49.196.31:2380,infra3=http://10.49.196.33:2380,infra0=http://10.49.196.30:2380"
  5. ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.49.196.33:2380"
  6. ETCD_INITIAL_CLUSTER_STATE="existing"
复制代码
5、端点操作

A、检查端点的健康状态
  1. etcdctl endpoint health [flags]
复制代码
如:
  1. shell> ./etcdctl endpoint health --endpoints=http://10.49.196.30:2379,http://10.49.196.31:2379,http://10.49.196.32:2379 -w=table
  2. +--------------------------+--------+------------+-------+
  3. |         ENDPOINT         | HEALTH |    TOOK    | ERROR |
  4. +--------------------------+--------+------------+-------+
  5. | http://10.49.196.31:2379 |   true | 4.782328ms |       |
  6. | http://10.49.196.32:2379 |   true | 3.244365ms |       |
  7. | http://10.49.196.30:2379 |   true | 3.246379ms |       |
  8. +--------------------------+--------+------------+-------+
复制代码
B、查看端点的状态
  1. etcdctl endpoint status [flags]
复制代码
如:
  1. shell> ./etcdctl endpoint status --endpoints=http://10.49.196.30:2379,http://10.49.196.31:2379,http://10.49.196.32:2379 -w=table
  2. +--------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
  3. |         ENDPOINT         |        ID        | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS |
  4. +--------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
  5. | http://10.49.196.30:2379 | 39d5fdc963168cff |  3.5.18 |   20 kB |     false |      false |         8 |         79 |                 79 |        |
  6. | http://10.49.196.31:2379 |  3fcb05114d00bff |  3.5.18 |   25 kB |      true |      false |         8 |         79 |                 79 |        |
  7. | http://10.49.196.32:2379 | 666f49a44fa8c350 |  3.5.18 |   20 kB |     false |      false |         8 |         79 |                 79 |        |
  8. +--------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
复制代码
6、监控键的变化
  1. shell> ./etcdctl watch abc
  2. PUT
  3. abc
  4. 123
  5. #另一终端
  6. shell> ./etcdctl put abc 123
复制代码
7、租约操作
  1. etcdctl lease <subcommand> [flags]
复制代码
如:
  1. shell> ./etcdctl lease grant 100
  2. lease 694d95c642d69c1b granted with TTL(100s)
  3. shell>  ./etcdctl put sample value --lease=694d95c642d69c1b
  4. OK
  5. shell> ./etcdctl get sample
  6. sample
  7. value
  8. shell> ./etcdctl get sample #等待 100s 或在另一终端执行 ./etcdctl lease revoke 694d95c642d69c1b
  9. shell>
复制代码
8、锁操作
  1. #两个终端同时执行
  2. shell> ./etcdctl lock mutex1
复制代码
9、选举操作
  1. etcdctl elect <election-name> [proposal] [flags]
复制代码
如:
  1. shell> ./etcdctl elect my-elect p1
  2. #另一终端执行
  3. shell> ./etcdctl elect my-elect p2
复制代码
 
参考:
https://github.com/etcd-io/etcd/tree/main/etcdctl。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

老婆出轨

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表