Calico部署完后pod狀態(tài)顯示CrashLoopBackOff如何處理奄抽?

按理說到這一步Calico網絡插件應該可以正常工作了喊废,但我這里有一個節(jié)點的容器一直 Error 和 CrashLoopBackOff绅这,查看一下 Pod 狀態(tài) 和 Pod 日志:


1662517111449.jpg

從上面日志報出的問題可以看出是訪問 :
https://10.0.0.1:443/api/v1/namespaces/kube-system/pods/kube-flannel-ds-kw2bh 的時候超時了糯累,然后我就切換到報錯這個k8s-node01~02主機上算利,試著手動訪問一下:

$ curl --connect-timeout 10 https://10.0.0.1:443/api/v1/namespaces/kube-system/pods/kube-flannel-ds-kw2bh
curl: (28) Connection timed out after 10002 milliseconds

可以看到的確是超時的。泳姐。所以現(xiàn)在要找一下超時的原因了效拭。

試著 ping 一下 10.0.0.1:

$ ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.138 ms
^C
--- 10.0.0.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.138/0.138/0.138/0.000 ms

也是 OK 的,證明 pingICMP 數(shù)據(jù)包是可以正常來回的胖秒,但 curl HTTP 數(shù)據(jù)包就不知道了缎患,但至少確定了不是 10.0.0.1 這個目標地址的問題。

現(xiàn)在只能抓一下包了阎肝,打開一個窗口挤渔,執(zhí)行 tcpdump -i eth0 host 10.0.0.1 -n 進行監(jiān)聽,然后在另一個窗口執(zhí)行 curl https://10.0.0.1:443/api/v1/namespaces/kube-system/pods/kube-flannel-ds-kw2bh风题,此時 tcpdump 抓取到的報文如下:

$ tcpdump -i eth0 host 10.0.0.1 -n 
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
18:04:36.404311 IP 10.0.0.1.45998 > 192.168.0.181.sun-sr-https: Flags [S], seq 479485038, win 65495, options [mss 65495,sackOK,TS val 3269988560 ecr 0,nop,wscale 7], length 0
18:04:37.440153 IP 10.0.0.1.45998 > 192.168.0.181.sun-sr-https: Flags [S], seq 479485038, win 65495, options [mss 65495,sackOK,TS val 3269989596 ecr 0,nop,wscale 7], length 0
...

現(xiàn)在就來分析一下這個報文了:

  • 首先判导,我是通過 curl 訪問 10.0.0.1;
  • 由于 10.0.0.1 這個地址是對 kube-apiserver 地址的代理沛硅,所以報文會被轉發(fā)到 kube-apiserver眼刃,即 192.168.0.181;
  • 而在上面抓取到的報文可以看出摇肌,報文轉到 192.168.0.181 時源地址為 10.0.0.1擂红,這就說明 192.168.0.181 回報文時也是直接會給 10.0.0.1 了;
  • 而顯然围小,回給 10.0.0.1 是不可取的昵骤,因為現(xiàn)在每個 Kubernetes Node 上都有一個 kube-apiserver 的代理地址树碱,并且 kube-apiserver 所在主機并沒有正確到到達 10.0.0.1 的路由;
  • 而現(xiàn)在有一個 Kubernetes Node 是正常的涉茧,說明當前網絡就把 10.0.0.1 這個地址綁定到了這個 Kubernetes Node赴恨,所以也就只有一個 Kubernetes Node 能夠正常訪問疹娶;
  • 所以這個報文對于 k8s-node01~02 來說是處于一個只能出不能進的狀態(tài)伴栓,那就當然超時了;

知道問題所在之處后雨饺,就有解決辦法了钳垮。只要將從 Kubernetes Node 出去的報文的源地址改為 Kubernetes Node 本身的地址,而不是 10.0.0.1 就行了额港,這樣響應報文就能正確從 kube-apiserver 所在主機響應到 Kubernetes Node 主機了饺窿。

在所有 Kubernetes Node機器上,添加如下 SNATiptables 規(guī)則即可:

$ iptables -t nat -A POSTROUTING -s 10.0.0.1/32 -j MASQUERADE

然后移斩,將其添加到 /etc/rc.local (避免以后重啟開機后不在自運行)

$ chmod +x /etc/rc.d/rc.local && echo 'iptables -t nat -A POSTROUTING -s 10.0.0.1/32 -j MASQUERADE' >> /etc/rc.d/rc.local

戶外題:如果安裝 Flannel 插件肚医,pod狀態(tài)出現(xiàn)了Error掉,該如何處理呢向瓷?

答:Flannel 運行時指定使用的網卡肠套,如 --iface=eth0,修改 Flannel 部署的 YAML 文件在 Flannel 容器部分運行參數(shù)列表加上就行猖任,如下:

containers:
  - name: kube-flannel
    image: registry.cn-shenzhen.aliyuncs.com/zze/flannel:v0.13.0
    command:
    - /opt/bin/flanneld
    args:
    - --ip-masq
    - --iface=eth0
    - --kube-subnet-mg

在網上查找是有這個解決方案你稚,不過這個方案對二進制部署k8s的起不到什么效果。如果還是不行朱躺,需要手動添加 SNATiptables 的規(guī)則刁赖。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市长搀,隨后出現(xiàn)的幾起案子宇弛,更是在濱河造成了極大的恐慌,老刑警劉巖源请,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件枪芒,死亡現(xiàn)場離奇詭異,居然都是意外死亡巢钓,警方通過查閱死者的電腦和手機病苗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來症汹,“玉大人硫朦,你說我怎么就攤上這事”痴颍” “怎么了咬展?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵泽裳,是天一觀的道長。 經常有香客問我破婆,道長涮总,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任祷舀,我火速辦了婚禮瀑梗,結果婚禮上,老公的妹妹穿的比我還像新娘裳扯。我一直安慰自己抛丽,他們只是感情好,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布饰豺。 她就那樣靜靜地躺著亿鲜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪冤吨。 梳的紋絲不亂的頭發(fā)上蒿柳,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天,我揣著相機與錄音漩蟆,去河邊找鬼垒探。 笑死,一個胖子當著我的面吹牛爆安,可吹牛的內容都是我干的叛复。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼扔仓,長吁一口氣:“原來是場噩夢啊……” “哼褐奥!你這毒婦竟也來了?” 一聲冷哼從身側響起翘簇,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤撬码,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后版保,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體呜笑,經...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年彻犁,在試婚紗的時候發(fā)現(xiàn)自己被綠了叫胁。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡汞幢,死狀恐怖驼鹅,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤输钩,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布豺型,位于F島的核電站,受9級特大地震影響买乃,放射性物質發(fā)生泄漏姻氨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一剪验、第九天 我趴在偏房一處隱蔽的房頂上張望肴焊。 院中可真熱鬧,春花似錦碉咆、人聲如沸抖韩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至双谆,卻和暖如春壳咕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背顽馋。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工谓厘, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人寸谜。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓竟稳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親熊痴。 傳聞我的和親對象是個殘疾皇子他爸,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內容