我的机器上有 nomad 和 consul 的设置。
我用游牧工作启动了一项服务,并成功注册了它。
我的问题是关于 IP 解析:
- 在 Nomad UI 中,我可以看到 IP 10.0.75.1
- 在 Consul UI 中,在服务发现中,我可以看到 IP 10.0.75.1
- 在 consul 健康检查中,使用的 IP 是不同的172.31 .194.209
两个 IP 都是很好的主机 IP,但我的问题是服务只回答10.0.75.1。
我的意思并不是真的试图让该服务正常工作,因为我可以通过在171.31.194.209上设置不同的配置来解决这个问题。
我想了解的是consul 健康检查如何解析其主机 IP,在我的情况下解析为与 Nomad/Consul-UI 不同的 IP。一种强制解决该决议的方法也很棒。
请注意,健康检查是由 Nomad 使用network_mode = host设置的
一些配置:
CONSUL
{
"ui": true,
"data_dir": "C:\\Users\\foo\\consul\\data",
"client_addr": "10.0.75.1",
"node_name": "foonode",
"server": true,
"bind_addr": "10.0.75.1",
"ports": {
"http": 8500
},
"bootstrap": true,
"bootstrap_expect": 1,
"datacenter": "local",
"node_meta": {
"user": "foo"
}
}
游牧民族
name = "foonode"
bind_addr = "10.0.75.1"
datacenter = "local"
data_dir = "C:\\Users\\foo\\nomad\\data"
server {
enabled = true
bootstrap_expect = 1
}
client {
enabled = true
options {
"driver.raw_exec.enable" = "1"
}
meta {
user = "foo"
}
}
consul {
address = "http://10.0.75.1:8500"
}