kubernetes節點斷電重啟


背景:運行的好好的k8s集群,某天斷電,發現一個節點炸了,顯示NotReady

kubectl get nodes

 

可以確定 k8s-node1是真的炸了,那么如何查找問題呢? 我們用它:journalctl工具是CentOS-7才有的工具

Systemd 統一管理所有 Unit 的啟動日志。帶來的好處就是 ,可以只用journalctl一個命令,查看所有日志(內核日志和 應用日志)。日志的配置文件/etc/systemd/journald.conf 

journalctl用法:
查看所有日志(默認情況下 ,只保存本次啟動的日志): journalctl 
查看內核日志(不顯示應用日志): journalctl -k 
查看系統本次啟動的日志: journalctl -b

查看上一次啟動的日志(需更改設置):
 在該[Journal]部分下,將該Storage=選項設置為“persistent”以啟用持久記錄:
        vim    /etc/systemd/journald.conf
    . . .
    [Journal]
    Storage=persistent

查看httpd服務的日志信息:

我們使用的是:

追蹤日志
要主動追蹤當前正在編寫的日志,大家可以使用-f標記。同樣功能類似為tail -f,只要不終止,會一直監控
journalctl -f

也許最有用的過濾方式是你感興趣的單位。我們可以使用這個-u選項來過濾我們可以使用這個-u選項來過濾
journalctl -u

所以我們最終使用的命令是:
journalctl -f -u kubelet!

最后重新啟動。

#重啟docker
systemctl daemon-reload systemctl restart docker

#重啟kubelet
systemctl restart kubelet.service

 

這次的原因是斷電導致的集群某個節點掛掉。

 可以看出kubernetes容災能力很強,重啟docker后,node節點上部署的容器也在逐步恢復。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM