
最近遇到一个很有代表性的问题:service,pod 都正常,而且在pod内部 curl 0.0.0.0 也正常,但是curl pod IP,curl service IP 就有问题,提示 connection refused 。
进一步调查发现网络插件,节点都是正常的,而且也没有整那些 istio 之类的高端操作。
最后拉上大佬一起分析发现,发现问题是:容器本身只监听了 localhost 。
所以问题就来了,为啥只监听 localhost 会有问题? localhost 到底是个啥?

于是我问了神奇的海螺,它告诉我: localhost 只是一个域名,根据 host 文件,一般会指向 127.0.0.1。但 127.0.0.1 是一个自闭的孩子,它只接收本机的IP。也就是说,外部的流量进不了里面。

所以,pod 虽然正常,但是通过 pod ip ,service ip 都无法访问到它。
这是不是像极了产品经理向研发提交了一个需求,但是他的回复是:

所以,回到本题。要解决这个问题,得让应用变得开放,监听 0.0.0.0 即可。0.0.0.0 表示内外网都可以访问到。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。