Docker перекрывает сеть между различными центрами обработки данных
Все. Я учу Докер. Но до сих пор не могу найти никаких документов о том, как входящая сеть Docker соединяет несколько отдельных хостов.
У меня есть 2 виртуальные машины в разных центрах обработки данных, и я хочу создать кластер роя на них. Возможно ли, что установленная по умолчанию входная сеть делает контейнеры на vm1 видимыми для контейнеров на vm2 внутри некоторой оверлейной сети? Или и vm1, и vm2 должны находиться в одной локальной сети?
2 ответа
В общем, не рекомендуется охватывать центры обработки данных в Swarm. Вы можете охватить зоны доступности (центры обработки данных в той же географической области с задержкой ~10 мс или менее), но между регионами должны быть свои собственные рои. Это на 100% задержка между трафиком между виртуальными сетями (драйвер оверлея) и согласованный трафик Raft между менеджерами Swarm. Нет никаких жестких ограничений на задержку, но вы, вероятно, не хотите, чтобы в одном Swarm вы пытались предотвратить скачкообразный трафик в ваших приложениях между центрами обработки данных... если только центры обработки данных не имеют очень низкую задержку.
Дополнительную информацию можно найти на сайте Docker Success (поиск по наложению Swarm и фильтр по ссылке), поскольку требования Docker EE для Swarm в целом такие же, как и у Docker CE.
Другое требование между узлами в Swarm состоит в том, что у них есть открытые порты между публичными IP-адресами друг друга. В идеале, между узлами нет NAT.
Если оба хоста являются частью одного и того же кластера Docker Swarm, то с точки зрения Docker не имеет значения, что они находятся в разных центрах обработки данных. Маршрутизация между сервисами будет просто работать. Например, service1 на хосте 1 сможет получить доступ к service2 в другом центре обработки данных. Однако вам может потребоваться учесть любые возможные большие задержки, которые могут возникнуть из-за физического расстояния хостов.
Это также та же самая история с входной сетью. Неважно, что есть 2 дата-центра. Любой узел кластера роя будет участвовать в нем и направлять входящие запросы на правильный сервис / хост.