timeoutSeconds 在 kubernetes liveness/readiness probes 中的作用是什么?

Rav*_*ina 6 kubernetes

我想知道timeoutSeconds活跃度或准备度探测器实际上做了什么?

文件指出:

timeoutSeconds:探测超时后的秒数。默认为 1 秒。最小值为 1。

不再解释或演示如何使用它以及它的实际作用。

那么这个参数的作用是什么,如何与它区分开来periodSeconds

我很幸运能找到这个答案,但对我来说仍然很模糊。特别是在我从这里看到这张图之后:

在此处输入图片说明

我还尝试使用这些值来了解事情是如何工作的以及这个参数的影响是什么,但没有运气,因为事件似乎不会立即发生。

Mat*_*ava 10

periodSeconds选项决定一个吊舱内运行的容器将被探测(测试)和timeoutSeconds指定的速度有多快容器需要在探头响应。

假设您已设置periodSeconds为 3 和timeoutSeconds1。在此设置中,容器将每 3 秒探测一次,每次探测时,它有 1 秒的响应时间,否则该探测失败(即使它稍后响应那个探针,比如说在 2 秒内)。

图表相当精确。它告诉您initialDelaySeconds在容器开始被探测之前的这段时间内没有发生任何事情(以便它有足够的时间启动所有必要的进程)。在此时间到期后,它开始被探测。

它成功响应 内的第一个探测timeoutSeconds,然后在periodSeconds再次探测之前有一个延迟。这次它无法响应,timeoutSeconds并且有另一个periodSeconds延迟,它一次又一次地失败,然后重新启动 pod,因为这就是它在这种情况下的配置方式(在 3 个连续失败的探测后重新启动,由 给出failureThreshold

  • 好的。但是如果`timeoutSeconds > periodSeconds`呢?测试永远不会失败和/或请求会累积? (5认同)
  • `periodSeconds` 仅告诉您发送探测的频率。处于“pending”状态的探测器数量可以多于“failure/successThreshold”的数量。阈值将在探测解析时进行评估(如果这意味着您同时有超过 1 个未解析的探测,则可以说它们会累积)。图中没有提及只是因为几乎没有任何合理的理由进行这样的配置。如果您需要在同一时间间隔内评估更多探测,那么您只需降低阈值即可达到相同的效果。 (2认同)