Pods 无法通过 Service 访问自己

如果你尝试在Kubernetes Pod中通过Service访问自己,但失败了,请看本文。

官方文档相关问题参考

如果你是用的是 minikube,可以跳过这一段,直接看下面。

官方文档的Tasks中,《Debug Service》这一篇有 A Pod cannot reach itself via Service IP 一节,讲了这种情况。主要意思就是我们的网络没有正确配置 hairpin-mode ,这个参数是在 kubelet 上的。可以通过在node上运行如下的命令,是不是有相关配置:

1
ps auxw|grep kubelet

后续的问题可以参照官方文档中解决。整段翻译如下:

TODO,暂时貌似不需要。如果需要翻译,可以回复。

Minikube 解决

minikube 只需要执行下面这行命令,设置集群所在虚拟的docker网卡就OK了:

1
minikube ssh -- sudo ip link set docker0 promisc on
谢谢鼓励