日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

k8s nodeport下访问请求未被分发到所有node的排错(转)

發布時間:2025/7/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 k8s nodeport下访问请求未被分发到所有node的排错(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文 https://www.myf5.net/post/2343.htm

現象:

從內部某個pod的容器里直接訪問service的cluster地址,請求可以被正常轉發到各個node上的pod里

但是從外部網絡,訪問nodeport發布的服務,則發現請求不能被轉發到其他node上

排錯發現,請求沒有被轉發到其他node的物理接口,說明問題出在接受請求的那臺node本身上

查看iptables filter表發現,轉發數據包匹配一條docker創建的規則導致丟棄

[root@docker3 ~]# iptables -nL -v --line-number Chain INPUT (policy ACCEPT 525 packets, 70924 bytes) num pkts bytes target prot opt in out source destination 1 258K 33M KUBE-FIREWALL all -- * * 0.0.0.0/0 0.0.0.0/0 2 259K 33M KUBE-SERVICES all -- * * 0.0.0.0/0 0.0.0.0/0 /* kubernetes service portals */ Chain FORWARD (policy DROP 1 packets, 64 bytes) num pkts bytes target prot opt in out source destination 1 1657 205K DOCKER-USER all -- * * 0.0.0.0/0 0.0.0.0/0 2 1657 205K DOCKER-ISOLATION all -- * * 0.0.0.0/0 0.0.0.0/0 3 790 132K ACCEPT all -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 4 35 2224 DOCKER all -- * docker0 0.0.0.0/0 0.0.0.0/0 5 818 70064 ACCEPT all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0 6 0 0 ACCEPT all -- docker0 docker0 0.0.0.0/0 0.0.0.0/0 7 35 2224 ACCEPT all -- !docker0 docker0 0.0.0.0/0 0.0.0.0/0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [root@docker3 ~]# iptables -nL -v --line-number Chain INPUT (policy ACCEPT 525 packets, 70924 bytes) num?? pkts bytes target???? prot opt in???? out???? source?????????????? destination???????? 1???? 258K?? 33M KUBE-FIREWALL??all??--??*??????*?????? 0.0.0.0/0????????????0.0.0.0/0?????????? 2???? 259K?? 33M KUBE-SERVICES??all??--??*??????*?????? 0.0.0.0/0????????????0.0.0.0/0????????????/* kubernetes service portals */ Chain FORWARD (policy DROP 1 packets, 64 bytes) num?? pkts bytes target???? prot opt in???? out???? source?????????????? destination???????? 1???? 1657??205K DOCKER-USER??all??--??*??????*?????? 0.0.0.0/0????????????0.0.0.0/0?????????? 2???? 1657??205K DOCKER-ISOLATION??all??--??*??????*?????? 0.0.0.0/0????????????0.0.0.0/0?????????? 3??????790??132K ACCEPT???? all??--??*??????docker0??0.0.0.0/0????????????0.0.0.0/0????????????ctstate RELATED,ESTABLISHED 4?????? 35??2224 DOCKER???? all??--??*??????docker0??0.0.0.0/0????????????0.0.0.0/0?????????? 5??????818 70064 ACCEPT???? all??--??docker0 !docker0??0.0.0.0/0????????????0.0.0.0/0?????????? 6????????0???? 0 ACCEPT???? all??--??docker0 docker0??0.0.0.0/0????????????0.0.0.0/0?????????? 7?????? 35??2224 ACCEPT???? all??--??!docker0 docker0??0.0.0.0/0????????????0.0.0.0/0

?

forward鏈中的 第1,2規則都導致丟棄

強制增加iptables -I FORWARD -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT 規則后,問題解決

但重啟會失效,持久化的一個方法見此文最后?http://www.cnadn.net/post/2304.htm

?

ps:筆者在網上找了一堆資料,基本沒有提及過nodeport轉發不通的問題,因為目前所有的iptables規則都是k8s安裝完后自動生成,沒有做過任何修改, 從A機器訪問kube-proxy的nodeport能轉發到B機器的 targetport, 但是從外網訪問A機器的kube-proxy的nodeport就無法轉發出去,集群網絡是通的,但就是無法轉發,后面看到此文加上iptables -I FORWARD -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT 果然可行

轉載于:https://www.cnblogs.com/devilwind/p/8891671.html

總結

以上是生活随笔為你收集整理的k8s nodeport下访问请求未被分发到所有node的排错(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。