Я использую Weave Net для подключения моих контейнеров Docker к разным хостам. Weave использует «Fast Datapath», который обрабатывает маршрутизацию в пространстве ядра (внутри модуля OVS (Open vSwitch) , как показано на диаграмме ниже).
Чтобы лучше понять суть как Weave маршрутизирует трафик, хотелось бы увидеть записи маршрутизации модуля OVS. Существуют такие команды, как ovs-vsctl show
, которые «выводят краткий обзор содержимого базы данных», но это не сработало. Похоже, Weave запускает собственный экземпляр OVS, к которому нельзя получить доступ с помощью этой команды.
Я также пробовал проверить Weave с помощью команд
weave status [targets | connections | peers | dns | ipam]
, но они также не показали никакой подробной информации о маршрутизации.
Итак, Кто-нибудь знает, как увидеть таблицу маршрутизации, которую Weave использует, чтобы решить, куда направлять пакеты, предназначенные для определенного контейнера докеров?
Чтобы увидеть потоки ("маршруты"), которые Weave Net устанавливает в канал данных openvswitch
, вы можете запустить рапорт плетения
. Потоки перечислены под .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 для получения дополнительной информации. подробнее