kubernetes - Kubernetes:readinessProbes 失败,但 livelinessProbe 使用相同的设置成功
问题描述
我为我的 pod 配置了一个 livelinessProbe,它在同一个 pod 和特定端口上的路径上执行 http-get。它完美地工作。但是,如果我使用相同的设置并配置 readinessProbe 它将失败并出现以下错误。
Readiness probe failed: wsarecv: read tcp :50578->:80: 远程主机强行关闭了现有连接
实际上,在某个点之后,我什至看到活力探测失败了。不知道为什么。活跃度探测成功应该表明 kube-dns 工作正常,我们能够从节点访问 pod。这是我的 pod 规格的 readinessProbe
readinessProbe:
httpGet:
path: /<path> # -> this works for livelinessProbe
port: 80
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 10
有谁知道这里可能发生了什么。
解决方案
我认为它与kube-dns
or没有任何关系coredns
。最可能的原因是您的 pod/容器/应用程序崩溃或停止服务请求。
好像是这样的时间线:
- Pod/容器出现。
- 活力探测通过了。
- 一段时间过去了。
- 可能是应用程序崩溃或错误。
- 准备失败。
- 活力探测也失败了。
有关该错误含义 的更多信息:远程主机强制关闭现有连接
推荐阅读
- python - 计算具有两个条件的数据框列的所有组合的乘积
- python - 烧瓶如何在html模板中使用python内置函数(Jinja 2)
- javascript - 为相关下拉选择设置默认值
- javascript - 带有“Console.log()”的执行上下文
- generics - TypeShape 和动态泛型
- mulesoft - Mule 4 中的 maxConcurrency
- excel - 修剪字符串提取变长字符串的部分
- html - 如何在不更改 HTML 的情况下通过 div 中的链接使 div 可点击
- python - 一个网站几天后停止工作,当我用scrapy刮它时给我一个弱连接,我无法刮取数据
- azure-synapse - 无法在 SSMS 上访问 Azure Synapse Spark Pool 数据库