1.健康检查方式1
判断容器是不是正常的,在没有健康检查的时候,k8s只有在容器的入口程序被杀掉了 他才会进行pod的重启,其他的情况他都不会在意。
健康检查的配置:健康检查的探针,用来判断容器是不是存活的 ,这里是执行一条shell命令来判断这个容器是不是正常的,判断java 进程是不是存在。这个shell执行的结果是0或非0,为0的时候就是健康的,非0就是不健康的。健康检查非0的时候他是进行pod的重启。
这个探针就是发现程序有问题然后重启的
describe pod就可以看到健康检查的相关配置。
可以看到shell脚本执行后的退出值:就是看看你有没有叫java的进程。
如果沙雕这个java的进程:那么容器健康检查失败,容器会会自动被创建然后重启,describe pod就可以看到这个事件。
2.健康检查方式2 基于HTTP的方式
第三种是TCP的方式:检查一个端口是不是8080的。
这个探针,是告诉这个程序对外可以访问了,完全正常了可以挂到负载均衡上了。
他提供了这个字段:
如果pod 以固定的频率来频繁的重启,那么可以配置livenessProbe为一个简单的命令 比如ls之类的 让他的健康检查通过,然后进入容器内仔细查看原因。