问题形容
在最新的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_vsservice docker restart
再次查看docker日志service docker status -l
,发现错误曾经隐没。