问题形容

在最新的docker集群上搭建docker swarm集群之后,每个节点的docker服务都呈现了找不到内核参数net.ipv4.vs.expire_nodest_conn的谬误。

在任意节点上,应用service docker status -lsystemctl status docker -lcat /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,发现错误曾经隐没。