我有一本食谱,它将完全配置一个客户端节点来使用领事,除了将客户机加入到集群之外。以下命令失败:
execute "join consul" do
command "/usr/local/bin/consul join #{consul_server}"
action :nothing
end但是,我认为在实例本身上运行相同的命令是在食谱失败之后运行的:
/usr/local/bin/consul join server-001.flapjacks.com该服务是通过一个systemd脚本设置的,该脚本将配置设置为: /etc/consul.d
[Unit]
Description="HashiCorp Consul - A service mesh solution"
Documentation=https://www.consul.io/
Requires=network-online.target
After=network-online.target
ConditionFileNotEmpty=/etc/consul.d/consul.hcl
[Service]
User=root
Group=root
ExecStart=/usr/local/bin/consul agent -config-dir /etc/consul.d
ExecReload=/usr/local/bin/consul reload
KillMode=process
Restart=on-failure
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target当检查时,服务正在正常运行。
执行资源由模板资源触发:
template '/etc/consul.d/webserver.json' do
source 'webserver.json.erb'
owner 'root'
group 'root'
mode '0644'
action :create
notifies :restart, resources(:service => "consul")
notifies :run, "execute[join consul]"
end主厨运行输出错误如下:
STDERR: Error joining address 'server-001.flapjacks.com': Put http://127.0.0.1:8500/v1/agent/join/server-001.flapjacks.com: dial tcp 127.0.0.1:8500: connect: connection refused
Failed to join any nodes.对为什么这不起作用有什么想法吗?
发布于 2019-01-07 08:57:37
这表明执政官本身在节点上没有运行。我看到这可能是因为您确实通知了领事,在模板更改上重新启动,并且两个通知-领事重新启动-连接执行并行运行,因此连接命令失败抱怨领事不能到达本地主机本身。
参考资料:

https://stackoverflow.com/questions/53998088
复制相似问题