Ноды Nomad удаляют сервисы друг друга из Consul

У меня есть два узла кластера Nomad и экземпляр Consul, чтобы задания могли регистрировать службы для подключения.

Однако службы продолжают синхронизироваться и отменять регистрацию. Вот что у меня есть из логов Консула:

      2021-01-26T14:49:59.174Z [INFO]  agent: Synced check: check=_nomad-check-dc23801467b8a65a4fd82311c2606724a180065c
2021-01-26T14:50:00.072Z [INFO]  agent: Synced check: check=_nomad-check-1783c554d9ee0a25d52532f4178c392e931e4bb1
2021-01-26T14:50:04.511Z [INFO]  agent: Synced service: service=_nomad-task-e8d2b77b-3bf5-96c1-8323-63b6151e2cf3-lb0-lb0-admin-admin
2021-01-26T14:50:09.962Z [INFO]  agent: Deregistered service: service=_nomad-task-e8d2b77b-3bf5-96c1-8323-63b6151e2cf3-lb0-lb0-admin-admin
2021-01-26T14:50:34.554Z [INFO]  agent: Synced service: service=_nomad-task-e8d2b77b-3bf5-96c1-8323-63b6151e2cf3-lb0-lb0-admin-admin
2021-01-26T14:50:39.984Z [INFO]  agent: Deregistered service: service=_nomad-task-e8d2b77b-3bf5-96c1-8323-63b6151e2cf3-lb0-lb0-admin-admin
2021-01-26T14:51:04.589Z [INFO]  agent: Synced service: service=_nomad-task-e8d2b77b-3bf5-96c1-8323-63b6151e2cf3-lb0-lb0-admin-admin
2021-01-26T14:51:10.009Z [INFO]  agent: Deregistered service: service=_nomad-task-e8d2b77b-3bf5-96c1-8323-63b6151e2cf3-lb0-lb0-admin-admin

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

Узел А:

      2021-01-28T15:58:55.519+0100 [DEBUG] consul.sync: sync complete: registered_services=3 deregistered_services=1 registered_checks=0 deregistered_checks=0

УзелБ:

      2021-01-28T15:58:59.037+0100 [DEBUG] consul.sync: sync complete: registered_services=1 deregistered_services=3 registered_checks=0 deregistered_checks=0

Действительно, на NodeA выполняется 3 задания, а на NodeB — 1. Кажется, что оба узла отменяют изменения, внесенные другим.

      Name               Address       Port  Status  Leader  Protocol  Build  Datacenter  Region
NodeA              198.51.100.1  4648  alive   false   2         1.0.2  us1         us
NodeB              198.51.100.2  4648  alive   true    2         1.0.2  us1         us

Я что-то пропустил в своей конфигурации? Как это предотвратить?

1 ответ

Такое поведение на самом деле отображено в документации . Я просто упустил это из виду:

Важным требованием является то, что каждый агент Nomad общается с уникальным агентом Consul. Агенты Nomad должны быть настроены для взаимодействия с агентами Consul, а не с серверами Consul. Если вы наблюдаете за хлопающими службами, у вас может быть несколько агентов Nomad, общающихся с одним и тем же агентом Consul. Поэтому избегайте настройки Nomad для связи с Consul через DNS, например consul.service.consul.

Другие вопросы по тегам