dockerswarm环境下找不到内核参数net.ipv4.vs.expire_nodest_conn的错误解决办法

问题描述

在最新的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_vs

service docker restart

再次查看docker日志service docker status -l,发现错误已经消失。

阅读 888

推荐阅读