k8s双栈协议无法访问集群外ipv6服务(解决) 今日热讯
问题背景
k8s集群升级了双协议栈后,从集群内无法访问外部ipv6服务,已经确认部署了Endpoint和Service。而同样采用ipv4是没问题的。
1 部署Endpoint和Service
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在1002:003B:456C:678D:890E:0012:234F:56G7这台机器山上抓包: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转换。2 增加SNAT的iptables策略
这里采用了一种比较简单的解决方案,最终方案应该通过集群的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。而同样采用ip
2023-04-23 12:46:01
2023年4月23日上午,上海市第一中级人民法院(以下简称上海一中院)一审公开宣判上海市松江区人民法院原党
2023-04-23 11:46:52
营养“第四餐”是一类能够促进健康的食品的统称,通常是指膳食营养补充类食品,包括保健食品、特殊医学用途
2023-04-23 11:40:53
说到“浣碧”这个名字,想必大家都对此不陌生。而脱离《甄嬛传》后“浣碧”的扮演者蓝盈莹穿起“时尚裙”,
2023-04-23 11:09:22
人民网南京4月21日电据江苏省纪委监委消息,2023年3月,全省共查处违反中央八项规定精神问题461起,批评教
2023-04-23 10:46:33
北京时间4月12日消息,2021斯诺克世锦赛资格赛继续进行第三轮的争夺。一场焦点比赛中,名将梁文博发挥出色
2023-04-23 10:52:29
中国证券报记者4月21日从东软集团获悉,在上海车展期间,东软集团与HERE共同宣布升级战略合作。双方表示,
2023-04-23 10:08:07
1、期间费用(periodcost)是指企业本期发生的、不能直接或间接归入营业成本,而是直接计入当期损益的各项
2023-04-23 09:23:00
1、C:Users当前用户DocumentsEuroTruckSimulator2,一般都是在个人文档或者叫我的文
2023-04-23 08:50:04
据美国有线电视新闻网当地时间4月22日报道,美国加州洛杉矶县于20日发生一起污水泄漏事件。近95万升(25万
2023-04-23 08:30:24
分享至用微信扫码二维码分享至好友和朋友圈5、《他是谁》豆瓣:6 0主演:张译、陈雨钿剧情点评:前面的剧情
2023-04-23 08:17:18
在阿根廷夺得美洲杯冠军后,ESPN的维格诺罗收到了梅西发来的一个音频,阿根廷巨星表示,自己现在什么都不管
2023-04-23 06:36:08
船记:小莫里斯将在今日比赛中代替巴图姆首发,船记,快船队,小莫里斯,美国篮球,科怀·伦纳德,尼古拉·巴顿,
2023-04-23 05:22:15
资讯
品牌