在我的 Kubernetes 设置中,我有 2 个 pod - A(通过部署)和 B(通过 DS)。Pod B 在某种程度上依赖于 Pod A 的完全启动。我现在想在 Pod B 中设置一个 HTTP Liveness-Probe,如果通过 POD A 的健康检查失败,则重新启动 POD B。如果我将我的 POD A 服务的外部 IP 放在主机中,则重新启动工作正常。问题在于解析主机中的 DNS 名称。
如果我这样设置它会起作用:
livenessProbe:
httpGet:
host: <POD_A_SERVICE_EXTERNAL_IP_HERE>
path: /health
port: 8000
如果我这样设置它会失败:
livenessProbe:
httpGet:
host: auth
path: /health
port: 8000
失败并显示以下错误消息:
Liveness probe failed: Get http://auth:8000/health: dial tcp: lookup auth on 8.8.8.8:53: no such host
上面页面上的以下行是否也适用于 HTTP Probes?“您不能在主机参数中使用服务名称,因为 kubelet 无法解析它。”