記錄k8集群scheduler和controller-manager組件狀態為Unhealthy的一次修復


1.查看k8集群各個組件的狀態,kubectl get cs --all-namespaces

發現scheduler組件和controller-manager組件Unhealthy

2.報錯表示連不上本地的10251和10252端口,那么首先查看其監聽的端口是否存在

ss -ntlpu |grep 10251 

ss -ntlpu |grep 10252

 可知端口不存在。查看其后端服務是否存在

 3.查看其后端服務是否存在,kubectl get pod -A |grep kube-system

 

可知狀態正常Running

那么此時就懷疑是不是容器執行沒有開啟這兩個端口的策略,在機器上找到scheduler和controller-manager的配置yaml(以kube-scheduler舉例子)

 4.檢查組件yaml配置的端口(容器run時的參數配置了--port=0)。

 find ./ -name "*scheduler*"

可知scheduler組件和controller-manager組件的yaml中默認禁用了非安全端口,故刪除--port=0(兩者都刪除此配置項)。

 

5.重啟kubelet,systemctl restart kubelet,在查看cs的狀態

可知已修復

 


免責聲明!

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



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