9 深入kubernetes-----服务调度与编排-----9-1 健康检查-----高可用的守护者
4-health-check
没有健康检查
kubectl get pods -n dev -o wide kubectl exec -it web-demo-c456d8ccf-rzrwc -n dev sh # # 进入容器查看运行的java进程,端口 ps -ef netstat -ntlp kill PID # 杀掉进程之后,退出,重新登录之后又启动了。 kubectl get pods -n dev #可以看到RESTARTS 重启了一次
有健康检查
health-check 项目
1、基于CMD的
kubectl apply -f web-dev-cmd.yaml # 查看多了Liveness: kubectl describe pods -n dev web-demo-547b6d9d77-f7qzm
进入容器
kubectl exec -it web-demo-547b6d9d77-f7qzm -n dev sh
结果:
/ # ps -ef|grep java|grep -v grep 1 root 0:23 java -jar /appweb/springboot-web-demo.jar / # echo $? 0 / # ps -ef|grep javaaaaa|grep -v grep / # echo $? 1 / # kill 1
在查看
kubectl get pods -n dev # RESTARTS 重启1 kubectl describe pods -n dev web-demo-547b6d9d77-f7qzm # 查看Events 被杀掉了
2、基于http的
kubectl apply -f web-dev-http.yaml kubectl get pods -n dev
3、基于tcp的
服务重启一半的时候,就会被service发现了,就会被挂在负载均衡上面,显然是不合理的 kubectl apply -f web-dev-tcp.yaml kubectl get pods -n dev kubectl get deploy -n dev # readinessProbe的 AVAILABEL 1,非 为0
如果容器服务。restart起不来,livenessProbe 去掉
end...
本文来自博客园,作者:王竹笙,转载请注明原文链接:https://www.cnblogs.com/edeny/p/14565399.html