0

我正在使用 thorntail microprofile 框架来监控一个简单的休息服务应用程序。openshift 上的应用程序部署工作正常,但运行状况监视器却没有,因为收到此消息:

就绪探测失败:获取http://10.116.0.57:8080/health/live:拨打 tcp 10.116.0.57:8080:连接:连接被拒绝

但是可以使用服务路由 url 访问健康服务,例如http://thorntail-myproject.apps-crc.testing/health/live并获得结果:

{"status":"UP","checks":[{"name":"server-state","status":"UP"}]}

HealthCheck 实现类中包含 Liveness 和 Readiness 注释。通过 pod 的远程容器 shell 执行 curl 时也会获得服务响应。

这些是我在 pom.xml 中使用的依赖项:

<dependencies>
  <dependency>
    <groupId>io.thorntail</groupId>
    <artifactId>jaxrs</artifactId>
  </dependency>
  <dependency>
    <groupId>io.thorntail</groupId>
    <artifactId>microprofile-health</artifactId>
  </dependency>
</dependencies>

有任何想法吗?

4

1 回答 1

0

问题可能是由很多原因引起的,但您可以尝试以下方法:

  1. 验证部署/deploymentConfig 的服务对象是否连接到正确的 Pod 和正确的端口。
  2. 验证 Route/Ingress 对象是否连接到正确的 Service 对象。

上述两件事似乎是正确的,因为您可以访问 Route URL,但我们不知道您的部署以及您拥有多少。

  1. 验证您的 Liveness 和 Readiness 探测是否正确:端口、页面(可能是某个地方的拼写错误)、协议 - 您使用的是 HTTP 还是 HTTPS?
  2. 如果以上所有内容都正确,请检查您的命名空间是否有其他 NetworkPolicies。
于 2020-07-28T10:43:42.250 回答