k8s集群升级了双协议栈后,从集群内无法访问外部ipv6服务,已经确认部署了Endpoint和Service。而同样采用ipv4是没问题的。
(相关资料图)
apiVersion: v1kind: Servicemetadata: name: myep namespace: default labels: app: myepspec: ports: - name: http-8080 port: 8080 protocol: TCP targetPort: 8080 ipFamilies: - IPv6---apiVersion: v1kind: EndpointsapiVersion: v1metadata: name: myep #此名字需与 Service 中的 metadata.name 的值一致 namespace: default labels: app: myepsubsets: - addresses: - ip: 1002:003B:456C:678D:890E:0012:234F:56G7 ## 集群外Ip ports: - port: 8080 name: http-8080
然后在集群的Pod中访问myep:8080不通。
tcpdump -i eth0 host 1002:003B:456C:678D:890E:0012:234F:56G7 tcp -vv
发现可以收到发来的请求,但是并没有回包。
同样用tcpdump抓ipv4的包,是有回包的。分析ipv4和ipv6的差异:ipv4的SrcIP是Pod所在宿主机的ip,而ipv6的SrcIP是2000:100:100:100:9a7e:bead:f22c:9640,而2000:100:100:100::/64是集群内部的ipv6网段,可以确定ipv6的请求从Pod所在宿主机出来时没有进行SNAT转换。这里采用了一种比较简单的解决方案,最终方案应该通过集群的cni配置解决。
为所有的宿主机添加iptables策略:
ip6tables -t nat -A POSTROUTING -s 2000:100:100:100::/64 -o eth0 -j SNAT --to-source FC00:0:130F::9C0:876A:130B
参数 | 说明 |
---|---|
-s | 要处理的源IP段 |
-o | 规则绑定的接口 |
--to-source | 替换的IP(本机IP) |
增加iptables策略后服务就可以访问了。
最初在服务所在主机上通过增加静态路由的方式也可以临时性达到目的:
ip -6 route add 2000:100:100:100::/64 via FC00:0:130F::9C0:876A:130B
相当于把Pod所在宿主机作为Pod内部网段的网关,这样可以临时解决问题,当时由于Pod会在集群的Node上漂移,所以这不是一个好的方法。
k8s集群升级了双协议栈后,从集群内无法访问外部ipv6服务,已经确认部署了Endpoint和Service。而同样采用ipv4是没问题的。
1、《孔子。2、人生不苦旅》是一部由陈舞雩所著书籍。3、百花洲文艺出版社出版发行。文章到此就分享结束,希望对大家有
新海南客户端、南海网、南国都市报4月21日消息(记者谭琦)记者从4月21日召开的“2023年海南自贸港创业大赛”新闻发布会上获悉,目前2023年海
1、孔晴宇,北京援非医疗队北京安贞医院院长副院长心脏外科主任医师。2、。文章到此就分享结束,希望对大家有所帮助。
1、绝对的好学校关于学院或大学加州州立理工大学波莫那校区(CalPolyPomona)建立于1956年,是23所加
1、一共有22个故事。2、E01:白马王子献上真爱之吻唤醒白雪公主E02:巫后为了实施黑魔法将自己父亲杀死E03:白雪公
报名方式:请携带户口簿、身份证原件及复印件到涌边村委会填写申请表格。为提高沙溪镇妇女宫颈癌和乳腺癌(以下简称“两癌 ")早诊早治率,不
证券时报网讯,据中国网,国新办于4月21日上午10时举行新闻发布会,国家外汇管理局副局长、新闻发言人王春英表示,近几个月随着内外部环境的改
北京园博园五一门票多少钱?答:免费,公园不需要门票,但需要预约入园 北京园博园在哪里预约?答:可通过其官方微信公众号进行实名预约,并按照
今天小编肥嘟来为大家解答以上的问题。大学通信工程专业学什么,通信工程专业学什么相信很多小伙伴还不知道,现在让我们一起来看看吧!1、通信