报错原因分析
        报错信息中提到了连接被拒绝,并指出了连接的主机和端口为localhost:8080。这个错误通常是由于kubectl无法与Kubernetes API服务器建立连接导致的。Kubernetes API服务器是集群的控制平面,负责管理集群的各种操作和资源。当kubectl无法连接到API服务器时,就无法获取节点的信息,从而导致了报错。

解决步骤

1. 执行一下该命令

 mkdir -p $HOME/.kube
 sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
 sudo chown $(id -u):$(id -g) $HOME/.kube/config

会在当前用户下创建一个名为.kube的目录,并把相关的kube config 文件拷贝到当下。

如果还报错请往下看

2. 在当前用户目录下,去掉 sudo 命令 直接使用 kubectl get node 命令,这个问题的解决方案是使用合适的用户使用kubectl。使用sudo会产生错误。只有创建主节点的用户(root)才能使用kubectl。

如果出现错误为:

error: Error loading config file "/etc/kubernetes/admin.conf": 
open /etc/kubernetes/admin.conf: permission denied

检查 /etc/kubernetes/admin.conf 的权限

sudo ll /etc/kubernetes/admin.conf

如果权限不足进行授权,该命令保证 非root的全部用户具有读取的权限。

sudo chmod +r /etc/kubernetes/admin.conf

该问题就可以被解决了!

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐