当前的架构组织如下:
- 192.168.1.10、192.168.1.11、192.168.1.12 - 带有 marathon 和 consul 服务器的 mesos master
- 192.168.1.21、192.168.1.22、192.168.1.23 - 三个带有 consul 代理的 mesos 从属设备
每台机器配置如下:
- 它有自己的 IP 地址作为 DNS 服务器
- HAPROXY 带有 consul-template,用于自动生成 haproxy.cfg
- consul-mesos 用于使用主机 IP 地址注册正在运行的 docker 容器,以避免服务从不同机器解析时在 DNS 中出现 172.1.0.1 地址
我目前遇到的问题是,当我以桥接模式启动带有服务的 docker 容器时,地址会按应有的方式由 DNS 解析(如果您有 luigi.service.consul,它将毫无问题地完成),但是当我尝试时,我会随机CURL -L http://luigi.service.consul/
得到一个503 error codes
地址,有时地址可以解析,有时则不能。
有什么想法可以调查此事吗?
我检查过/etc/resolv.conf
,不时地,我可以看到 DNS 地址更改为旧的 DNS IP 地址(8.8.8.8),我应该使用主机 IP 地址作为 DNS IP,还是需要使用领事领导地址?
我尝试调试 tcpflow,当响应为 503 时,就像等待了一段时间,就像无法解析服务一样。