当我输入
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
不存在,但创建一个空文件并没有改变它。
原因是WSL的
PATH
默认包含了Windows端的PATH
,所以调用的是Windows上的gcloud
(scoop安装的)。
我通过排除Windows的PATH
解决了这个问题,参考this gists。
我遇到了这个问题,但使用的是 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
输出了预期的数据。