专栏名称: 顶层架构领域
专注核心架构领域知识、经典干货总结、技术领域趋势跟踪,以通俗易懂的方式传播——复杂的事简单化
目录
相关文章推荐
51好读  ›  专栏  ›  顶层架构领域

确保云原生应用稳定性的关键Kubernetes健康检查

顶层架构领域  · 公众号  ·  · 2024-06-04 09:36

正文

点击上方 蓝色 顶层架构领域 ”,关注精彩与你分享

在云原生技术日益成熟的今天,Kubernetes已成为容器编排和管理的事实标准。而健康检查作为Kubernetes中一个不可或缺的特性,它对于确保集群中应用程序和组件的稳定运行起着至关重要的作用。

一、 Kubernetes健康检查的重要性

健康检查是Kubernetes自动化管理和故障恢复的关键功能。通过定期检查应用状态,Kubernetes能够做出智能决策,比如重启失败的容器或重新路由流量,从而保障服务的连续性和稳定性。

二、Kubernetes健康检查的三种类型

存活探测(Liveness Probe)

检测容器是否存活。如果探测失败,Kubernetes将重启容器,帮助恢复因内部错误而挂起的应用程序。

就绪探测(Readiness Probe)

判断容器是否准备就绪,能够接收流量。如果探测失败,Kubernetes会从服务的负载均衡器中临时移除该容器,直到它再次就绪。

启动探测(Startup Probe)

在容器启动期间检测应用程序是否准备就绪。仅在容器启动期间执行一次,如果失败,将延迟容器的就绪状态,直到应用程序完全启动。

启动探针成功,并且容器被认为已经成功启动,存活探针和就绪探针才会开始起作用。存活探针定期检查容器是否保持存活状态,而就绪探针定期检查容器是否已经准备好接收流量。

目前支持的探测方式包括:

  • HTTP

  • TCP

  • Exec命令

健康检查配置示例

健康检查的配置通过在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






请到「今天看啥」查看全文