Консул не регистрирует услуги, когда дело доходит до

В моих конфигурациях определения сервисов хранятся в /etc/consul.d/server.

Консул запускается следующей командой:

consul agent -config-dir /etc/consul.d/server

При запуске консула ни одна из служб не регистрируется. Однако одни и те же службы можно зарегистрировать с помощью веб-API с одинаковыми файлами определений.

В чем проблема с несколькими определениями службы, поскольку они не регистрируются?


person doptimusprime    schedule 26.03.2016    source источник


Ответы (1)


У вас есть несколько файлов? Если это так -> убедитесь, что все они заканчиваются на .json.

Также при загрузке конфигурации Consul загружает конфигурацию из файлов и каталогов в лексическом порядке. Например, файл конфигурации basic_config.json будет обработан раньше, чем extra_config.json. Конфигурация, указанная позже, будет объединена с конфигурацией, указанной ранее. В большинстве случаев «объединить» означает, что более поздняя версия переопределит более раннюю. В некоторых случаях, таких как обработчики событий, слияние добавляет обработчики к существующей конфигурации. Точное поведение слияния указано для каждого параметра в документах.

https://www.consul.io/docs/agent/options.html

В противном случае попробуйте поместить все определения ваших сервисов в один файл json.

используя ключ services в файле конфигурации. (не множественное число S)

{
  "services": [
    {
      "id": "red0",
      "name": "redis",
      "address": "127.0.0.1",
      "port": 6000,
    },
    {
      "id": "red1",
      "name": "redis",
      "address": "127.0.0.1",
      "port": 7000,
    },
  ]
}
person kamger    schedule 03.04.2016