Consul单机配置ACL

一、Consul简介:
Consul是基于GO语言开发的开源工具,主要面向分布式,服务化的系统提供服务注册、服务发现和配置管理的功能。Consul的功能都很实用,其中包括:服务注册/发现、健康检查、Key/Value存储、多数据中心和分布式一致性保证等特性。Consul本身只是一个二进制的可执行文件,所以安装和部署都非常简单,官网地址,https://www.consul.io/

二、Consul特性:

1.服务注册/发现
为什么微服务架构下就需要做服务注册和服务发现呢?微服务的目标就是要将原来大一统的系统架构,拆分成细粒度的按功能职责分成的小系统,这样就会出现很多小的系统,部署的节点也会随之增加。试想一下,如果没有一个统一的服务组件来管理各系统间的列表,微服务架构是很难落地实现的。
Consul提供的服务注册/发现功能在数据强一致性和分区容错性上都有非常好的保证,但在集群可用性下就会稍微差一些(相比Euerka来说)

2.数据强一致性保证
Consul采用了一致性算法Raft来保证服务列表数据在数据中心中各Server下的强一致性,这样能保证同一个数据中心下不管某一台Server Down了,请求从其他Server中同样也能获取的最新的服务列表数据。数据强一致性带来的副作用是当数据在同步或者Server在选举Leader过程中,会出现集群不可用。

3.多数据中心
Consul支持多数据中心(Data Center),多个数据中心之间通过Gossip协议进行数据同步。多数据中心的好处是当某个数据中心出现故障时,其他数据中心可以继续提供服务,提升了可用性。

4.健康检查
Consul支持基本硬件资源方面的检查,如:CPU、内存、硬盘等

5.Key/Value存储
Consul支持Key/Value存储功能,可以将Consul作为配置中心使用,可以将一些公共配置信息配置到Consul,然后通过Consul提供的 HTTP API来获取对应Key的Value。

三、Consul单机配置ACL

官网下载:https://releases.hashicorp.com/consul/1.9.4/consul_1.9.4_linux_amd64.zip

1、下载解压

unzip consul_1.9.4_linux_amd64.zip -C /usr/local/consul

2、创建目录,配置ACL

mkdir -p /data/consul/

mkdir -p /data/consul.d/

cd /data/data/consul.d

touch acl.json

vim acl.json
{
  "acl_datacenter": "dc1",
  "acl_master_token": "helloword",
  "acl_default_policy": "deny",
  "acl_down_policy": "extend-cache"
}

2、启动consul并开启acl验证

consul agent -server -ui -bootstrap-expect=1 -data-dir=/data/consul/ -node=agent-one -advertise=192.168.25.128 -bind=0.0.0.0 -client=0.0.0.0 -config-dir=/data/consul.d

在这里插入图片描述

3、配置访问token

curl \
--request PUT \
--header "X-Consul-Token: helloword" \
--data \
'{
"Name": "Agent Token",
"Type": "client",
"Rules": "node \"\" { policy = \"write\" } service \"\" { policy = \"read\" }"
}' http://192.168.25.128:8500/v1/acl/creat

4、浏览器访问 http://192.168.25.128:8500/

在这里插入图片描述

配置ACL已生效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值