kubeadm-1.19.0版本controller-manager及scheduler元件Unhealthy問題
阿新 • • 發佈:2021-02-06
技術標籤:kubeadmkubernetes
- 問題現象
部署完master節點以後,執行kubectl get cs命令來檢測元件的執行狀態時,報如下錯誤:
Get “http://127.0.0.1:10251/healthz”: dial tcp 127.0.0.1:10251: connect: connection refused
- 原因分析
確認kube-scheduler和kube-controller-manager元件配置是否禁用了非安全埠
- 解決方法
出現這種情況,是/etc/kubernetes/manifests/下的kube-controller-manager.yaml和kube-scheduler.yaml設定的預設埠是0導致的,解決方式是註釋掉對應的port即可,操作如下:
[[email protected] ~]# cd /etc/kubernetes/manifests/
[[email protected] manifests]# ls
kube-apiserver.yaml kube-controller-manager.yaml kube-scheduler.yaml
修改kube-controller-manager.yaml檔案:註釋掉27行
[[email protected] manifests]# vim kube-controller-manager.yaml
27 # - --port=0
修改kube-scheduler.yaml檔案:註釋掉19行,- --port=0
[[email protected] manifests]# vim kube-scheduler.yaml
19 # - --port=0
在master節點上重啟kubelet
[[email protected] manifests]# systemctl restart kubelet.service
再次檢視master元件狀態,狀態正常