找不到 kubeconfig 文件

问题描述 投票:0回答:5

我正在尝试使用 kubectl 访问远程 kubernetes 集群。为了在 kubeconfig 文件中复制/粘贴集群凭据,我尝试使用“~/.kube/config”命令进行访问,但出现错误“没有这样的文件或目录”。

有人可以告诉我为什么会出现此错误吗? kubectl 运行完美。

ubuntu kubernetes remote-access
5个回答
14
投票

就我而言,我在 .bashrc 中将 KUBECONFIG 变量设置为“~/.kube/config”。该文件存在并且具有正确的权限,但未以某种方式得到解决。结果我不得不使用 ${HOME} 代替 ~。这就成功了。


10
投票

如果您的

kubectl
在您的集群上正常工作,那么
/kube/config
文件应该在那里。

您可以在启动命令时以越来越详细的级别检查文件的位置:

➜  ~ kubectl get pods -v=6

...] Config loaded from file:  /home/thomas/.kube/config ◄ ◄ ◄ ◄ ◄
...] Starting client certificate rotation controller
...] GET https://172.17.0.4:8443/api/v1/namespaces/default/pods?limit=500 200 OK in 11 milliseconds

有一种解决方法可以让您使用

kubectl config view --flatten
生成配置:

--flatten[=false]:将生成的 kubeconfig 文件压平为自包含输出(对于创建可移植的 kubeconfig 文件很有用)

还有一种可能是,在使用 kubeadm 启动集群时,您没有按照说明相应地移动文件(:

  • 要使 kubectl 适用于非 root 用户,请运行以下命令, 这也是

    kubeadm init
    输出的一部分:

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    
  • 或者,如果您是

    root
    用户,您可以运行:

    export KUBECONFIG=/etc/kubernetes/admin.conf
    

如果您将 kubectl 与 sudo 一起使用,您将使用根路径中的

kube/config


欲了解更多内容,请查看以下内容:

  1. 使用 kubeconfig 文件配置/组织集群访问
  2. 使用 kubeconfig 文件配置/组织集群访问
  3. 掌握-kubeconfig

5
投票

要解决此问题,您首先需要在工作站中创建一个集群。这将生成设置为“~/.kube/config”目录的 KUBECONFIG 变量。

或者您可以使用 --kubeconfig + kubeconfig 文件的路径


1
投票

这发生在我身上,在 windows 上使用 git bash。 我最终将 KUBECONFIG 变量中的 $HOME 值替换为我的主目录的绝对路径。 即

export KUBECONFIG=/c/Users/<my user name>/.kube/config

它对我有用。


0
投票

安装kubectl后,我的Windows 10机器上没有任何配置文件。我已经创建了一个配置文件并手动添加我的集群和用户信息。

我设置了一个新的,如下所示:

$env:KUBECONFIG="C:\Users\Your_username.kub

© www.soinside.com 2019 - 2024. All rights reserved.