命令 `gcloud 容器集群 get-credentials` 不会创建 kubeconfig

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

当我输入

gcloud container clusters get-credentials
时,我会得到回复
entry generated for ***.
。看起来好像已经生成了,但是当我点击
kubectl config view
时,什么也没有。

参考

gcloud container clusters get-credentials
说,

gcloud 容器集群 get-credentials updates 具有适当凭证和端点信息的 kubeconfig 文件,以将 kubectl 指向 Google Kubernetes Engine 中的特定集群。

所以我认为问题是

~/.kube/config
不存在,但创建一个空文件并没有改变它。

gcloud kubectl
2个回答
0
投票

原因是WSL的

PATH
默认包含了Windows端的
PATH
,所以调用的是Windows上的
gcloud
(scoop安装的)。 我通过排除Windows的
PATH
解决了这个问题,参考this gists


0
投票

我遇到了这个问题,但使用的是 Google Cloud Shell。与上述用户非常相似,解决方案是将

--verbosity=debug
添加到命令
gcloud container clusters get-credentials my-cluster --zone my-zone --project my-project --verbosity=debug
。然后输出我的 kubeconfig 输出到的位置。

在本例中/对于 Cloud Shell,这是行

DEBUG: Saved kubeconfig to /root/.kube/config
,而不是
kubectl config view
读取的位置。看起来
gcloud container clusters
命令忽略了我之前的
export KUBECONFIG=~/.kube/config
命令,并且在没有告诉我的情况下将其写在任何地方。一旦我知道它写在哪里,将文件复制到我想要的位置就可以了,并且
kubectl config view
输出了预期的数据。

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