У меня есть классическая сегментированная сеть (сеть DMZ и внутренняя сеть LAN с маршрутизатором / межсетевым экраном между ними) и кластерное соединение Docker Swarm на 3 узла, все менеджеры (Dm).

В настоящее время мы размещаем узлы менеджера докеров следующим образом (посмотрите на «Dm's» в DMZ):

           |  / \
Internet: \|/  |
----------------------------------------------------
DMZ     : Dm Dm Dm
----------------------------------------------------
LAN     : (some non containerized backend services)

Я хотел узнать о реальной выгоде инвестирования в расширение этого единого кластера за счет дополнительных узлов в качестве рабочих (Dw) в DMZ и перемещения менеджеров (Dm) внутри локальной сети, например:

           |  / \
Internet: \|/  |
----------------------------------------------------
DMZ     : Dw Dw
----------------------------------------------------
LAN     : Dm Dm Dm + (some non containerized backend services)

Мое обоснование для изменения:

  1. Как уже упоминалось, избегайте наличия узлов менеджера докеров в DMZ, вместо этого переместите ваших менеджеров во внутреннюю локальную сеть и поместите 2 рабочих в DMZ.
  2. Разместите контейнеры обратного или прямого прокси в рабочих узлах, чтобы они, как обычно, слушали запрос в DMZ; Поместите серверы приложений или NoSQL-кэширование в менеджеры, чтобы они были во внутренней локальной сети, как обычно.
  3. Даже если вы добавляете два дополнительных узла (рабочих в демилитаризованной зоне), по причинам высокой доступности не используйте менее 3 управляющих узлов. Если они делают наоборот: добавьте больше рабочих узлов во внутреннюю локальную сеть, чтобы ваши менеджеры вообще не запускали какой-либо контейнер.

Имеют ли мои очки смысл? Если все в порядке, согласны ли вы с предыдущим опытом (так вы используете Docker Swarm)? Есть потенциальные проблемы?

0