Kubernetes内存过度分配的隐患:一次Pod频繁重启的深度排查与解决

在云原生时代,Kubernetes已成为容器编排的标准,但随之而来的资源管理问题也层出不穷。今天,我要分享一个真实案例:一个生产环境中的Pod频繁重启,退出代码137,背后隐藏的是一个常见却容易被忽视的问题——内存过度分配。

问题现象

某天,运维团队收到告警:生产环境中的pro-ms-ding-talk服务不断重启。通过查看Pod状态,发现它总是在运行一段时间后被终止,退出代码为137(被SIGKILL信号终止)。

kubectl get pod pro-ms-ding-talk-6cfdc65746-bwflr -n pro
NAME                               READY   STATUS    RESTARTS   AGE
pro-ms-ding-talk-6cfdc65746-bwflr   0/1     CrashLoopBackOff   5          15m

深入调查

1. 检查Pod配置

首先,我们查看了Pod的资源配置: