ETCD (3) 客户端

客户端命令

etcdctl

etcectl 是官方提供的命令行客户端,其内部是对 HTTP API 的一些封装。在安装包中已经提供了。命令格式为:

1
etcdctl [全局选项]命令 [命令选项] [命令参数]

主要的全局选项包括以下几个:

参数说明
–debug输出调试信息,显示执行命令时发起的请求
–no-sync发出请求前不主动同步集群信息
-o, –output输出响应消息的格式,可以为 simple、json 或 extended
-D, –discovery-srv通过域名查询探测集群成员信息
–insecure-discovery接受非安全的集群信息
–endpoints集群中成员地址列表,多个成员用逗号隔开
–cert-file如果集群需要 HTTPS 认证,提供 TLS 证书文件路径
–key-file认证的证书文件路径
–ca-file域名相关的根证书文件路径
-u, –username用户名和密码信息
–timeout请求连接超时,默认为 2 秒
–total-timeout命令执行总超时时间,默认为 5 秒
-h, –help显示帮助命令信息
-v, –version打印版本信息

ETCDZookeeper 类似,采用了类似文件目录的结构管理,内部也是以文件(即某个键)或目录为基础的。其与 Linux 的管理也时非常类似的。
所以其支持的命令大体上主要分为两种

  • 数据类操作
  • 非数据类操作

    数据类型操作

参数说明参数说明
set设置某个键的值exec-watch某个键值变化时执行指令指令
get获取某个键的值ls列出目录下的内容
update更新某个键的值mkdir创建新的目录
mk创建新的键值rmdir移除某个空目录或键值
rm删除键值或目录setdir创建目录 (允许目录已存在)
watch监控某个键值的变化updatedir更新已存在的目录

数据类型的操作主要时针对键值的 CRUD 操作。

非数据类操作

参数说明
backup备份指定 Etcd 目录
cluster-health检查集群健康状态
member添加、删除或列出成员,需要指定具体子命令
user用户添加、权限管理,需要指定具体子命令
role角色添加、权限管理,需指定具体子命令
auth全局认证管理
help, h打印命令帮助信息