首页 > 解决方案 > 在 Kubernetes 中,localhost 和 own FQDN 有什么区别吗?

问题描述

我想为我的 zookeeper statefulset 设置一个 liveness-probe,如下所示:

exec [/bin/bash -c OK=$(echo ruok | nc localhost 2181); if [[ $OK = imok ]]; then exit 0; fi; exit 1;]

但是 liveness-probe 不断失败并出现错误。

Ncat: Cannot assign requested address.

如果我将主机名更改为 127.0.0.1 或 0.0.0.0,我会收到另一个错误。

Ncat: Connection refused

即使我直接通过“kubectl exec”在 pod 中执行 ncat,我也会遇到同样的错误。

但如果我将主机名更改为 pod 的无头服务 FQDN,一切正常。

我无法理解为什么即使我连接到同一主机也会得到不同的结果。连接到 localhost 或自己的 FQDN 有什么区别?

(zookeeper 服务器列表由 pod 的 FQDN 组成。)

标签: kubernetesnetworkingtcpapache-zookeeper

解决方案


推荐阅读