【问题标题】:Azure Kubernetes service timed out with 500 status code on API callAzure Kubernetes 服务超时,API 调用出现 500 个状态码
【发布时间】:2023-03-11 21:27:01
【问题描述】:

我在 Azure kubernetes 服务上部署了 Java spring boot 服务,pod 和服务已启动,但除了应用程序启动日志之外,看不到任何日志,并且在调用 API 时出现 500 内部服务器错误并显示消息: "连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接建立失败,因为连接的主机没有响应:"

真的不知道我错过了什么。任何线索都会有所帮助

在此先感谢

【问题讨论】:

  • 这个错误比较笼统,需要补充更多细节
  • "关于调用 API" 从集群内部还是外部?
  • 你能解释一下应用程序的基本结构是怎样的吗?您是否使用带有负载均衡器类型的入口控制器或服务?该错误一般发生在 service 中指定的端口与 pod 正在监听的端口不匹配时。
  • @CSharpRocks API 调用是从托管在同一订阅中的 Azure webApp 上的 webApp 进行的,没有防火墙设置
  • @Atul 我没有你所说的应用程序结构是什么意思,它是一个简单的 Spring Boot 应用程序,我正在使用带有负载均衡器的服务,并且提到了与服务的外部端口相同的端口我的 Spring 应用程序正在其上运行。

标签: azure kubernetes-ingress azure-aks


【解决方案1】:

根据截图,我有一些建议-

  1. 您能否检查您的应用程序是否正在侦听端口 8081? spring-boot 默认监听 8080 端口。containerPort 不会改变应用程序监听的端口,它只是提供了一个方便的机制来定义它。
  2. 能否从服务定义中删除 nodePort? (对于 LoadBalancer,nodePort 不相关)。
  3. 将服务定义中的端口更新为端口 80,以便默认情况下无需在负载均衡器的 cname 中使用自定义端口即可访问应用程序。

这应该可以解决问题,如果没有,请在此处评论。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    • 2020-03-11
    • 2015-08-28
    • 1970-01-01
    • 2014-05-30
    • 2021-10-28
    • 1970-01-01
    相关资源
    最近更新 更多