首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >openshift集群外的节点无法访问集群内的pods

openshift集群外的节点无法访问集群内的pods
EN

Stack Overflow用户
提问于 2018-12-12 11:15:54
回答 1查看 204关注 0票数 0

注意,我有三个节点(A、B、C),它们的I是172.18.143.115, 172.18.143.117, 172.18.143.124

A、B为ovs-sdn为网络拉取的openshift集群,pod网络为10.130.0.0/16,业务网段为172.30.0.0/16。在节点B中存在pod P(10.130.3.249:8002)和对应的服务S(172.30.148.77:8002)。

我可以在节点A或B中卷曲S,但不能在节点C中卷曲,所以我添加了一条路由,如果dst_ip是P,则转到节点A或B。然后奇怪的事情发生了,如果路由指向B,我可以卷曲S,否则如果路由指向A,我不能卷曲S。

通过tcpdump,我发现pod P通过它的veth返回一个TCP ACK包到node C,然后这个包按照OVS中的流量输出到tun0,按照它的dst_ip是node C应该由ens192 (网络接口)发送的路由,但是我用tcpdump在ens192上抓不到它,看起来这个包被丢弃了。为什么会发生这种情况?

EN

回答 1

Stack Overflow用户

发布于 2018-12-13 01:50:09

默认情况下,流量只在集群内路由,所以如果C上的应用程序不是集群的一部分,那么A/B节点和C之间就不可能有入口和出口。这一切都由应用程序的服务配置控制。

要将进出集群的流量路由到集群之外,您需要配置应用程序的服务。一种更简单的方法是使用类型LoadBalancer服务。

您还可以使用NodePort服务类型,它将在所有节点上30000 - 32767范围内的映射端口上公开服务。

最后,您可以为服务分配External IP,以允许外部流量进入集群。

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53735536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档