Docker Swarm с внешним балансировщиком нагрузки - как получить коллективную проверку здоровья - PullRequest
0 голосов
/ 29 мая 2018

Я надеюсь, что есть несколько экспертов по Docker Swarm, которые настроили балансировщик нагрузки для настройки многоузловой Docker Swarm.В такой упрощенной архитектуре, если подсистеме балансировки нагрузки необходимо определить, не работает ли узел менеджера, и остановить маршрутизацию трафика на него, какова «лучшая практика» для этого?Предоставляет ли рой Docker конечную точку работоспособности (api), которую можно протестировать для каждого управляющего узла?Я новичок в этом, и, похоже, не так много описаний того, что я ищу.Заранее спасибо

1 Ответ

0 голосов
/ 30 мая 2018

Есть конечная точка метрики механизма, а затем API api , но я не думаю, что это то, что вам нужно для балансировщика нагрузки приложения.

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

Так работает AWS ELB, например, из коробки.

Если бы у вас был опубликованный сервис на порту 80 в Swarm, вы бы настроили свой ELB так, чтобы он указывал на узлы, которые вы хотите обрабатывать входящий трафик, и заставлял их ожидать стабильного возврата 200/300 на этих узлах.Он удалит узлы из пула, если они возвращают что-то другое или не отвечают.

Тогда вы можете использовать полное решение для мониторинга, которое проверяет состояние узлов и при необходимости реагирует на такие проблемы, как замена узлов.

...