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、實木地板:它的木材特點是當氣候干燥時,木材里面水分釋出,而氣候潮濕,木材又會吸附...