spring-boot - Openshift 容器运行状况探测连接被拒绝
问题描述
嗨 openshift 社区,
我目前正在将应用程序迁移到 Openshift,并且由于连接被拒绝而遇到失败的运行状况探测。我觉得奇怪的是,如果我 ssh 进入 pod 并使用 curl localhost:10080/xxx-service/info 它返回 HTTP 200 但如果我使用 IP 地址则失败
这是细节:
- POD 状态
- 登录 Openshift 说 Spring boot 成功启动
- Openshift 事件表明由于连接被拒绝而导致探测失败
- 尝试 SSH 到 pod 以使用 localhost 检查是否有效
不知道为什么IP地址没有在POD级别解析......有谁知道答案或遇到过答案?
解决方案
在您的情况下,很难说到底是什么问题,因为它是特定于环境的。
一般来说,在使用 Kubernetes 时,您应该避免使用 IP 地址,因为这些地址会在 Pod 重新启动时发生变化(这可能是您所看到问题的根本原因)。
在为您的容器定义就绪和活跃度探测时,我建议您始终使用以下语法来定义您的检查(请注意,它没有指定主机):
...
readinessProbe:
httpGet:
path: /xxx-service/info
port: 10080
initialDelaySeconds: 15
timeoutSeconds: 1
...
另请参阅 Kubernetes 或 OpenShift 文档以获取更多信息:
推荐阅读
- adobe - 需要手动更新indesign上传文件的documentID和InstanceID
- r - 如何使用数据框内的列表快速扩展数据框
- windows - 在 Microsoft Store 上发布 CLI 工具
- java - 伪代码数组符号混淆
- deepsecurity - 我需要一些关于未返回预期响应的 API 调用的指导
- python - 教程中的所有选项都失败后如何在 Mac 上安装 Biopython?
- java - 测试具有依赖关系的 Spring Boot 控制器?(jUnit)
- svelte - 绑定值传递给 on:click 回调(锚标记)
- doctrine-query - 如何检查控制器中的唯一实体
- javascript - 单击图像时如何隐藏导航栏