Лучшие способы обнаружения серверов в публичном облаке?

Я хочу, чтобы образ сервера Ubuntu работал в общедоступном облаке, который обнаруживает, когда другие серверы с того же образа подключаются к сети. Я придумал этот список решений, но я не уверен, что лучше?

Возможные решения:

  • Многоадресная рассылка уровня 2 с протоколом обнаружения канального уровня (LLDP) во многом похожа на CDP
  • Присвойте локальный адрес ссылки самому себе, а затем отправьте трансляцию
  • Avahi (реализация zeroconf в linux, очень похоже на Bonjour от Apple)
  • Используйте сервер отслеживания серверов DHCP

Более возможные решения: (серверы уже должны иметь IP-адрес)

  • SNMP трансляция / многоадресная рассылка
  • Многоадресные сообщения SSDP (простой протокол обнаружения услуг) (используется в UPnP)
  • Я не уверен, но, возможно, м (ulticast)DNS или DNS-SD (обнаружение служб)

Есть ли еще способы обнаружить узлы? Что обычно делается в больших облачных кластерах?

2 ответа

Решение

Поставщики общедоступных облаков обычно не поддерживают методы широковещательной / многоадресной передачи, поэтому любое решение, основанное на этих методах, не будет "лучшим". По крайней мере, для значений "лучший", которые включают в себя важные компоненты независимости платформы.

В Unicast-Land у вас есть куча вариантов, и многое зависит от того, что именно вы хотите делать с этими изображениями, и какой сервис на самом деле выполняет обнаружение.

Если вы полностью работаете в рамках одного поставщика облачной инфраструктуры, общий способ - спросить инфраструктуру о том, что там есть. Вы получите список серверов с IP-адресом, которые затем сможете использовать для создания динамического кластера.

Если вы по какой-то причине не можете этого сделать, возможно, вы работаете с несколькими провайдерами или вам нужен список известных живых хостов, вам придется перейти к какому-то прикладному методу построения динамического кластера., Методы для этого различны, но я видел:

  • Предоставьте несколько подсказок для узлов, чтобы проверить, когда они подключаются к сети, и приложение поддерживает список проверок и делает пульс, чтобы быть уверенным, что в списке есть только живые узлы. Думайте об этом как о торрент-сеялках.
  • Служба регистрации с реальной службой регистрации службы, из которых вы перечислили несколько.
  • Служба регистрации с помощью встроенной службы регистрации, например, что-то вымощенное из Redis.

Что лучше для вас, зависит от того, что вы делаете. Но сначала зайдите на поиски API, и только представьтесь, если они вам не подходят.

Насколько я понимаю, правильный способ сделать это - использовать API, который вам предлагает ваш облачный провайдер. Попытка сделать это у хозяев это немного "каменно-топорная" территория. Используйте красивую космическую инфраструктуру, за которую вы платите.

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