我正在使用Weave Net跨不同主机连接我的 Docker 容器。Weave 正在使用“Fast Datapath”来处理内核空间中的路由(在OVS(Open vSwitch)模块内部,如下图所示。)
为了更好地了解 Weave 如何路由流量,我想查看 OVS 模块的路由条目。有诸如ovs-vsctl show
“打印数据库内容的简要概述”之类的命令,但这不起作用。似乎 Weave 正在运行自己的 OVS 实例,无法使用此命令访问该实例。
我也试过用
weave status [targets | connections | peers | dns | ipam]
命令,但也没有显示任何详细的路由信息。
那么,有谁知道如何查看 weave 用来决定将发往某个 docker 容器的数据包路由到何处的路由表?
要查看 Weave Net 安装到您的数据路径中的流(“路由”),
openvswitch
您可以运行weave report
. 流列在该.Router.OverlayDiagnostics.fastdp.Flows
字段下。是的,Weave Net 不使用 OVS 用户空间模块。它只依赖于
openvswitch
内核模块和朋友(vxlan
)。有关详细信息,请参阅http://openvswitch.org/support/ovscon2016/8/0935-pumputis.pdf或https://www.youtube.com/watch?v=cKN_oaRX8Vc