У меня есть настройка с кочевником и консулом на моем компьютере.
Я запускаю службу с работой кочевника, и она успешно зарегистрирована.
Моя проблема связана с разрешением IP:
- в пользовательском интерфейсе Nomad я вижу IP 10.0.75.1
- в пользовательском интерфейсе Consul при обнаружении служб я вижу IP 10.0.75.1
- в consul healthcheck используемый IP это другой 172.31.194.209
Оба IP-адреса являются хорошими IP-адресами хоста, но моя проблема заключается в том, что служба отвечает только на 10.0.75.1.
Моя точка зрения на самом деле не в том, чтобы эта служба работала, поскольку я мог бы обойти проблему, установив другую конфигурацию для ответа на 171.31.194.209.
Я бы хотел понять, как проверка работоспособности консула разрешает IP-адрес своего хоста, а в моем случае - другой, чем пользовательские интерфейсы Nomad / Consul. Также был бы отличный способ заставить это разрешение.
Обратите внимание, что проверка работоспособности настраивается Nomad с помощью network_mode = host.
Некоторые конфигурации:
КОНСУЛ
{
"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"
}
}
NOMAD
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"
}
NOMAD_IP_foo
, гдеfoo
- это имя, которое вы присвоили порту задачи. - person Joachim de Groot   schedule 03.03.2018