如何解决Pod无法卷曲localhost
在9200端口上的localhost上运行着一个弹性搜索容器,但是从同一主机上的容器中,我无法卷曲localhost 9200端口
@Dao
public interface StudentDAO {
@Update
void update(StudentEntity student);
}
/ etc / hosts
[root@jenkins ~]# netstat -tupln | grep 9200
tcp6 0 0 :::9200 :::* LISTEN 4148/docker-proxy
[jenkins@kb-s-9xttg agent]$ curl http://localhost:9200
curl: (7) Failed to connect to ::1: Network is unreachable
我能够# Kubernetes-managed hosts file.
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
fe00::0 ip6-mcastprefix
fe00::1 ip6-allnodes
fe00::2 ip6-allrouters
192.168.255.23 kbs-9xttg
elastic-search容器不是由Kubernetes管理的,而是在同一主机上运行的。
为什么Pod无法与curl public_host_ip:9200
或localhost:9200
通话?
解决方法
评论摘要:
如果您是在Pod中与本地主机通信,则仅是在与该Pod中的容器通信。
不同Pod中的容器具有不同的IP地址,并且无法使用localhost进行通信。但是,它们可能会在本地主机网络上公开自己的端口,类似于Docker容器正在做的事情(这就是为什么您可以使用本地主机从本地节点进行通信的原因)。
在集群内部,您可以使用Pod IP,但是,如果要与主机对话,则需要为Pod使用主机网络
spec:
hostNetwork: true
或主机的外部IP。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。