在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的超时时间)?
答案 0 :(得分:0)
您的配置正确,并且initialDelaySeconds
和periodSeconds
不能相加。因此,第一个readinessProbe HTTP调用将恰好在您启动POD之后的2分钟内。
我会在您的应用程序本身中寻找问题,首先想到的是您的路径是/actuator/health
,难道不只是/health
吗?对于Spring Boot Actuator,这是默认设置。
如果这没有帮助,那么最好的方法是将其调试:exec
到您的容器中,并使用curl
检查您的运行状况端点是否正常运行(它应该返回HTTP代码200)