master初始化完成后,如下两个组件状态显示依然为Unhealthynode
root@master1:~$ sudo kubectl get cs 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"}
网上说修改bootstrap
root@master1:~$ ls /etc/kubernetes/manifests/
etcd.yaml kube-apiserver.yaml kube-controller-manager.yaml kube-scheduler.yaml
vim
修改清单文件,注释掉--port=0这一行,在对清单文件进行修改时先作备份操做api
注意:
在对清单文件作备份时,不要直接把清单文件备份在平级目录里,即/etc/kubernetes/manifests目录,须要备份到其余目录中或在平级目录再建立一个相似/etc/kubernetes/manifests/bak的备份目录,不然按照如下操做后master节点上依然没法监听10251和10252两个端口,组件健康状态依然没法恢复为health状态。
tcp
root@master1:~$ vim /etc/kubernetes/manifests/kube-controller-manager.yaml - command: - kube-controller-manager - --allocate-node-cidrs=true - --authentication-kubeconfig=/etc/kubernetes/controller-manager.conf - --authorization-kubeconfig=/etc/kubernetes/controller-manager.conf - --bind-address=127.0.0.1 - --client-ca-file=/etc/kubernetes/pki/ca.crt - --cluster-cidr=10.244.0.0/16 - --cluster-name=kubernetes - --cluster-signing-cert-file=/etc/kubernetes/pki/ca.crt - --cluster-signing-key-file=/etc/kubernetes/pki/ca.key - --controllers=*,bootstrapsigner,tokencleaner - --kubeconfig=/etc/kubernetes/controller-manager.conf - --leader-elect=true - --node-cidr-mask-size=24 - --port=0 ########################## 删除这行 ######### - --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt - --root-ca-file=/etc/kubernetes/pki/ca.crt - --service-account-private-key-file=/etc/kubernetes/pki/sa.key - --service-cluster-ip-range=10.96.0.0/12 - --use-service-account-credentials=true root@master1:~$ vim /etc/kubernetes/manifests/kube-scheduler.yaml - command: - kube-scheduler - --authentication-kubeconfig=/etc/kubernetes/scheduler.conf - --authorization-kubeconfig=/etc/kubernetes/scheduler.conf - --bind-address=127.0.0.1 - --kubeconfig=/etc/kubernetes/scheduler.conf - --leader-elect=true - --port=0 ########### 删除这行 #################
重启kubelet服务ide
root@master1:~$ systemctl restart kubelet
查看监听监听端口以及组件状态rest
root@master1:~$ ss -tanlp | grep '10251\|10252' LISTEN 0 128 *:10251 *:* users:(("kube-scheduler",pid=51054,fd=5)) LISTEN 0 128 *:10252 *:* users:(("kube-controller",pid=51100,fd=5)) root@master1:~$ kubectl get cs NAME STATUS MESSAGE ERROR scheduler Healthy ok controller-manager Healthy ok etcd-0 Healthy {"health":"true"}