k8s双栈协议无法访问集群外ipv6服务(解决)
2023-04-22 07:36:45 来源:腾讯云
问题背景
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服务(解决)
- 世界热门:2023中国网络媒体论坛“青春律动·Z世代网络空间新表达”平行论坛在南京举办
- 2019男篮世界杯赛程赛果_2019男篮世界杯赛程_全球热闻
- 楼道像客厅!平顶山康复街社区“众福居”楼道“出圈”了-当前资讯
- 环球热头条丨勇士官方宣布佩顿二世因为生病将缺席今日的G3大战
- 元胡止痛片和布洛芬哪个副作用小_元胡止痛片和布洛芬哪个好
- 2023淮北食品工业博览会开幕 200多家企业携2000多种产品亮相
- 41岁男子莫名咳嗽4个月住院4次,竟是患上呼吸罕见病
- 河北快三开奖结果今天_河北快三开奖结果
- 天宇设计公司展开“设计会战” 播报
- 在这里,展望创新发展绿色发展|全球热资讯
- 钢花飞溅 精细冶炼(工匠绝活) 视点
- 20英镑等于多少人民币(2023年4月21日)|快消息
- 卷尺上的数字怎么看_用卷尺量东西要这样看数字
- 魏牌周文:将高频用户需求作为产品第一要素
- 国家统计局:2021年女研究生171.7万人,占比过半|全球报道
- 售价8.99万元,长安逸达自动尊享型上市,配置提升 天天速递
- 宝塔区气象台发布道路结冰黄色预警【Ⅲ级/较重】|环球微动态
- 移动电玩城刷分教程_移动电玩城_观察
- 居民个人综合所得包括哪几项(居民个人综合所得包括)|速讯
- 世界今头条!烟台市莱山区实验小学开展青年教师迎“五四”活动
- 微头条丨北约秘书长:去年2月以来北约已向乌提供650亿欧元军事援助
- 4月20日 11:16分 亚香股份(301220)股价快速拉升
- 谭咏麟合照比周润发年轻,被网友偶遇却暴露真实身材