Pod健康检查与服务可用性检查
Pod 健康检查与服务可用性检查
kubernetes 对Pod的健康状态可以通过两类探针来检查: LivenessProbe 和ReadinessProbe,kubelet定期执行者两类探针来诊断容器的监控状况
(1) livenessProbe 探针: 用于判断容器是否存活(Running 状态),如果LivenessProbe 探针探测到容器不健康,则kubelet 将杀掉该容器,并根据容器的重启策略做响应的处理。如果一个容器不包含livenessProbe探针,那么kubelet 认为该容器的LivenessProbe 探针返回值永远是Success
(2) ReadinessProbe 探针: 用于判断容器服务是否可用(Ready状态),达到Ready 状态的Pod才可以接收请求。对于被Service 管理的Pod,Service 与Pod Endpoint 的关联关系也将基于Pod是否Ready 进行设置。如果在运行过程中Ready 状态变为False,则系统自动将其从Service的后端Endpoint列表中隔离出去,后续再把恢复到Ready状态的Pod加回到后端的Endpoint列表。这样就能保证客户端在访问Service时不会被转发服务不可用的Pod 实例上。