В чем разница между оверлейной сетью и мостовой сетью в докере? - PullRequest
0 голосов
/ 30 сентября 2018

Поскольку оверлейная сеть может связывать множество изолированных узлов Doam deamon друг с другом, зачем нам нужна мостовая сеть в Docker Swarm?Спасибо!

Ответы [ 2 ]

0 голосов
/ 30 сентября 2018

Проверьте это поток для понимания концептуально.

Сеть моста: Мост - это сеть по умолчанию в Docker, которая также называется Docker0.Это сеть по умолчанию, которая соединяет через межсетевой экран NAT с физическим, к которому подключен ваш хост.Но нас это не волнует, поскольку все контейнеры будут подключаться к этой сети и работать.

Если у вас запущены какие-либо контейнеры, вы можете проверить сеть моста как,

$ docker network inspect bridge

"Containers": {
        "145a2716d018c6fe8e9f93a81d88afd5a7437f0084ddb170c40761818e6d2f67": {
            "Name": "nginx",
            "EndpointID":   "ea6cfa433f41e21e572f17473c8e5f5e5d82e9f19646e66fe23abda20a3836b8",
            "MacAddress": "02:42:ac:11:00:02",
            "IPv4Address": "172.17.0.2/16",
            "IPv6Address": ""
        }
    },

Примечание. Вы можете видеть, что автоматический IP-адрес, назначенный контейнеру из подсети конфигурации IPAM.

Учтите, у вас есть несколько работающих док-станций, в которых каждый докер-хост имеет свою собственную внутреннюю частную мостовую сеть, позволяющуюконтейнеры для связи друг с другом, однако контейнеры на хосте не могут взаимодействовать друг с другом, если вы не опубликуете порты этих контейнеров и не настроите маршрутизацию самостоятельно.Здесь оверлейная сеть вступает в игру.С помощью Docker Swarm вы можете создать оверлейную сеть, которая создаст внутреннюю частную сеть, охватывающую все узлы, участвующие в сети Swarm. Мы могли бы присоединить контейнер или службу к этой сети, используя параметр сети при создании службы.Таким образом, контейнеры через узлы могут связываться по этой оверлейной сети.

$ docker network create --driver overley --subnet 10.0.9.0/24 overley_network
$ docker service create --replicas 3 --network overley_network nginx

Надеюсь, это поможет.

0 голосов
/ 30 сентября 2018

Страница наложения раскладывает это:

Когда вы инициализируете рой или присоединяете хост Docker к существующему рою, на этом хосте Docker создаются две новые сети:

  • оверлейная сеть под названием ingress, которая обрабатывает трафик управления и данных, связанный с роем сервисов.Когда вы создаете службу Swarm и не подключаете ее к пользовательской оверлейной сети, по умолчанию она подключается к входящей сети.
  • мостовая сеть с именем docker_gwbridge, которая подключает отдельного демона Docker кдругие демоны, участвующие в рое.

См. " Как это работает? Докер! Часть 2: Сеть роя ", Себастьян Касерес :

  • Мост наложения - это точка входа / выхода в сеть наложения, которую инкапсулирует VXLAN.
    Он также расширяетналожение на всех хостах, которые участвуют в этом конкретном наложении.
    Существует одна подсеть на наложение на каждом хосте с тем же именем, что и наложение сети.
  • docker_gwbridge является выходным мостом для всего трафика, который покидает кластер.
    Существует только один docker_gwbridge на хост.Транспортные потоки контейнер-контейнер не проходят через этот мост.
...