如果你尝试在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 |