Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > K8s使用kubectl访问api-server失败,node “XXX“ not found

K8s使用kubectl访问api-server失败,node“XXX“ not found的解决方案

作者:SmallerFL

K8s中kubectl访问api-server失败,报错node not found,需检查连接、核对kubelet与宿主机IP,修正/etc/hosts或相关配置,确保节点信息匹配

引言

K8s 使用 kubectl 访问 api-server 失败,报错 node "XXX" not found。本文提供一种解决思路。

解决步骤

(1)使用 kubectl

kubectl get node

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

(2)查看 kubelet 日志

journalctl -xeu kubelet

5月 30 17:42:58 master.com kubelet[1049]: E0530 17:42:58.314060    1049 kubelet.go:2183] node "master.com" not found
5月 30 17:42:58 master.com kubelet[1049]: E0530 17:42:58.414432    1049 kubelet.go:2183] node "master.com" not found
5月 30 17:42:58 master.com kubelet[1049]: E0530 17:42:58.514811    1049 kubelet.go:2183] node "master.com" not found
5月 30 17:42:58 master.com kubelet[1049]: E0530 17:42:58.615160    1049 kubelet.go:2183] node "master.com" not found
5月 30 17:42:58 master.com kubelet[1049]: E0530 17:42:58.715273    1049 kubelet.go:2183] node "master.com" not found
5月 30 17:42:58 master.com kubelet[1049]: E0530 17:42:58.815516    1049 kubelet.go:2183] node "master.com" not found
5月 30 17:42:58 master.com kubelet[1049]: E0530 17:42:58.915924    1049 kubelet.go:2183] node "master.com" not found
5月 30 17:42:59 master.com kubelet[1049]: E0530 17:42:59.000379    1049 event.go:273] Unable to write event: 'Post "https://192.168.127.128:6443/api/v1/namespaces/default/events">
5月 30 17:42:59 master.com kubelet[1049]: E0530 17:42:59.016347    1049 kubelet.go:2183] node "master.com" not found
5月 30 17:42:59 master.com kubelet[1049]: E0530 17:42:59.116651    1049 kubelet.go:2183] node "master.com" not found
5月 30 17:42:59 master.com kubelet[1049]: E0530 17:42:59.217157    1049 kubelet.go:2183] node "master.com" not found
5月 30 17:42:59 master.com kubelet[1049]: E0530 17:42:59.317429    1049 kubelet.go:2183] node "master.com" not found

(3) 说明 master 节点无法找到 master.com,查看 kubelet 配置的ip

cat /etc/kubernetes/kubelet.conf

(4)查看宿主机 ip

ifconfig

(5)两者一致,说明 ip 是正确的,这说明宿主机的 /ets/hosts 配置有问题。如果 ip 不一致,则需要修改 kubelet、kubeadm、api-server 对应的 ip

cat /etc/hosts

修改为 master.com

vim /etc/hosts

(6)检测 kubectl 是否可以连接 api-server

kubectl get node

NAME         STATUS   ROLES    AGE   VERSION
master.com   Ready    master   37h   v1.19.4
work1        Ready    <none>   65m   v1.19.4
work2        Ready    <none>   64m   v1.19.4 

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文