Kubernetes 健康检查与应用更新策略全解析
1. 健康检查的重要性与实现方式
在 Kubernetes 中,健康检查是保障应用稳定运行的关键。通过合理设置健康检查,Kubernetes 能够获取所需信号,及时重启出现故障或无响应的容器。健康检查主要分为存活探针(Liveness probes)和就绪探针(Readiness probes)。
存活探针用于判断应用是否需要重启。若容器长时间未就绪,存活检查最终失败,容器将获得重启机会。例如,若容器在启动后 5 分钟内仍未就绪,存活检查失败,容器会被重启。另一种实现方式是对存活和就绪探针使用相同的就绪端点,但设置不同的容忍度,如就绪检查在 30 秒后失败,而存活检查在 5 分钟后失败。
就绪探针则决定哪些副本可以接收流量,这在应用更新时尤为重要,可防止丢包。
Kubernetes 提供了多种健康检查的实现方式:
- HTTP :适用于提供 HTTP 服务的容器,服务暴露一个端点(如 /healthz),HTTP 200 响应表示成功,其他响应或超时表示失败。
- TCP :推荐用于非 HTTP 的基于 TCP 的服务,如 SMTP 服务。若能打开连接,则探针成功。示例配置如下:
readinessProbe:
initialDelaySeconds: 15
periodSeconds: 30
tcpSocket:
port: 25
successThreshold: 1
failureThreshold: 1
超级会员免费看
订阅专栏 解锁全文
972

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



