etcd
是一个分布式一致性k-v存储系统,可用于服务注册发现与共享配置,具有以下优点
# 检查默认节点的健康情况
etcdctl endpoint health
# 列出所有的keys,不显示值
etcdctl get --prefix --keys-only ""
# dir operation
etcdctl rmdir dir
etcdctl mkdir dir
# 开启身份认证
etcdctl auth enable
# 列出所有角色/用户
etcdctl role/user list
# 创建角色/用户 可以使用--new-user-password选项提供明文密码
etcdctl --endpoints="" user/role add [user][root]
# 添加用户角色
etcdctl user grant-role [role] [user]
# 删除用户角色
etcdctl user revoke-role [role] [user]
# 删除角色
etcdctl role delete [role]
# 列出这个角色的所有权限
etcdctl role get [role]
# 给所有以/foo开头的key赋予读权限
etcdctl role grant-permission [role] --prefix=true read /foo/
# 删除一个角色的权限,如果添加权限的时候指定了--prefix=true,删除同样需要
etcdctl role revoke-permission [role] --prefix=true /foo/bar
# 修改指定用户密码
etcdctl user passwd [user] --user
数据默认会存放在/var/lib/etcd/default目录,会被分为两个文件夹中,分别是
etcd
的数据状态,防止wal文件过多而设置的快照wal重要功能就是对故障的快速回复和数据回滚
etcd
会把启动的配置信息存储到data-dir参数指定的数据目录中。配置信息包括本地节点的ID、集群ID和初始时集群信息。用户需要避免 etcd 从一个过期的数据目录中重新启动,因为使用过期的数据目录启动的节点会与集群中的其他节点产生不一致