注册中心Consul使用【集群容器化部署】【ACL配置使用】

1.开启acl

#这里的master token是用UUID生成的,保证三个server的acl配置一样
    "acl":{
        "enabled":true,
        "default_policy":"deny",
        "enable_token_persistence":true,
        "tokens":{
            "master":"14d54c5e-24ca-41cc-8c9e-987ba7a96ffb"
        }
    }

2.启动docker-compose up

后台报大量错误

agent: Coordinate update blocked by ACLs

解决办法:创建一个token

#使用POSTMAN,请求方法
PUT
#请求路径
http://192.168.41.128:8500/v1/acl/create
#请求JSON参数
{
  "Name": "Agent Token",
  "Type": "client",
  "Rules": "node \"\" { policy = \"write\" } service \"\" { policy = \"read\" }"
}

#Headers加上X-Consul-Token,值为master的值
14d54c5e-24ca-41cc-8c9e-987ba7a96ffb

#返回结果
{
    "ID": "db98c304-4d38-8660-fafe-6a4be56a40d0"
}

将返回的ID贴到consul节点配置中

    "acl":{
        "enabled":true,
        "default_policy":"deny",
        "enable_token_persistence":true,
        "tokens":{
            "master":"14d54c5e-24ca-41cc-8c9e-987ba7a96ffb",
            "agent":"db98c304-4d38-8660-fafe-6a4be56a40d0"
        }
    }

重新启动,问题解决。

3.配置环境变量

docker exec consul_server_1 consul members

执行上面命令查看members的时候,发现返回为空

配置CONSUL_HTTP_TOKEN环境变量,值为刚刚PUT请求获取的token即可。

修改docker-compose.yml配置,所有节点增加环境变量

    environment:
      - CONSUL_BIND_INTERFACE=eth0
      - TZ=Asia/Shanghai
      - CONSUL_HTTP_TOKEN=db98c304-4d38-8660-fafe-6a4be56a40d0

重新启动docker-compose up,再次查看members

问题解决。

4.登录web ui

打开后发现啥都没有,需要点击ACL,输入master中的值

5.ACL的使用,后续...

本章内容参考https://blog.csdn.net/YellowStar5/article/details/90728468

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值