问题背景
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上漂移,所以这不是一个好的方法。
X 关闭
-
广州公租房有哪些情况能换房? 天天热点
一、广州城投住房租赁发展投资有限公司东片区的行政区域:天河区、黄埔区、番禺区(暂无)、增城区(暂无)、南沙区(暂无)公租房调换对象:
-
每日速讯:格科微:融资余额3.7亿元,创近一年新高(04-07)
2023年4月7日格科微融资余额3 7亿元,创近一年新高
-
快讯:高视医疗(02407.HK):4月21日南向资金减持5.82万股
4月21日北向资金减持5 82万股高视医疗(02407 HK)。近5个交易日中,获南向资金增持的有4天,累计净增持8 88万股。近20个交易日中,获南向资金
-
全球央行“购金潮”或延续 专家提示投资黄金不宜短视-焦点
上证报中国证券网讯(记者陈雨康)全球央行2022年购金量达1136吨,创历史新高。步入2023年,这一趋势仍在延续。前
-
股票行情快报:牧原股份(002714)4月21日主力资金净卖出9738.27万元
截至2023年4月21日收盘,牧原股份(002714)报收于47 77元,下跌0 89%,换手率0 62%,成交量22 57万手,成交额10 82亿元。
-
惠科股份IPO“糊涂账”:绵阳国资曾被少计21万股
惠科股份IPO“糊涂账”:绵阳国资曾被少计21万股
-
福晶科技2022年净利2.26亿同比增长18.3% 董事长陈辉薪酬227.32万 每日看点
福晶科技2022年净利2 26亿同比增长18 3%董事长陈辉薪酬227 32万2023 4 2121:05:39挖贝网春雨挖贝网4月21日,福晶科
-
洗牙齿一般多长时间洗一次_洗牙齿一般多少钱-世界新视野
1、具体去医院检查一下,洗牙在几十元到几百元不等。2、有国产的和进口的机器区别。3、建议去正规的医院进行牙齿洁治,防止感
-
康龙化成(300759):4月21日北向资金增持91.34万股
4月21日北向资金增持91 34万股康龙化成。近5个交易日中,获北向资金增持的有3天,累计净增持92 12万股。近20个交易日中,获北向资金减持的有10
-
万年青(000789):4月21日北向资金减持62.38万股_环球消息
4月21日北向资金减持62 38万股万年青。近5个交易日中,获北向资金减持的有3天,累计净减持124 47万股。近20个交易日中,获北向资金减持的有10