Kubernetes 应用健康检查与更新策略详解
1. 健康检查探针
在 Kubernetes 中,健康检查探针对于确保应用的可靠性至关重要。主要有两种探针:存活探针(Liveness Probes)和就绪探针(Readiness Probes)。
存活探针用于判断应用是否需要重启。如果容器长时间未就绪,存活检查最终会失败,从而使容器有机会重启。例如,若容器在启动后 5 分钟内仍未就绪,存活检查将失败,容器会被重启。
就绪探针则决定哪些副本可以接收流量,这在应用更新期间尤为重要,可防止丢包。当容器的依赖未连接时,它不会接收流量,但也不会立即重启,而是有时间进行自我修复。
另外,还有一种替代方法,即对存活和就绪探针都使用就绪端点,但设置不同的容忍度。例如,就绪检查在 30 秒后失败,而存活检查在 5 分钟后失败。这种方法能让容器有时间解决相互依赖的服务问题,最终在持续停机时重启容器。
2. 探针类型
Kubernetes 支持多种类型的健康检查探针,以适应不同类型的服务:
- HTTP 探针 :适用于提供 HTTP 服务的容器。服务需暴露一个端点,如 /healthz 。HTTP 200 响应表示成功,其他响应或超时则表示失败。
- TCP 探针 :推荐用于非 HTTP 的基于 TCP 的服务,如 SMTP 服务。若能打开连接,则探针成功。示例配置如下:
readinessProbe:
initialDelaySe
超级会员免费看
订阅专栏 解锁全文
848

被折叠的 条评论
为什么被折叠?



