k8s集群整個down,主機反復(fù)重啟---承接上一篇文章(k8s一節(jié)點ip無故反復(fù)斷連接)

現(xiàn)象:

測試環(huán)境,某 運維人員在做例行變更(增加zabbix監(jiān)控主機資源),并增加根目錄空間,重啟某一臺node節(jié)點后,所有node節(jié)點出現(xiàn)重啟,并且一直重啟,無法正常服務(wù)

環(huán)境:

k8s集群運行于vSphere 虛擬化平臺上,版本centos7.4

結(jié)論:

在部署的k8s集群的時候,之前由于根目錄空間不足,將docker默認使用的/var/lib/docker 目錄link到/app/docker-data/docker目錄下面,不知道是否是bug,已經(jīng)運行一年多的集群,居然突然出現(xiàn)node節(jié)點重啟。后面重裝所有master,node節(jié)點的docker,并且沿用/var/lib/docker(目錄非link),問題解決

定位過程:

1.前期基本定位

  • 該問題很難定位,因為虛擬機一直在重啟,開始主要在定位操作系統(tǒng)的重啟原因,但是根本沒有定位出問題,只能看到:
    `
    ausearch -i -m system_boot,system_shutdown | tail -4

type=SYSTEM_BOOT msg=audit(06/29/2020 19:10:02.821:7) : pid=832 uid=root auid=unset ses=unset msg=' comm=systemd-update-utmp exe=/usr/lib/systemd/systemd-update-utmp hostname=? addr=? terminal=? res=success'

type=SYSTEM_BOOT msg=audit(06/29/2020 20:14:27.786:7) : pid=830 uid=root auid=unset ses=unset msg=' comm=systemd-update-utmp exe=/usr/lib/systemd/systemd-update-utmp hostname=? addr=? terminal=? res=success'
`
沒有任何價值。

  • 聯(lián)想到由于做了zabbix的監(jiān)控,故停止監(jiān)控,停止后,node節(jié)點依然重啟
  • 通過vSphere斷掉虛擬機網(wǎng)卡,發(fā)現(xiàn)節(jié)點不在重啟,懷疑是網(wǎng)絡(luò)問題
  • 停止caclio插件,node節(jié)點依然重啟,并停止node節(jié)點上的caclio容器,停止后,node節(jié)點依然重啟;再次啟動caclio插件后,我艸,問題出來了,master節(jié)點也掛了,整個k8s測試集群全部在重啟,暈死。。。

2.第二個階段

  • 整個集群全部掛了,那只能找其中一臺來定位,首要任務(wù)是恢復(fù)master,node節(jié)點先等等。
  • 虛擬機啟動后,先停止兩個服務(wù):
    systemctl stop docker
    systemctl stop kubelet
    停止以后,虛擬機沒有再次出現(xiàn)重啟的問題
  • 啟動docker,并停止docker里面的所有容器,虛擬機沒有繼續(xù)重啟
  • 啟動master節(jié)點上的keepalived,發(fā)現(xiàn)keepalived一旦啟動,虛擬機立刻重啟,難道和keepalived有關(guān)系
  • 在node節(jié)點啟動下keepalived ,同樣會重啟,在其他裝有容器的虛擬機上,啟動keepalived ,并沒法發(fā)生重啟,相同鏡像版本的keepalived,什么鬼??
  • 難道不是keepalived的問題,而是docker的問題;重復(fù)上面的步驟:即停止容器和kubelet。并停止docker里面的所有容器,啟動其他容器服務(wù),本次在master節(jié)點操作,運行的服務(wù)是haproxy,結(jié)果虛擬機。難道是docker問題,docker用的版本是:Docker version 18.06.1-ce, build e68fc7a,也是一個成熟的版本,不該有問題才是;
  • 看了好久的docker日志,也沒有看出什么問題來,啟動docker都正常,就是不能啟用服務(wù)
  • 偶然想到,之前docker的文件放在/var/lib/docker ,且是link到,改回源目錄/var/lib/docker,重啟docker以后,再次嘗試,依然不行;重裝docker,并使用默認的目錄/var/lib/docker,然后再次驗證發(fā)現(xiàn)問題不在出現(xiàn)
  • 恢復(fù)集群,重裝下docker,并且擴下根目錄,問題搞定,但是為何導(dǎo)致主機重啟,還未發(fā)現(xiàn)原因。新裝虛擬機,并重裝docker,也做成link,無法重現(xiàn)。。。。
  • 且運行了一年有余都沒問題,再次先做記錄,后面先規(guī)避此類問題先,有空的時候去dockerhub上看看是否有類似bug。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容