kubernetes 找不到kubeconfig文件

1sbrub3j  于 2022-11-02  发布在  Kubernetes
关注(0)|答案(4)|浏览(1095)

我正在尝试使用kubectl访问远程kubernetes集群。为了在kubeconfig文件中复制/粘贴集群身份证明,我尝试使用“~/.kube/config”命令进行访问,但出现错误,显示“无此文件或目录"。
有没有人能告诉我为什么我会得到这个错误?kubectl是完美的工作。

qmb5sa22

qmb5sa221#

在我的例子中,我在. bashrc中将KUBECONFIG变量设置为“~/.kube/config”。该文件存在且具有正确的权限,但不知何故它没有被解析。结果我不得不使用${HOME}来代替~。这就成功了。

bq3bfh9z

bq3bfh9z2#

如果您的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生成配置:
--展平[=假]:将生成的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. Configuration/Organizing Cluster Access Using kubeconfig Files
  2. Configuration/Organizing Cluster Access Using kubeconfig Files
  3. Mastering-kubeconfig
qcbq4gxm

qcbq4gxm3#

要解决此问题,您需要先在工作站中创建一个群集。2这将生成***KUBECONFIG***变量集,并将其设置为“~/.kube/config”目录。
或者,您可以使用--kubeconfig + kubeconfig文件的路径,其中

xlpyo6sf

xlpyo6sf4#

我在windows上使用git bash时也遇到过这种情况,最后我用我的home目录的绝对路径替换了KUBECONFIG变量中的$HOME值。

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

对我很有效。

相关问题