我有三个机器,如:
[consul@cjportal]$ consul members
Node Address Status Type Build Protocol DC
portal1 192.168.11.155:8301 alive client 0.7.0 2 dc1
portal0 192.168.14.100:8301 alive client 0.7.0 2 dc1
portal2 192.168.11.182:8301 alive server 0.7.0 2 dc1
并且所有3台机器都具有相同的consul配置文件,如:
{
"service":{
"name":"portal_confgen",
"tags":[
"portal"
],
"address": "127.0.0.1",
"port": 8823,
"check":{
"name":"ping",
"script":"ping -c1 192.168.11.155",
"interval":"10s"
}
}
}
并且运行consul的所有3台机器,只有服务器portal2运行consul-template,使用命令:
consul-template -config=/home/consul/consul-template/config/hosts.hcl -consul=localhost:8500
我的consul-template配置文件hosts.hcl:
template {
source = "/home/consul/consul-template/hosts.ctmpl"
destination = "/home/consul/conf/conf.d/test.conf"
}
但是当我在consul存储中更改k / v时,只有localhost portal2正确写入目标文件,远程机器portal0和portal1不起作用。我想念什么???
答案 0 :(得分:0)
您需要在所有服务器上运行consul-template。 你有什么期望?如果你只在portal2上运行consul模板,那么只有它会被更新,如果你在portal0和portal1上运行它们也会更新