0

我的机器上有 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"
}
4

1 回答 1

0

只是猜测,但您的机器有多个 IP 地址。其中之一是 171 地址。将“advertise_addr”:“10.0.75.1”添加到您的 consul.json 配置帮助?

于 2018-01-10T21:34:38.250 回答