存活性、就绪性和启动探针

Kubernetes 有多种类型的探测

存活探测

存活探测用于判断何时重启容器。例如,存活探测可以捕获死锁,即应用程序正在运行但无法取得进展的情况。

如果容器反复无法通过存活探测,kubelet 将重启该容器。

存活探测不会等待就绪探测成功。如果您想要在执行存活探测之前等待,可以定义 `initialDelaySeconds`,或使用 启动探测

就绪探测

就绪探测用于判断容器何时准备好开始接收流量。这在等待应用程序执行耗时的初始任务时非常有用,例如建立网络连接、加载文件和预热缓存。

如果就绪探测返回失败状态,Kubernetes 会将该 Pod 从所有匹配的服务端点中移除。

就绪探测在容器的整个生命周期中运行。

启动探测

启动探测用于验证容器内的应用程序是否已启动。这可用于在缓慢启动的容器上采用存活检查,避免它们在启动之前被 kubelet 杀死。

如果配置了此类探测,它将禁用存活和就绪检查,直到探测成功。

这种类型的探测仅在启动时执行,与就绪探测不同,就绪探测会定期运行。