配置好k8s集羣后,一段時間發現兩個節點變成NotReady狀態,這個服務器經歷過重啓,systemctl status kubelet顯示kubelet.service未啓動報錯log如下:
3月 25 11:35:52 westwell systemd[1]: kubelet.service: Unit entered failed state.
3月 25 11:35:52 westwell systemd[1]: kubelet.service: Failed with result 'exit-code'
最終解決方案:關閉系統交換
$ swapoff -a
參考:https://blog.csdn.net/yangqinjiang/article/details/81538539
另一節點是服務器重裝了系統,所以在master中把原先的節點刪除了,重新在這個服務器安裝k8s集羣的事情,當執行:
systemctl enable kubelet && systemctl start kubelet 後,想看一下kubelet的啓動狀態,結果顯示如下:
3月 25 14:32:19 westwell systemd[1]: kubelet.service: Main process exited, code=exited, status=255/n/a
3月 25 14:32:19 westwell systemd[1]: kubelet.service: Unit entered failed state.
3月 25 14:32:19 westwell systemd[1]: kubelet.service: Failed with result 'exit-code'.
經網上查閱,重新安裝(或第一次安裝)k8s,未經過kubeadm init 或者 kubeadm join後,kubelet會不斷重啓,這個是正常現象……,執行init或join後問題會自動解決,對此官網有如下描述,也就是此時不用理會kubelet.service。
“The kubelet is now restarting every few seconds, as it waits in a crashloop for kubeadm to tell it what to do. This crashloop is expected and normal, please proceed with the next step and the kubelet will start running normally.”
備註:journalctl -xefu kubelet 可查看systemd 日誌查看具體報錯信息。
參考:https://blog.csdn.net/nklinsirui/article/details/80583971
正常啓動的kubelet.service如下圖: