Как мне развернуть Traefik в моей среде?
У меня есть набор приложений, которые мы сейчас переводим на более "облачную" архитектуру. Мы начинаем с перемещения их в контейнеры (Docker в Windows), и в рамках этого мы надеемся использовать прокси-сервер с балансировкой нагрузки для обработки трафика в контейнерах.
Рассмотрев несколько вариантов, мы надеемся использовать Traefik в качестве прокси-сервера для балансировки нагрузки в этой итерации нашей архитектуры. Может быть или не быть важно отметить, что весь трафик через Traefik в этой настройке будет внутренним; он не будет обслуживать внешний трафик. Я также работаю в собственной ситуации; из-за проблем с контрактом такие облачные провайдеры, как AWS и Azure, в настоящее время мне недоступны.
Теперь мой вопрос, как лучше всего развернуть Traefik. Я вижу как минимум два варианта:
Во-первых, Traefik может быть развернут на отдельных хостах с балансировкой нагрузки. Я мог бы использовать циклический DNS для этих хостов и пропускать трафик через них.
Во-вторых, Traefik может быть развернут на каждом хосте моего приложения. В этой настройке Traefik был бы скорее "дополнительной машиной", и приложения на каждом хосте использовали бы локальный экземпляр Traefik в качестве прокси для служб других хостов.
Проблема, которую я вижу, состоит в том, что ни в одной из этих установок не достигается истинно высокая доступность. В любом случае сбой экземпляра Traefik приведет к недоступности хотя бы для некоторых служб. В первом случае, циклический DNS и короткий TTL могут смягчить это?
Можно ли избежать недостатка высокой доступности? Есть ли альтернативный способ разработки этого решения? Предлагает ли сам Traefik руководство по структурированию этого решения?