【发布时间】:2019-05-21 19:11:12
【问题描述】:
在 OpenShift Pod 中运行 Spring Boot 应用程序。为了执行就绪和活跃度探测,我创建了一个适当的 YAML 文件。然而,Pod 失败并响应说他无法通过就绪检查(大约 5 分钟后)。
我的目标是每 20 分钟执行一次就绪探测。但我认为它失败了,因为它将 initalDelaySeconds 与 periodSeconds 相加。所以我猜想 pod 启动后的第一次检查将在 22 分钟后执行。
遵循就绪探针的相关配置。
readinessProbe:
failureThreshold: 3
httpGet:
path: /actuator/health
port: 8080
scheme: HTTP
initialDelaySeconds: 120
periodSeconds: 1200
successThreshold: 1
timeoutSeconds: 60
我的假设对吗?如何避免它(也许增加有关 kubelet 的超时)?
【问题讨论】:
-
就绪探测(如果已定义)决定了您的 pod 是否被视为就绪,以及是否应该针对发送给它的服务和流量添加它。除非确实有必要,否则您不应该添加延迟,并且事件不会有那么长的延迟,因为您的应用程序在第一次通过之前不会处理请求。为什么你觉得你需要这样做?您是否理解或混淆了就绪/活跃度探测的目的?
-
也许可以查看免费电子书openshift.com/deploying-to-openshift中关于监控应用程序运行状况一章中对探针的解释
标签: kubernetes containers openshift