kubectl get pods -n 命名空间
发现节点状态是running,但是节点并没有真正起来,
执行:kubectl describe pod pod名字 -n 命名空间
之后会看见这样的健康检查报错:
这是因为我们在配置文件有定义健康检查:
解决方案一:可以如图把这两行注释掉,但是不建议这样操作,一般pod内jar包可以正常启动的话就是会通过健康检查的。
解决方案二:进入到容器内,找到启动的jar包或者应用程序,看启动的报错信息:
kubectl exec -it pod名字 -n 命名空间 -- sh
比如我里面启动的jar程序,看nohup.out日志可以看见error信息是连接mq超时,导致服务挂掉。
所以排除思路就是先确定mq的状态是否正常,查看日志出输出的mq地址是否匹配正常部署的地址。
之后重启pod,问题解决。