【发布时间】:2022-01-18 22:55:22
【问题描述】:
我正在使用 Azure Kubernetes 服务,我发现有时我无法对 SQL Server 进行健康检查,然后我的 API 正在响应代码 400 的任何请求。
在这种情况下,简单的 pod 重启通常会有所帮助;我认为在这种情况下,liveness / readyness 探针可以解决这个问题,但事实并非如此。
如果再次发生这种情况,我可以如何自动重启 Pod?
【问题讨论】:
-
可能取决于您用于活性探测的端点是什么。 healthz 端点也返回 400?
-
@JacopoBernasconi 我使用这个 pod 作为 api 从外部端点收集数据,然后将其推送到数据库,从数据库返回状态不健康的健康检查和我收集的数据不在那里(很明显由于数据库不健康),在这种情况下有助于重新启动我的 pod,但我想自动启动它。我想知道当来自数据库的健康检查处于不健康状态时是否有可能重新启动这个 pod
-
我明白了,我的问题是,当您的数据库连接丢失时,您的 healthz 端点(状态)会返回“错误”代码吗?像500?因为活性检查不检查 HTML,只检查 HTTP 代码。