主要原因:系统线程数满导致阿里云terway网络插件一直启动失败,进而导致节点频繁处于Node became not ready,pod状态检测一直出错,日志报PLEG is not healthy,进一步造成该节点调度和网络都出现问题。

查看/var/log/message

在这里插入图片描述

解决方法

1、docker引擎需要重新加载cni插件才可以恢复。重启docker或重启服务器,重启kubelet没用
2、查看当前系统线程数设置(网上很多文章说是进程数,请仔细甄别)

cat /proc/sys/kernel/pid_max
32768
sysctl kernel.pid_max
查看系统线程数:ps -efL|wc -l

2.1、临时更改

sysctl -w kernel.pid_max=65535 或 echo 65535 > /proc/sys/kernel/pid_max

2.2、永久更改

echo "kernel.pid_max=65535" >> /etc/sysctl.conf
sysctl -p

总结

因为某些pod程序大量创建线程数导致系统线程数被占满
加上系统线程数监控,提前发现并解决问题

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐