首页 > 解决方案 > 没有在 Kubernetes 工作节点上提供配置

问题描述

我正在建立一个多节点、多硬件服务器 Kubernetes 集群。我正在使用 Calico 和 Kubeadm。

我使用 vagrant 和 ansible 和 virtualbox 在许多硬件服务器上的网络上设置节点。它正在工作,节点使用 kubeadm 通过 join-command 加入了主节点。主节点正在识别远程节点。

vagrant@Server-1-MASTER:~$ kubectl get nodes
NAME                STATUS   ROLES    AGE     VERSION
master              Ready    master   3h37m   v1.18.2
server-1-worker-1   Ready    <none>   3h23m   v1.18.2
server-2-worker-1   Ready    <none>   171m    v1.18.2
server-2-worker-2   Ready    <none>   41m     v1.18.2

我正面临一个配置问题,我正在尝试解决该问题以设置工作节点的规则和访问权限。

问题: 在工作人员上,发生错误

no configuration has been provided, try setting KUBERNETES_MASTER environment variable

使用 kubectl 命令时

vagrant@Server-1-WORKER-1:~$ kubectl get pods

error: no configuration has been provided, try setting KUBERNETES_MASTER 

environment variable

vagrant@Server-1-WORKER-1:~$ kubectl get ns

error: no configuration has been provided, try setting KUBERNETES_MASTER 

environment variable

并且 env 变量为空:

vagrant@Server-1-WORKER-1:~$ echo $KUBECONFIG


我在问是否有人可以帮助我解决这个问题,设置正确的变量值来构建一个完整的工作集群。

谢谢你。

标签: kuberneteskubeadm

解决方案


Kubeadm 不会在工作节点上自动设置 kubeconfig 文件。将位于的 kubeconfig 文件/etc/kubernetes/admin.conf从主节点复制到工作节点,并将KUBECONFIG环境变量设置为指向配置文件的路径。


推荐阅读