在k8s集群重启了一个节点,该节点启动以后在docker日志里面有如下警告信息
WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted
我们在安装k8s集群的时候就已经将swap注释掉了,按道理不应该再有swap相关的警告或者错误信息
后面经过分析,出现这种问题只会在ubuntu和debian的操作系统上,原因是系统默认没有开启swap限制
解决上述问题有两种方式
1.调整swappiness参数来禁用
可是使用以下命令来临时生效
echo 0 > /proc/sys/vm/swappiness
如果需要永久生效则需要修改sysctl.conf
vi /etc/sysctl.conf #最下面添加 vm.swappiness=0
然后执行命令使其生效
sysctl -p
2.修改grup配置禁用swap
/etc/default/grub file #添加一行 GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
然后update-grub更新即可。