K8S集羣問題一-kuboard中controller節點分片更新報錯

最近在弄K8S集羣,3個master節點組成,使用的kuboard(很適合我這種小白)做爲圖形界面。在kuboard中看到不少controller節點分片更新報錯。截圖以下:centos

image.png

大體意思就是:更新節點時某個服務的節點找不到了。網上基本找了一圈也沒找到相似問題和解決辦法,這裏總結下。api

分析解決:

1.請注意controller,這個關鍵字,應該是controller-manager這個管理控制組件,那就先看下controller-manager,執行:ide

kubectl get pods -n kube-system -o wide

image.png

controller-manager竟然累計重啓已經23次了,會不會是由於重啓致使找不到節點呢?
2.帶着疑問,那接下來想的是爲什麼致使重啓呢?執行:centos7

kubectl describe pods/kube-controller-manager-k8s-master3 -n kube-system

image.png

仔細看了遍describe會詳細記錄關於pod的信息,也能看到重啓次數,我這裏是想找下最後一次重啓時間,而後再去看下對應時間的日誌,究竟是什麼緣由重啓。因爲pod自動重啓恢復正常看不到具體錯誤日誌。同時,注意到controller-manager是有Liveness存活檢查的,每10S檢查一次,到這裏大概能猜想到kuboard裏面常常報更新節點找不到的錯誤了(還有不少正常的更新節點日誌輸出),那個頻繁更新節點,應該就是定時健康檢查。spa

3.那接下來想看具體日誌,執行:3d

kubectl logs -f kube-controller-manager-k8s-master3 -n kube-system --tail 100

image.png

但是這已是重啓後的日誌,截取部分更新節點報錯的日誌,我是真沒看出究竟是啥問題,要說問題多是apiserver接口請求超時。這個日誌看起來真費勁,日誌級別也沒有,並且上次重啓日誌我該如何查看呢?到這裏沒辦法繼續往下排查了。日誌

4.而後再看了下幾個節點,是否是都有這個報錯,無心中發現其中一個節點並無報這個錯誤。對比下該節點的系統版本和內核。發現系統版本爲:centos 7.7 ,內核版本爲4.4 .再看報錯節點系統版本爲:7.3 內核版本:4.4。去搜了下kuboard文檔,推薦用centos7.6以上。因而刪除節點,更新系統版本到最新7.8(注意更新系統版本後,系統內核是默認的3.10,再升級下內核到4.4。不然還會遇到一些問題,坑比較多)。Error updating Endpoint 更新節點報錯暫時沒有了,就這樣由於系統內核問題致使這個更新報錯。code

總結

K8S系統版本推薦升級到7.6以上,內核版本固然也是推薦4.4.
對於重啓的日誌我真沒看出來到底怎麼回事,若是有同窗遇到歡迎討論提出你的問題。
後續遇到問題再陸續總結分享,謝謝你們~server

相關文章
相關標籤/搜索