当前位置: 首页 > 知识库问答 >
问题:

如何使用Spring执行器配置Kubernetes启动探头

夏和雅
2023-03-14

我已经阅读了一些文档,并了解了如何使用执行器设置就绪性和活动性endpoint,比如这一个。但我不知道如何设置“启动”探测器的endpoint。

我的应用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

致动器似乎没有为“启动”探针提供URL,或者换句话说,http://localhost:8080/actuator/health/startup没用。我怎么设置呢?

共有1个答案

高博涉
2023-03-14

Spring boot不会为startup probe公开单独的endpoint。您也可以在这个用例中使用liveness probe。在kubernetes中使用另一个探测器的理由是为应用程序的初始启动启用长时间超时,这可能需要一些时间。在第一次成功的启动探测调用之后,liveness探测将接管,减少超时值,以快速检测故障并重新启动应用程序。

 类似资料:
  • 我想禁用除健康endpoint之外的所有执行器endpoint。所有文档都描述了如何在资源属性中实现这一点: 但我一直倾向于使用内联java配置。有人能解释一下我可以在应用程序的什么地方配置相同的吗?

  • 我想为我们的应用程序配置Spring启动致动器endpoint。下面是我的pom.xml文件,添加了Spring启动执行器依赖项。 当我启动应用程序时,我看不到文档中显示的任何注册的/application/URLendpoint。文件表明,在将致动器相关性添加到pom之后。xml,我应该在启动日志中看到额外的映射,但我没有。这里会有什么问题? 下面是一个启动日志:

  • HTTP-获取http://:8080/acturet/health delay=60s timeout=20s period=10s#success=1#failure=3 如何知道活跃度探测是否实际与默认执行器的健康endpoint一起运行

  • 按预期列出了这些组: 和按预期工作: 但是,和都返回和。 我想要的探测记录在自动配置的HealthIndicator列表中。 在https://spring.io/blog/2020/03/25/liveness-and-readid-probes-with-spring-boot中也介绍了该特性。 我尝试了的几个拼写,插入了(在博客文章中),但没有效果。 这里有一个相关的答案,但它并不直接解决我

  • 我有一个kubernetes集群,它有一个配置服务器吊舱(spring cloud config),我的应用程序运行在3个不同的HA吊舱中,由服务ip公开。当我在git中更改属性并提交推送时,我必须调用http://service-ip/actuator/refresh.问题是,当我调用这个url时,只有一个pod得到更新(处理当前请求的pod)。 有什么办法可以解决吗?我看到了一些使用kubec

  • 问题内容: 我一直在研究Spring / Spring MVC应用程序,并且希望添加性能指标。我遇到过Spring Boot Actuator,它看起来是一个不错的解决方案。但是我的应用程序不是Spring Boot应用程序。我的应用程序在传统容器Tomcat 8中运行。 我添加了以下依赖 我创建了以下配置类。 我什至可以按照StackOverflow另一篇文章的建议在每个配置类上添加 问题答案: