consul - 将客户端连接到服务器

时间:2017-05-16 11:56:48

标签: service microservices consul service-discovery

我是领事的新人,我尝试设置服务器 - 客户端环境。我使用以下命令和配置启动了我的服务器:

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.

有谁知道我做错了什么?

谢谢和最好的问候

1 个答案:

答案 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)

您必须配置服务器,使其侦听所有网络接口或某些特定接口,这些接口必须可从其他服务器获得。

尝试将clientadvertise选项设置为0.0.0.0(或某些特定的IP)来运行它。阅读herehere

您可能必须从客户端配置中删除-bind=127.0.0.1,因为它也可以从服务器上获取。

相关问题