K8S容器挂了后重启状态正常,但应用无法访问排查处理
背景:
应用迁移K8S后因POD OOM挂了后重启,集群上POD状态正常,但应用无法访问。
排查:
查看应用日志,是启动时调用特权账号管理系统超时,导致连接数据库失败。但tomcat正常启动,配置的http健康检查页面是放在tomcat里的,而非应用的页面。所以K8S健康检查成功,但实际应用未启动成功。
解决:
临时方案:手动重启,再调用特权账号管理系统时连接未超时,应用成功启动。
后续方案:开发在应用代码包里配置健康检查页面,运维将健康检查路径配置成代码包里的。