2015-11-12 3 views
1

Для присоединения нового агента к группе членов консула необходимо знать IP хотя бы одного существующего участника. Мне нужно поддерживать сценарий, в котором я не знаю IP-адресов для любых существующих членов группы. В этой ситуации вмешательство человека невозможно, так как открытие службы должно выполняться полностью автоматически.Консул: присоединяйтесь, не зная IP существующих членов

Моя идея решить эту проблему: я мог бы отправить сообщение через широковещательную или многоадресную рассылку на другие компьютеры в сети. На каждом компьютере размещается пользовательская служба, которую я буду реализовывать. Эта служба отвечает на это специальное широковещательное/многоадресное сообщение (например: «Поиск существующих членов кластера») с IP-адресом, который прослушивает консул. Затем служба получит один или несколько ответов из сети и использует один из IP-адресов для присоединения к кластеру.

У кого-нибудь есть идея решить эту проблему? Существуют ли существующие библиотеки для решения этой проблемы?

+0

Предложение: вы связали 'consul' как свою единственную ссылку на теги, у нее есть 31 последователи, это, скорее всего, вы не получите ответа на этот вопрос. Есть ли еще теги, которые вы можете добавить, редактируя свой вопрос? – AGE

+0

спасибо за подсказку, добавили более подходящие теги – TheClayman

+0

Приветствую вас, вы считали, что задали этот вопрос в Server Fault? http://serverfault.com/ – AGE

ответ

3

Hashicorp предоставляет бесплатные услуги в рамках Атласа сделать только что: https://www.consul.io/docs/guides/atlas.html

Другие более простые способы сделать это без таможенной службы:

  • Expose серверы Consul в сторонних DNS что серверы могут получить доступ, прежде чем присоединяться к кластеру Consul. Кроме того, у вас есть служба http, которая отображается, которая возвращает IP-адрес, чтобы присоединиться к нему, и использовать завиток или что-то, чтобы получить IP-адрес. Обновляйте IP-адрес с помощью Consul.
  • Если вы работаете в AWS или аналогичной службе, которая предоставляет метаданные об машинах, используйте эту службу, чтобы пометить ваши поля Consul, а затем использовать функцию запроса службы, чтобы сделать что-то вроде «найти серверы с тегом Consul и запустить», и передать их в -join.