首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes探测配置中的periodSeconds是从上一个探测时间还是从最后一个响应/失败时间计算出来的?

Kubernetes探测配置中的periodSeconds是从上一个探测时间还是从最后一个响应/失败时间计算出来的?
EN

Stack Overflow用户
提问于 2020-10-06 16:42:27
回答 2查看 321关注 0票数 2

例如,假设我有一个荚,它执行GET请求它的活性探测,超时时间为5秒,时间为10秒。这些时间线中的哪一个代表探测器的时间?

自上一次探测模式:

代码语言:javascript
复制
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

或自超时模式:

代码语言:javascript
复制
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秒的间隔。库伯奈特斯用哪种方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-07 11:58:45

Kubernetes livenessProbe的工作方式如下:

  • periodSeconds是从上一个探测被发送到
  • 时计算的,没有两个探测同时运行,如果探测还没有超时,一个新的探测等待

因此,在您的示例(timeoutSeconds=5periodSeconds=10)中,探测将如下所示:

代码语言:javascript
复制
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=10periodSeconds=5),则探针如下所示:

代码语言:javascript
复制
0s: liveness probe initiated
10s: liveness probe times out
10s: liveness probe initiated again
票数 2
EN

Stack Overflow用户

发布于 2020-10-07 08:25:58

根据库伯奈特的文件-

-- kubelet在容器启动后开始执行'x‘秒(即句点)的健康检查。这意味着探测已经过去,一旦您从api调用本身获得成功响应,这个周期就会开始,这最终意味着容器已经启动(前提是针对探测中提到的端点的HTTP方法已经正确编写)。

对于故障情况,很明显,直到超时,它会等待响应来标记它的健康或不健康,然后它会尝试三倍于相同的东西,如果探测失败,它最终会重新启动容器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64230250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档