我在用编织网连接不同主机上的 Docker 容器。Weave 使用“Fast Datapath”来处理内核空间中的路由(在OVS(开放虚拟交换机)模块如下图所示。)
为了更好地了解 Weave 如何路由流量,我想查看 OVS 模块的路由条目。有一些命令,例如ovs-vsctl show
“打印数据库内容的简要概述”,但这不起作用。似乎 Weave 正在运行自己的 OVS 实例,无法使用此命令访问。
我也尝试使用
weave status [targets | connections | peers | dns | ipam]
命令但也没有显示任何详细的路由信息。
那么,有人知道如何查看 weave 用来决定将发往某个 docker 容器的数据包路由到何处的路由表吗?
答案1
要查看 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更多细节