zoukankan      html  css  js  c++  java
  • consul ACL2

    简介

    Consul有多个组件,但是整体上,consul通常作为服务发现工具来使用。
    Consul主要由以下特点:

    • 服务发现
    • 健康检查
    • KV存储
    • 多数据中心

    Consul一般与zookeeper,serf,eureka等软件做对比,具体差异可以参考文档

    这里我主要记录下Consul ACL的配置与使用。ACL是Consul用来控制访问API与data的。

    过程

    1. 编辑consul server配置文件,保存为acl.json.
      注意:consul配置文件一般为json格式,不要保存为conf后缀。
    {
        "acl_datacenter": "dc1",
        "acl_master_token": "p2BE1AtpwPbrxZdC6k+eXA==",
        "acl_default_policy": "deny",
        "acl_down_policy": "extend-cache"
    }
    
    1. 启动server端
    consul agent -config-dir=/home/data/consul -server -data-dir=/home/data/consul/ -bind=192.168.8.250 -client=0.0.0.0 -dev 
    

    这个时候加入server的代理如果没有配置ack,则会看到下面的sync失败信息

      ......
        2018/01/10 11:27:46 [ERR] consul: "Catalog.Register" RPC failed to server 192.168.8.250:8300: rpc error making call: Permission denied
        2018/01/10 11:27:46 [WARN] agent: Node info update blocked by ACLs
        2018/01/10 11:27:49 [ERR] consul: "Catalog.Register" RPC failed to server 192.168.8.250:8300: rpc error making call: Permission denied
        2018/01/10 11:27:49 [WARN] agent: Node info update blocked by ACLs
    
    1. 创建代理的Token。


       
      请求头部设置
     
    创建代理Token

    3.1 直接使用Curl也可以

    curl 
        --request PUT 
        --header "X-Consul-Token: p2BE1AtpwPbrxZdC6k+eXA==" 
        --data 
    '{
      "Name": "Agent Token",
      "Type": "client",
      "Rules": "node "" { policy = "write" } service "" { policy = "read" }"
    }' http://127.0.0.1:8500/v1/acl/create
    
    1. 在consult server主机上配置第三步获取的agent token。
      首先在server端更新agent-token。

    在consul 0.9版本以后,不用在配置文件操作,直接通过API进行设置

    头部与上面一样


     
    设置acl-agent-token
    1. 代理端配置启用acl
    {
      "acl_datacenter": "dc1",
      "acl_down_policy": "extend-cache",
      "acl_agent_token": "6cbfdcff-d3e7-4109-9fa8-ba185e8f7b48"
    }
    
    1. 启动agent
    consul agent -join=192.168.8.250 -ui -bind=192.168.8.141 -config-dir=/Users/aihe/Desktop/Songshu/conf/consul/consul-client -data-dir=/Users/aihe/Desktop/Songshu/conf/consul/
    
     
    设置界面token
     
    Consul UI界面

    可以在界面进行一些操作。



    作者:Real_man
    链接:https://www.jianshu.com/p/b6e4d7e4f202
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    shell bash memo
    python performance measure 02
    跨域的几种方法
    表示集合的数据结构:数组(Array),对象(Object),Map和Set
    [H5]range对象的setStart/setEnd方法
    文件上传:input file FileReader
    localStorage,sessionStorage,cookie使用场景和区别
    设置获取cookie,setCookie,getCookie
    js中__proto__, property, prototype, 对象自身属性方法和原型中的属性方法的区别
    使用正则表达式--切分字符串
  • 原文地址:https://www.cnblogs.com/chenyishi/p/9885835.html
Copyright © 2011-2022 走看看