etcdctl常用操作
1. 连接到etcd集群
- --endpoints:指定要连接的etcd集群的端点地址。可以指定多个,用逗号分隔。
etcdctl --endpoints=127.0.0.1:2379,127.0.0.2:2379 get /
- --cert-file, --key-file, --ca-file:用于TLS认证的证书文件、密钥文件和CA文件。
etcdctl --endpoints=https://127.0.0.1:2379 --cert-file=cert.pem --key-file=key.pem --ca-file=ca.pem get /
2. 基本操作
- get:获取一个或多个键的值。
etcdctl get <key> [<range_end>]
- put:设置或更新一个键值对。
etcdctl put <key> <value>
- del:删除一个或多个键值对。
etcdctl del <key> [<range_end>]
- watch:监视一个或多个键的变化。
etcdctl watch <key>
3. 高级操作
- --prefix:与get、del等命令一起使用,操作以给定前缀开头的所有键。
etcdctl get --prefix /myapp/
- --limit:限制返回的键值对数量。
etcdctl get --limit=10 /myapp/
- --rev:指定要获取的特定版本的数据。
etcdctl get --rev=10 /myapp/config
- --keys-only:只返回键,不返回值。
etcdctl get --keys-only /myapp/
- --sort-by:按指定的字段排序返回结果(如key、version、create、mod)。
etcdctl get --sort-by=key /myapp/
4. 集群管理
-
member:管理集群成员。
-
list:列出所有集群成员。
etcdctl member list
- add:添加新成员。
etcdctl member add <member_name>
- remove:移除成员。
etcdctl member remove <member_id>
- snapshot:创建etcd数据的快照。
etcdctl snapshot save snapshot.db
5. 其他有用选项
- --debug:启用调试模式,提供更详细的输出。
etcdctl --debug get /myapp/config
- --timeout:设置操作的超时时间(秒)。
etcdctl --timeout=5 get /myapp/config
- --hex:以十六进制格式显示键和值。
etcdctl --hex get /myapp/config