首页 > 解决方案 > 找不到配置:/etc/kubernetes/admin.conf -- 设置 kubeadm 工作节点后

问题描述

按照本教程,我为我的集群设置了一个工作节点。但是,在运行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?

检查 in 的存在admin.conf表明/etc/kubernetes/它不存在。我确保这$HOME/.kube/config也很清楚。为什么 join 命令不创建 admin.conf 文件?

标签: kuberneteskubectlkubeadmkubelet

解决方案


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


推荐阅读