Лучшие способы обнаружения серверов в публичном облаке?
Я хочу, чтобы образ сервера 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, который вам предлагает ваш облачный провайдер. Попытка сделать это у хозяев это немного "каменно-топорная" территория. Используйте красивую космическую инфраструктуру, за которую вы платите.