1

我有三台机器,例如:

[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 台机器都具有相同的领事配置文件,例如:

{
"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

我的领事模板配置文件,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不起作用。我错过了什么???

4

1 回答 1

0

您需要在所有服务器上运行 consul-template。你期待什么?如果您仅在 portal2 上运行 consul 模板,那么只有它会被更新,如果您将在 portal0 和 portal1 上运行它,它们也会被更新

于 2017-09-01T16:56:57.413 回答