一、集群部署常用
etcdctl member list 查看集群
systemctl restart etcd 重启集群
hostnamectl set-hostname etcd1 修改主机名
systemctl stop firewalld 关闭防火墙step1
setenforce 0 关闭防火墙step2
二、用户操作常用
1. user相关命令
1.1. 添加root用户并设置密码
etcdctl --endpoints http://172.16.22.36:2379 user add root
1.2. 添加非root用户并设置密码
etcdctl --endpoints http://172.16.22.36:2379 --username root:123 user add huwh
1.3. 查看当前所有用户
etcdctl --endpoints http://172.16.22.36:2379 --username root:123 user list
1.4. 将用户添加到对应角色
etcdctl --endpoints http://172.16.22.36:2379 --username root:123 user grant --roles test1 phpor
1.5. 查看用户拥有哪些角色
etcdctl --endpoints http://172.16.22.36:2379 --username root:123 user get phpor
2. role相关命令
2.1. 添加角色
etcdctl --endpoints http://172.16.22.36:2379 --username root:2379 role add test1
2.2. 查看所有角色
etcdctl --endpoints http://172.16.22.36:2379 --username root:123 role list
2.3. 给角色分配权限
2.3.1、只包含目录
etcdctl --endpoints http://172.16.22.36:2379 --username root:123 role grant --readwrite --path /test1 test1
2.3.2、包括目录和子目录或文件
etcdctl --endpoints http://172.16.22.36:2379 --username root:123 role grant --readwrite --path /test1/* test1
2.3.3、赋予访问权限
# 给 role1 角色赋予键 /foo 的读操作
$ etcdctl --ca-file /root/cfssl/ca.pem --endpoints https://192.168.3.3:2379 role grant role1 --path /foo --read
# 给 role1 角色赋予键 /foo 的写操作
$ etcdctl --ca-file /root/cfssl/ca.pem --endpoints https://192.168.3.3:2379 role grant role1 --path /foo --write
# 给 role1 角色赋予键 /foo 读写操作
$ etcdctl --ca-file /root/cfssl/ca.pem --endpoints https://192.168.3.3:2379 role grant role1 --path /foo --rw
# 给 role1 角色赋予键 /foo 目录读写操作
$ etcdctl --ca-file /root/cfssl/ca.pem --endpoints https://192.168.3.3:2379 role grant role1 --path /foo/* --rw
2.3.4、收回访问权限
# 收回 role1 角色对 /foo 的读操作
$ etcdctl --ca-file /root/cfssl/ca.pem --endpoints https://192.168.3.3:2379 role revoke role1 --path /foo --read
# 收回 role1 角色对 /foo 的写操作
$ etcdctl --ca-file /root/cfssl/ca.pem --endpoints https://192.168.3.3:2379 role revoke role1 --path /foo --write
# 收回 role1 角色对 /foo 的读写操作
$ etcdctl --ca-file /root/cfssl/ca.pem --endpoints https://192.168.3.3:2379 role revoke role1 --path /foo --rw
# 收回 role1 角色对 /foo 目录的读写操作
$ etcdctl --ca-file /root/cfssl/ca.pem --endpoints https://192.168.3.3:2379 role revoke role1 --path /foo/* --rw
2.4. 查看角色所拥有的权限
etcdctl --endpoints http://172.16.22.36:2379 --username root:2379 role get test1
3. auth相关操作
3.1. 开启认证
etcdctl --endpoints http://172.16.22.36:2379 auth enable
三、踩过的坑
--------------远程调用失败--------(记得把访问集群的ip地址换掉)
如:ETCDCTL_API=3 etcdctl --endpoints 192.168.1.115:2379,192.168.1.106:2379,192.168.1.108:2379 endpoint status --write-out="table"
解决办法(如果使用firewalld作为防火墙,则需要开放端口):
firewall-cmd --zone=public --add-port=2379/tcp --permanent
firewall-cmd --zone=public --add-port=2379/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all