tencent cloud

文档反馈

容器进程主动退出

最后更新时间:2020-04-24 16:17:14

    本文档介绍可能导致容器进程主动退出的几种场景,以及如何通过排查步骤定位异常原因。请按照以下步骤依次进行排查,定位问题后恢复正确配置即可。

    现象描述

    容器进程主动退出(不是被外界中断停止)时,退出状态码通常在0 - 128之间。根据规定,正常退出时状态码为0,状态码为1 - 127则说明为程序发生异常导致其主动退出。例如,当检测到程序启动参数和条件不满足要求,或者程序运行过程中发生 panic 但没有捕获处理就会导致程序主动退出。
    可首先参考 通过 Exit Code 定位 Pod 异常退出原因 查看对应容器进程的退出状态码,缩小异常问题范围。

    可能原因

    • DNS 无法解析
    • 程序配置有误

    排查方法

    检查 DNS 是否无法解析

    若程序依赖集群 DNS 服务,则解析失败将导致程序报错并主动退出。例如,程序启动时需要连接数据库,且数据库使用 service 名称或外部域名都需要 DNS 解析,若解析失败将引发程序报错并主动退出,导致容器进程主动退出。解析失败的可能原因如下:

    • 集群网络存在异常,Pod 无法连接集群 DNS 服务。
    • 集群 DNS 服务故障,无法响应解析请求。
    • Service 或域名地址配置有误,致使其无法解析。

    检查程序配置

    程序配置有错误也可能引起容器进程主动退出,可能原因如下:

    • 配置文件格式错误,程序启动时解析配置失败从而报错退出。
    • 配置内容不符合规范。例如,配置中某个必选字段未填写,导致配置校验不通过,程序报错主动退出。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持