K8s 使用 kubectl 访问 api-server 失败,node “XXX“ not found

目录

1. 引言

2. 解决步骤


1. 引言

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

2. 解决步骤

(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

K8s 使用 kubectl 访问 api-server 失败,node “XXX“ not found_第1张图片

(4)查看宿主机 ip

ifconfig

K8s 使用 kubectl 访问 api-server 失败,node “XXX“ not found_第2张图片

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

cat /etc/hosts

K8s 使用 kubectl 访问 api-server 失败,node “XXX“ not found_第3张图片

修改为 master.com

vim /etc/hosts

K8s 使用 kubectl 访问 api-server 失败,node “XXX“ not found_第4张图片

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

kubectl get node

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

你可能感兴趣的:(K8s,问题,fix,kubernetes,运维,容器,linux,k8s)