Etcd部分常用命令+采坑

一、集群部署常用

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

你可能感兴趣的:(linux,web后端,分布式,数据库,服务注册与发现)