Config not found: /etc/kubernetes/admin.conf -- 设置 kubeadm 工作节点后

Config not found: /etc/kubernetes/admin.conf -- After setting up kubeadm worker node

this tutorial 之后,我为我的集群设置了一个工作节点。但是,在 运行 join 命令并尝试 kubectl get node 验证节点已连接后,我遇到了以下错误

W0215 17:58:44.648813 3084402 loader.go:223] Config not found: /etc/kubernetes/admin.conf
The connection to the server localhost:8080 was refused - did you specify the right host or port?

检查 admin.conf/etc/kubernetes/ 中是否存在显示它不存在。我确保 $HOME/.kube/config 也很清楚。为什么加入命令没有创建 admin.conf 文件?

TLDR

  1. 运行 join 使用 sudo
  2. mv /etc/kubernetes/kubelet.conf /etc/kubernetes/admin.conf

经过一些修改,我意识到这是权限错误和使用错误名称生成的正确文件的组合。

而不是 运行 kubeadm join ... 裸体,运行 sudo 允许命令创建 /etc/kubernetes

中必需的文件
sudo kubeadm join <MASTER_IP:PORT> --token <TOKEN>     --discovery-token-ca-cert-hash <HASH>

然而,这不会生成 admin.conf,但会创建 kubelet.conf。我不确定为什么会发生这种情况,也找不到关于此行为的任何文档,但是 运行 kubectl 使用以下参数解决了我的问题

kubectl get nodes --kubeconfig /etc/kubernetes/kubelet.conf

此时将 kubelet.conf 重命名为 admin.conf