Kubernetes Pod意外重启

严酷的Manvar

我在生产环境中运行Python应用程序,但我的pod在生产环境中频繁重启。在暂存环境中不会发生这种情况。

所以我认为可能是CPU和内存限制问题。我也更新了。

进一步的调试我得到了137退出代码。

要进行更多调试,我进入Kubernetes节点并检查容器。

使用的命令: docker inspect < container id >

输出如下:

 {
    "Id": "a0f18cd48fb4bba66ef128581992e919c4ddba5e13d8b6a535a9cff6e1494fa6",
    "Created": "2019-11-04T12:47:14.929891668Z",
    "Path": "/bin/sh",
    "Args": [
        "-c",
        "python3 run.py"
    ],
    "State": {
        "Status": "exited",
        "Running": false,
        "Paused": false,
        "Restarting": false,
        "OOMKilled": false,
        "Dead": false,
        "Pid": 0,
        "ExitCode": 137,
        "Error": "",
        "StartedAt": "2019-11-04T12:47:21.108670992Z",
        "FinishedAt": "2019-11-05T00:01:30.184225387Z"
  },

OOMKilled是错误的,因此我认为这不是问题。

使用GKE主版本: 1.13.10-gke.0

帕特里克·W

出口代码137是docker出口代码,它告诉我们该容器已被OOM杀手杀死。这并不意味着容器本身已达到内存限制,或者它没有足够的内存来运行。由于操作系统级别的OOM杀手正在杀死应用程序,因此pod和docker不会为容器本身注册OOM,因为它不一定达到内存限制。

上面链接的文档详细介绍了如何调试错误137,尽管您也可以检查节点度量标准以了解内存使用情况,也可以检查节点日志以查看OOM是否曾经在操作系统级别注册。

如果这是常见问题,请确保您的python容器包含限制,并确保集群中的其他容器具有适当的请求和限制设置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章