• Ukieweb

    佳的博客

    曾梦想仗剑天涯,后来工作忙没去。

阿里云 pod 间不能通过 ingress 的域名 进行访问 解析

问题现象如图:

ingress.png

纠正

首先我们要纠正一下上面的图,使用 ingress 暴露服务的时候,结构图应该是下面的样子

ingress结构图.png

问题分析

负载均衡(slb)的地址一般都是供集群外部使用的,它会被当作 service 的扩展 ip,被 iptables 转发。

默认,ingress 创建的 service 的 externalTrafficPolicy 属性  为 Local ,

所以 pod a 可以访问 pod c 是因为,正好 pod a ingress 的 pod同一个 node 上面,所以 pod a 可以访问所有 ingress 服务

pod b pod c 不在同一个 node 上面,故它的访问,会被 iptables 拒绝。

解决方法是:

ingress service 中的 externalTrafficPolicy 属性 设置 Cluster



参考:

关于 externalTrafficPolicy 属性意义,参考:k8s svc的externalTrafficPolicy属性 跨node不通




0
0
下一篇:软件版本中的 release stable alpha beta 等的意义

0 条评论

老佳啊

85后,大专学历,中原人士,家里没矿。

由于年轻时长的比较帅气,导致在别人眼里,我一直不谈恋爱的原因是清高,实则是自己的小自卑。最大的人生目标就是找一个相知相爱相容的人,共度余生。

和人相处时如果能感受到真诚,会非常注重彼此的关系,对别人没有什么心机,即使有利益冲突,一般也会以和为贵,因为在这个世界上,物质的东西,从来不会吸引到我。

特别迷恋那些大山大水,如果现在还能隐居,可能早就去了。对那些宏伟的有底蕴的人文景观比较不感冒。

从事于IT行业,却一直对厨房念念不忘,由于身材魁梧,总觉得自己上辈子是个将军,可惜这辈子没当兵,也不会打架。