小编nth*_*ign的帖子

Docker Swarm 管理器之间的高网络 I/O

网络流量

我们使用 3 个管理节点和 16 个工作节点运行 Docker Swarm。三个管理节点中的两个节点之间的网络 I/O 非常高。为了说明这一点,iftop以下是三个管理器节点的输出:

vm71 (10.0.0.131)

vm71                 => 10.0.0.130            39.3Mb  47.5Mb  49.3Mb
                     <=                        802Kb  1.03Mb  1.07Mb
Run Code Online (Sandbox Code Playgroud)

vm70 (10.0.0.130)

vm70                 => 10.0.0.131             798Kb  1.00Mb  1.00Mb
                     <=                       40.9Mb  44.8Mb  44.8Mb
Run Code Online (Sandbox Code Playgroud)

vm75 (10.0.0.135)

vm75                 => 10.0.0.131            9.50Kb  10.1Kb  9.51Kb
                     <=                       7.83Kb  8.08Kb  7.56Kb
Run Code Online (Sandbox Code Playgroud)

如上所示,vm70 和 vm71 之间的流量大约是 vm75 和其他两个管理器之间的流量的 4,000 倍。我们将规则设置为在任何 swarm 管理器上不运行容器。这通过docker stats在每个人身上运行得到证实。

按流程联网

下一个明显的问题是哪些进程正在生成这个网络 I/O。的输出netstat -tup如下。我只显示与iftop.

tcp6       0     46 vm71:2377               10.0.0.130:39316        ESTABLISHED 791/dockerd
Run Code Online (Sandbox Code Playgroud)

请注意,这是 tcp6 流量。

我们被难住了。为什么我们会看到这些管理节点之间的流量如此之大?如果我们降级然后提升管理器节点,流量会清理一段时间。但是,它最终会再次增加。这可能是什么原因造成的?

networking docker docker-swarm

5
推荐指数
1
解决办法
116
查看次数

标签 统计

docker ×1

docker-swarm ×1

networking ×1