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

Kubernetes 提供了多种类型的探针

存活探针 (Liveness probe)

存活探针用于确定何时重启容器。例如,存活探针可以探测到正在运行但无法取得进展的应用出现的死锁。

如果容器多次未能通过其存活探针检查,kubelet 将重启该容器。

存活探针不会等待就绪探针成功。如果要在执行存活探针之前等待一段时间,可以定义 initialDelaySeconds 或者使用启动探针

就绪探针 (Readiness probe)

就绪探针用于确定容器何时准备好接收流量。当应用需要执行耗时的初始化任务(例如建立网络连接、加载文件和预热缓存)时,这会很有用。

如果就绪探针返回失败状态,Kubernetes 会将该 Pod 从所有匹配的 Service Endpoint 中移除。

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

启动探针 (Startup probe)

启动探针用于检测容器内的应用是否已启动。这可以用来对启动缓慢的容器进行存活检查,避免它们在完全启动并运行之前就被 kubelet 杀死。

如果配置了此类探针,它将禁用存活和就绪检查,直到其自身成功为止。

这种类型的探针仅在启动时执行,与定期运行的存活和就绪探针不同。