点击上方
蓝色
“
顶层架构领域
”,关注精彩与你分享
在云原生技术日益成熟的今天,Kubernetes已成为容器编排和管理的事实标准。而健康检查作为Kubernetes中一个不可或缺的特性,它对于确保集群中应用程序和组件的稳定运行起着至关重要的作用。
一、
Kubernetes健康检查的重要性
健康检查是Kubernetes自动化管理和故障恢复的关键功能。通过定期检查应用状态,Kubernetes能够做出智能决策,比如重启失败的容器或重新路由流量,从而保障服务的连续性和稳定性。
二、Kubernetes健康检查的三种类型
存活探测(Liveness Probe)
检测容器是否存活。如果探测失败,Kubernetes将重启容器,帮助恢复因内部错误而挂起的应用程序。
就绪探测(Readiness Probe)
判断容器是否准备就绪,能够接收流量。如果探测失败,Kubernetes会从服务的负载均衡器中临时移除该容器,直到它再次就绪。
启动探测(Startup Probe)
在容器启动期间检测应用程序是否准备就绪。仅在容器启动期间执行一次,如果失败,将延迟容器的就绪状态,直到应用程序完全启动。
启动探针成功,并且容器被认为已经成功启动,存活探针和就绪探针才会开始起作用。存活探针定期检查容器是否保持存活状态,而就绪探针定期检查容器是否已经准备好接收流量。
目前支持的探测方式包括:
健康检查配置示例
健康检查的配置通过在Pod的YAML定义文件中设置
livenessProbe
、
readinessProbe
和
startupProbe
属性来完成。
存活探测配置
livenessProbe:
enabled: true
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 15
timeoutSeconds: 2
periodSeconds: 3
successThreshold: 1
failureThreshold: 3
就绪探测配置
readinessProbe:
enabled: true
httpGet:
path: /ready
port: 8080