問題描述
#kubectl get cs
Warning: v1 ComponentStatus is deprecated in v1.19+
NAME STATUS MESSAGE ERROR
controller-manager Unhealthy Get "http://127.0.0.1:10252/healthz": dial tcp 127.0.0.1:10252: connect: connection refused
scheduler Unhealthy Get "http://127.0.0.1:10251/healthz": dial tcp 127.0.0.1:10251: connect: connection refused
etcd-0 Healthy {"health":"true"}
問題解決
#組件監測異常,只是監測的端口錯誤,默認監測10251/10252實際監聽的不是這個導致,在有些版本會出現類似的問題,不過不影響集群的正常,顯示讓人很不爽
#/etc/kubernetes/manifests
[root@localhost kubernetes]# cd manifests/ //static pod
[root@localhost manifests]# ll
-rw------- 1 root root 2149 Dec 11 19:47 etcd.yaml
-rw------- 1 root root 3181 Dec 11 19:47 kube-apiserver.yaml
-rw------- 1 root root 2857 Dec 11 19:47 kube-controller-manager.yaml //注釋 --port=0
-rw------- 1 root root 1413 Dec 11 19:47 kube-scheduler.yaml //注釋 --port=0
[root@localhost manifests]#
# - --port=0
#重啟kubelet服務,如果集群運行很久不建議重啟kubelet服務,可以對kube-controller-manager、kube-scheduler的deployment重啟
systemctl restart kubelet.service
[root@c8-100-30 ~]# kubectl get cs
Warning: v1 ComponentStatus is deprecated in v1.19+
NAME STATUS MESSAGE ERROR
controller-manager Healthy ok
scheduler Healthy ok
etcd-0 Healthy {"health":"true"}