sysctl: cannot stat /proc/sys/net/netfilter/nf_conntrack_max: No such file or directory

我优化k8s内核参数的时候设置了如下参数

cat > kubernetes.conf <<EOF
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
net.ipv4.tcp_tw_recycle=0
vm.swappiness=0
vm.overcommit_memory=1
vm.panic_on_oom=0
fs.inotify.max_user_instances=8192
fs.inotify.max_user_watches=1048576
fs.file-max=52706963
fs.nr_open=52706963
net.ipv6.conf.all.disable_ipv6=1
net.netfilter.nf_conntrack_max=2310720
EOF

再执行如下命令的时候出错了

#将优化内核文件拷贝到/etc/sysctl.d/文件夹下,这样优化文件开机的时候能够被调用
cp kubernetes.conf /etc/sysctl.d/kubernetes.conf
#手动刷新,让优化文件立即生效
sysctl -p /etc/sysctl.d/kubernetes.conf

错误信息如下

sysctl: cannot stat /proc/sys/net/netfilter/nf_conntrack_max: No such file or directory

我猜应该是以下的配置生效的时候出了错了

net.netfilter.nf_conntrack_max=2310720

参考了文章
https://www.qedev.com/router/40345.html
也许是conntrack没有加载
执行如下

lsmod |grep conntrack

如何返回是空,表示没有加载,那执行如下命令加载即可

modprobe ip_conntrack

再重新执行验证

[root@k8s-node-n2 ~]# lsmod |grep conntrack
nf_conntrack_ipv4 20480 0
nf_defrag_ipv4 16384 1 nf_conntrack_ipv4
nf_conntrack 114688 1 nf_conntrack_ipv4

再重新手动刷新使文件生效就没有问题了

sysctl -p /etc/sysctl.d/kubernetes.conf

Logo

开源、云原生的融合云平台

更多推荐