一次Kubernetes Node节点Down机故障复盘
文章目录
复盘
线上服务突然会时不时报一下503
错误,kubect top nodes
发现集群有一个Node
节点状态<unknown>
了。
于是SSH
连上问题节点,提示一大堆错误信息。
查看进程,发现会报-bash: fork: Cannot allocate memory
错误
本以为是内存用完了呢,查看内存发现还有很多剩余。
查了一下资料说是进程数量达到内核最大限止了,于是 ps -eLf|wc -l
一下,好家伙确实很多。
于是是果断增把进程数限制增加了一倍
|
|
问题解决。
总结
- 系统最大进程数限制默认为
32768
, 这个数量其实也不小了,但对于Kubernetes Node节点因为需要跑很多容器,所以还需要跟自己服务的情况适当加大一些,并且应该对进程数量使用情况做一下监控。
|
|
- 另外kubelt 最好也启用一下资源预留,防止系统资源不足时影响系统本身及Kubernetes 自身管理进程的正常工作,导致整个节点都处于不用状态。
参考
https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/
文章作者 XniLe
上次更新 2023-10-10