例如,假设我有一个 pods ,对它的 liveness 探针执行GET请求,其超时时间为5秒,周期为10秒。这些时间线中的哪一个代表探测的时间?
以来以来的探针模式:
0s: liveness probe initiated
5s: liveness probe times out
10s: liveness probe initiated again because 10 seconds have elapsed since the start of the last probe
或自超时模式:0s: liveness probe initiated
5s: liveness probe times out
15s: 10 seconds have elapsed since the timeout occurred, so the probe fires again
在前者中,两次探测之间总是有10秒的间隔,而在后者中,两次探测之间可能存在10到15秒之间的任何时间,具体取决于请求返回的速度。 Kubernetes使用哪种方法? 最佳答案
Kubernetes livenessProbe
的工作方式如下:
periodSeconds
是从上次发送探测时开始计算的时间因此,在您的情况下(
timeoutSeconds=5
,periodSeconds=10
),探测将如下所示:0s: liveness probe initiated
5s: liveness probe times out
10s: liveness probe initiated again because 10 seconds have elapsed since the start of the last probe
如果您有相反的要求(timeoutSeconds=10
,periodSeconds=5
),则探测将如下所示:0s: liveness probe initiated
10s: liveness probe times out
10s: liveness probe initiated again
关于kubernetes - Kubernetes探针配置中的periodSeconds是否从上次探针时间或上次响应/故障时间开始计数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64230250/