背景
基于阿裡雲自己手動搭建了幾次k8s叢集,采用flannel VXLAN 建構的Overlay覆寫網絡, (關閉了安全組,route路由表設定正常 iptables規則都開啟Accept ,主機上ip_forward功能正常開啟)均出現k8s跨節點 pod網絡不通,k8s叢集中主控端無法ping通跨主機的pod id。
備注:(網絡上也有類似問題,大多數是通過iptables轉發是不是有限制之類的解決,不生效)
兩台節點k8s叢集:
主控端ip位址為:
10.136.1.251 flannel 配置設定ip 網段為10.244.0.0/24
10.136.1.252 flannel 配置設定ip 網段為 10.244.1.0 /24
大緻現象
1、主控端之間網絡是通的

2、主控端可以 ping 通部署在目前主機上的pod ,去ping 部署在其他主控端pod ip 不通
問題排查
- ifconfig配置 是否有問題
節點一
節點二
ifconfig配置
網段配置基本是正常的,cni0、flannel.1 、eth0 網絡裝置正常啟動 ,都已經配置設定了正常的ip 子網這塊也都配置正常。
-
檢視主控端路由是否正常
節點一路由表:
節點二路由表:
flannel路由配置正常
- iptables規則是否配置正常
節點一:
節點二:
iptable 規則配置沒問題,基本都是accept
- 網絡抓包
使用tcpdump 分别抓去flannel.1、eth0 網卡,發現資料包從eth0出去後 沒有響應 對應節點并沒有收到包
問題結論:
在排查過程中:
- flannel.1網段設定正确 ifconfig。
- route -n路由表配置正确
- iptable -L -N檢視 沒有相關Deny
- FDB都正常
,是以預計到是雲服務廠商安全組設定的問題,在傳輸層被攔截了,最終定位到是阿裡雲伺服器企業安全組配置的問題,在傳輸層就進行了攔截,導緻發出去的包沒有回來被deny了 ,是以這塊去開啟安全組就解決了問題。