我正在努力学习和烧瓶一起玩 领事 </跨度> 。
这是我的/etc/consul.d/consul.json
{ “data_dir”:“/ opt / 领事 </跨度> /数据”, “服务器”:是的, “bind_addr”:“0.0.0.0”, “bootstrap_expect”:1 , “ui”:是的, “域名”:“bino.inc”, “client_addr”:“0.0.0.0”, “node_name”:“node01”}
用/ usr / bin /运行 领事 </跨度> agent -config-dir = / etc / consul.d /
使用dig @ 127.0.0.1 -p 8600node01 进行测试
通过DNS接口查询Consul中的注册服务需要服务FQDN的特定结构,如此链接中所述的标准查找( Conusl DNS stadard查找 )
在Consul注册的服务的FQDN必须采用以下形式:
<service>.service[.datacenter].<domain>
哪里 <service> 是您在Consul注册的服务的名称 webapp 要么 webserver 。该 <domain> 是您所定义的领事域名 consul.json 。 [datacenter] 是可选的,Consul服务器将返回它所属的数据中心的服务。因为你还没有定义它 consul.json 它的 dc1 。
<service>
webapp
webserver
<domain>
consul.json
[datacenter]
dc1
所以你的 dig 查询应如下所示:
dig
dig @127.0.0.1 -p 8600 webapp.service.bino.inc
要么
dig @127.0.0.1 -p 8600 webserver.service.bino.inc
您可以尝试将数据中心添加到FQDN。您的 dig 查询应如下所示,并且在运行单个DC单节点Consul集群时应返回与上述相同的响应:
dig @127.0.0.1 -p 8600 webserver.service.dc1.bino.inc
我希望这有助于解决您的问题。