- 容器进程主动退出
- DNS 无法解析
- 程序配置有误
容器进程主动退出
容器进程如果是自己主动退出(不是被外界中断杀死),退出状态码一般在 0-128 之间,根据约定,正常退出时状态码为 0,1-127 说明是程序发生异常,主动退出了,比如检测到启动的参数和条件不满足要求,或者运行过程中发生 panic 但没有捕获处理导致程序退出。除了可能是业务程序 BUG,还有其它许多可能原因,这里我们一一列举下。
DNS 无法解析
可能程序依赖 集群 DNS 服务,比如启动时连接数据库,数据库使用 service 名称或外部域名都需要 DNS 解析,如果解析失败程序将报错并主动退出。解析失败的可能原因:
- 集群网络有问题,Pod 连不上集群 DNS 服务
- 集群 DNS 服务挂了,无法响应解析请求
- Service 或域名地址配置有误,本身是无法解析的地址
程序配置有误
- 配置文件格式错误,程序启动解析配置失败报错退出
- 配置内容不符合规范,比如配置中某个字段是必选但没有填写,配置校验不通过,程序报错主动退出