linkerd实战(6)dtab规则存储到consul

概述
上文我们使用了consul作为服务注册和发现中间件,然后将namerd配置为由consul来进行服务查询。但是路由规则dtab仍然存储在namerd的内存中,每次重启namerd之后都需要通过namerctl来创建规则。接下来我们示例如何将dtab路由规则存储到consul kv中。

Namerd配置
1、修改namerd.yaml配置文件
$ vi config\namerd.yaml
storage:
# storage配置,将inMemory改为consul
# kind: io.l5d.inMemory
kind: io.l5d.consul
#consul host
host: 127.0.0.1
#consul port
port: 8500
#在consul kv中的前缀
pathPrefix: /namerd/dtabs

2、重启namerd服务
$./namerd config/namerd.yaml

3、创建dtab规则,我们可以直接在consul kv中创建,也可以通过namerctl创建
$ ./namerctl dtab create web config/dtab-consul-config --base-url http://127.0.0.1:4180
Created web

4、打开consul 管理页,我们看到规则在consul kv中被创建了
我们看到也可以在consul管理页编辑和删除规则。

4、打开namerd管理页,我们看到规则被正确加载了。
5、测试访问
$ curl -H "Host:test" http://127.0.0.1:4140
It works!

6、重启namerd,可以看到规则依旧从consul加载。

配置详解
Consul
kind: io.l5d.consul
dtab存储在Consul KV storage。
默认值
说明
host
localhost
consul api 主机名或ip
port
8500
consul api 端口
pathPrefix
/namerd/dtabs
dtab存储的kv前缀
token
no auth
API的认证token
datacenter
uses agent’s datacenter
指定consul的数据中心
readConsistencyMode
default
读模型 Consul API consistency modes  例如 default, stale and consistent
writeConsistencyMode
default
写模型 Consul API consistency modes  例如 default, stale and consistent
failFast
false
如设置 false,禁用failfast,增加Consul Client的错误。在agent模式下设置 false,直接访问高可用集群API设置 true 
backoff
exponential backoff from 1ms to 1min
补偿算法,See  retry backoff
tls
no tls
使用tls链接consul。 see  Consul Encryption  and  TLS .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值