我是领事的新人,我尝试设置服务器 - 客户端环境。我使用以下命令和配置启动了我的服务器:
consul.exe agent -ui -config-dir=P:\Consule\config
配置文件看起来如下(" P:\ Consule \ config \ server.json")
{
"bootstrap": false,
"server": true,
"datacenter": "MyServices",
"data_dir": "P:\\Consule\\data",
"log_level": "INFO"
}
使用上述命令从命令行启动consul时的输出:
==> Starting Consul agent...
==> Consul agent running!
Version: 'v0.8.3'
Node ID: '1a244456-e725-44be-0549-33603ea7087d'
Node name: 'MYCOMPUTERNAMEA'
Datacenter: 'myservices'
Server: true (bootstrap: false)
Client Addr: 127.0.0.1 (HTTP: 8500, HTTPS: -1, DNS: 8600)
Cluster Addr: 127.0.0.1 (LAN: 8301, WAN: 8302)
Gossip encrypt: false, RPC-TLS: false, TLS-Incoming: false
Atlas: <disabled>
现在,在我的域中的另一台计算机上,我尝试使用以下命令行和配置文件运行consul客户端:
consul.exe agent -config-dir C:\Consul -bind=127.0.0.1
配置文件(&#34; C:\ Consul \ client.json&#34;)
{
"server": false,
"datacenter": "MyServices",
"data_dir": "C:\\TEMP",
"log_level": "INFO",
"start_join": ["MYCOMPUTERNAMEA"]
}
但我总是得到以下输出/错误消息:
==> Starting Consul agent...
==> Joining cluster...
==> 1 error(s) occurred:
* Failed to join <IP_OF_MYCOMPUTERNAMEA>: dial tcp <IP_OF_MYCOMPUTERNAMEA>:8301: connectex: No connection could be made because the target machine actively refused it.
有谁知道我做错了什么?
谢谢和最好的问候
答案 0 :(得分:1)
我想,原因是你的服务器只能用于127.0.0.1
ip-address,它是localhost
ip,只能从同一台服务器上获得。这可以在这里看到:
Client Addr: 127.0.0.1 (HTTP: 8500, HTTPS: -1, DNS: 8600)
Cluster Addr: 127.0.0.1 (LAN: 8301, WAN: 8302)
您必须配置服务器,使其侦听所有网络接口或某些特定接口,这些接口必须可从其他服务器获得。
尝试将client
和advertise
选项设置为0.0.0.0
(或某些特定的IP)来运行它。阅读here和here。
您可能必须从客户端配置中删除-bind=127.0.0.1
,因为它也可以从服务器上获取。