问题描述
在最新的docker集群上搭建docker swarm集群之后,每个节点的docker服务都出现了找不到内核参数net.ipv4.vs.expire_nodest_conn
的错误。
在任意节点上,使用service docker status -l
或systemctl status docker -l
或cat /var/log/message | grep dockerd | grep error
,可以看到以下错误:
... level=error msg="error reading the kernel parameter net.ipv4.vs.expire_nodest_conn" error="open /proc/sys/net/ipv4/vs/expire_nodest_conn: no such file or directory"
环境如下:
- 3台CentOS7节点,OS版本:
CentOS Linux release 7.4.1708 (Core)
,内核版本:3.10.0-693.el7.x86_64
- docker版本:
19.03.12
以前老点的docker版本似乎不会报这个错。。。
解决办法
出现这个原因是因为宿主机没有加载ip_vs模块。在各个节点加载ip_vs模块后重启docker即可。
modprobe ip_vs
service docker restart
再次查看docker日志service docker status -l
,发现错误已经消失。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。