2023年1月8日,告出
HostOomKillDetected
警报,192.168.204.66
机器配置为8C16G
内存趋势(Used:
7.998
GiB---9.927
GiB---1.934
GiB)
10:19:30.617
旧日志中断,没有异常日志10:19:33.749
新容器开始启动10:19:47.409
新容器启动完成该服务内存Limit设置为8
GiB,异常前内存使用率在7.998
GiB,且继续增长,超过资源 limit 的容器都将被 kubelet 杀死并重启。所以该服务在10:19:30
触发Limit限制,进而重启。重启有两个动作,回收旧容器,启动新容:
10:19:30
旧容器开始回收,内存使用=8
GiB10:19:33
新容器开始启动10:19:47
新容器启动完成10:24:15
旧容器回收完毕,内存使用=1.934
GiB(新容器初始内存使用值)由于,10:19:33---10:24:15
期间(见Grafana图2),新容器正在启动,旧容器正在回收,两个容器同时存在(8
GiB+1.934
GiB),导致Pod内存突增到9.927
GiB,导致节点内存紧张触发HostOomKillDetected报警。
启动任一Java服务进行测试,运行稳定后,进入容器执行kill 1
,观察Pod内存曲线,出现高峰并恢复,高峰前后内存值之和,约等于峰值,可验证通过。
✅ 验证通过