Я использую Плетение сети для подключения моих контейнеров Docker к разным хостам. Weave использует «Fast Datapath», который обрабатывает маршрутизацию в пространстве ядра (внутри OVS (Открыть vSwitch) Модуль, как показано на схеме ниже.)
Чтобы лучше понять, как Weave маршрутизирует трафик, я хотел бы увидеть записи маршрутизации модуля OVS. Есть команды вроде ovs-vsctl show
который «печатает краткий обзор содержимого базы данных», но это не сработало. Похоже, что Weave запускает собственный экземпляр OVS, к которому нельзя получить доступ с помощью этой команды.
Я также попытался проверить Weave с помощью
weave status [targets | connections | peers | dns | ipam]
команды, но они также не показали никакой подробной информации о маршрутизации.
Итак, кто-нибудь знает, как увидеть таблицу маршрутизации, которую Weave использует, чтобы решить, куда направлять пакеты, предназначенные для определенного контейнера докеров?
Чтобы увидеть потоки ("маршруты"), которые Weave Net устанавливает в канал данных openvswitch
Вы можете запустить weave report
. Потоки перечислены под .Router.OverlayDiagnostics.fastdp.Flows
поле.
Похоже, что Weave запускает собственный экземпляр OVS, к которому нельзя получить доступ с помощью этой команды.
Да, Weave Net не использует модули пользовательского пространства OVS. Он полагается только на openvswitch
модуль ядра и друзья (vxlan
). Видеть http://openvswitch.org/support/ovscon2016/8/0935-pumputis.pdf или https://www.youtube.com/watch?v=cKN_oaRX8Vc Больше подробностей