Меня немного смущает использование сетевых мостов в настройках docker / k8s.
Насколько я понимаю, сетевой мост работает исключительно на уровне 2 и используется для объединения двух сетевых сегментов в один широковещательный домен.
Читая о docker / K8s, я вижу сетевые мосты, используемые для связывания сетевой карты хоста (например, eth0) с внутренней сетевой картой docker / pod (veth0), например, в пределах одного хоста:
eth0 [192.168.1.100] <----> docker0(bridge)[172.17.0.1] <----> veth0 [172.17.0.2]
Моя первая путаница заключается в том, что кажется странным связывать две отдельные подсети с устройством уровня 2, разве нам не нужно маршрутизировать из сети 192 ... в сеть 172 ... или это не имеет значения из-за моста работает только на уровне 2? Например. ему не важны фактические IP-адреса
Моя вторая мысль заключается в том, что, судя по таблице маршрутизации на моем хосте докеров, определен маршрут для достижения сети 172.17.0.0:
172.17.0.0/16 dev docker0
Итак, зачем нам мостовое устройство, не может ли хост просто маршрутизировать пакеты от eth0 непосредственно на сетевые адаптеры контейнера докеров?
Мне здесь явно чего-то не хватает, поэтому заранее извиняюсь. Любая помощь приветствуется.