如何使用 Spring 执行器配置 Kubernetes 启动探测器
How to configure Kubernetes startup probe with Spring Actuator
我阅读了一些文档并弄清楚了如何使用 Actuator 设置准备就绪和活动端点,例如 this 一个。但我不知道如何为 'startup' 探测器设置端点。
我的应用程序 yml:
management:
endpoints:
web:
exposure:
include: "*"
endpoint:
health:
show-details: "ALWAYS"
group:
readiness.include: readinessProbe, dataStream
startup.include: readinessProbe, dataStream
我的部署配置:
livenessProbe:
httpGet:
path: "/actuator/health/liveness"
port: "http"
initialDelaySeconds: 600
periodSeconds: 15
readinessProbe:
httpGet:
path: "/actuator/health/readiness"
port: "http"
periodSeconds: 30
failureThreshold: 15
startupProbe:
httpGet:
path: "/actuator/health/startup"
port: "http"
initialDelaySeconds: 150
periodSeconds: 10
failureThreshold: 30
执行器似乎没有为'startup'探测提供URL,或者换句话说,http://localhost:8080/actuator/health/startup不起作用.我该如何设置?
Spring 启动不会为启动探测公开单独的端点。对于这个用例,您也可以使用 liveness probe。
在 kubernetes 中使用不同探测器的原因是为应用程序的初始启动启用长时间超时,这可能需要一些时间。在第一次成功启动探测调用后,活性探测接管,减少超时值以快速检测故障并重新启动应用程序。
我阅读了一些文档并弄清楚了如何使用 Actuator 设置准备就绪和活动端点,例如 this 一个。但我不知道如何为 'startup' 探测器设置端点。
我的应用程序 yml:
management:
endpoints:
web:
exposure:
include: "*"
endpoint:
health:
show-details: "ALWAYS"
group:
readiness.include: readinessProbe, dataStream
startup.include: readinessProbe, dataStream
我的部署配置:
livenessProbe:
httpGet:
path: "/actuator/health/liveness"
port: "http"
initialDelaySeconds: 600
periodSeconds: 15
readinessProbe:
httpGet:
path: "/actuator/health/readiness"
port: "http"
periodSeconds: 30
failureThreshold: 15
startupProbe:
httpGet:
path: "/actuator/health/startup"
port: "http"
initialDelaySeconds: 150
periodSeconds: 10
failureThreshold: 30
执行器似乎没有为'startup'探测提供URL,或者换句话说,http://localhost:8080/actuator/health/startup不起作用.我该如何设置?
Spring 启动不会为启动探测公开单独的端点。对于这个用例,您也可以使用 liveness probe。 在 kubernetes 中使用不同探测器的原因是为应用程序的初始启动启用长时间超时,这可能需要一些时间。在第一次成功启动探测调用后,活性探测接管,减少超时值以快速检测故障并重新启动应用程序。