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
发现可以收到发来的请求,但是并没有回包。
(资料图片仅供参考)
这里采用了一种比较简单的解决方案,最终方案应该通过集群的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
CME以太币期货DCR主力合约报1836 00美元,较周四跌5 63%,盘中交投于1957 00-1825 00美元区间,本周累跌14 07%
1、吐温60Tween60中文名称:吐温60中文同义词:吐温60;吐温61;吐温-61;脱水山梨醇单硬脂酸酯聚氧
英超:阿森纳VS南安普敦时间:2023-04-223:00场地:酋长球场作为英超豪门的阿森纳,球队相比与上赛季,本赛
额定功率是什么意思?其实就是设备在正常运行时形成的功率,额定电压与额定电流相乘得出设备的额定功率。如果...
如何挑选不锈钢?1、感觉不锈钢产品的质感,一般是优质不锈钢,色泽鲜艳,厚度适中,光滑,不要选择表面上感...
地板有哪几种材质?1、实木地板:它的木材特点是当气候干燥时,木材里面水分释出,而气候潮湿,木材又会吸附...