Pod 健康检查失败

    • pod 如果就绪检查失败会将此 pod ip 从 service 中摘除,通过 service 访问,流量将不会被转发给就绪检查失败的 pod
    • pod 如果存活检查失败,kubelet 将会杀死容器并尝试重启

    太短,容器启动慢,导致容器还没完全启动就开始探测,如果 successThreshold 是默认值 1,检查失败一次就会被 kill,然后 pod 一直这样被 kill 重启。

    参考本书 处理实践: 使用 systemtap 定位疑难杂症 进一步定位。

    连接异常,从而健康检查失败。发生这种情况的原因可能在一个节点上启动了多个使用 监听相同宿主机端口的 Pod,只会有一个 Pod 监听成功,但监听失败的 Pod 的业务逻辑允许了监听失败,并没有退出,Pod 又配了健康检查,kubelet 就会给 Pod 发送健康检查探测报文,但 Pod 由于没有监听所以就会健康检查失败。

    如果确认是 backlog 满了导致的丢包,建议调高 backlog 的值,内核参数为 。