did you specify the right host or port报错处理

问题描述

k8s集群突然访问不了了,使用kubectl get node查询节点信息的时候,报如下错误:

The connection to the server <host>:6443 was refused - did you specify the right host or port?

根据报错,查看服务器系统日志,看到如下报错:

"Failed to run kubelet" err="failed to run Kubelet: unable to load bootstrap kubeconfig: stat /etc/kubernetes/bootstrap-kubelet.conf: no such file or directory"

解决步骤:

根据报错信息可以看到bootstrap-kubelet.conf文件已经不存在了,导致kubelet无法启动。应该是证书过期了,才导致无法执行kubectl命令了。需要手动来更新证书文件。
集群是用kubeadm来部署的。需要执行kubeadm命令来进行更新证书。

1、首先是备份,将原有的文件先移到别的地方
cd /etc/kubernetes/pki/
$ mv {apiserver.crt,apiserver-etcd-client.key,apiserver-kubelet-client.crt,front-proxy-ca.crt,front-proxy-client.crt,front-proxy-client.key,front-proxy-ca.key,apiserver-kubelet-client.key,apiserver.key,apiserver-etcd-client.crt} ~/
2、更新证书
$ kubeadm init phase certs all --apiserver-advertise-address <IP>
3、备份配置文件
cd /etc/kubernetes/
$ mv {admin.conf,controller-manager.conf,kubelet.conf,scheduler.conf} ~/
kubeadm init phase kubeconfig all
4、重启服务器
reboot
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

执行完这几步以后,在试下kubectl get node,就可以查询出来node节点信息了。

你可能感兴趣的:(kubernetes,kubernetes,容器,云原生)