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...

posted @   王竹笙  阅读(32)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示