gcloud 'no such file or directory'

gcloud 'no such file or directory'

在 Ubuntu 20.04 上,gcloud 安装了 snap install google-cloud-sdk --classic...

今天它不再有效了。昨天有一个自动更新。

$ kubectl get all
Unable to connect to the server: error executing access token command "/snap/google-cloud-sdk/188/bin/gcloud config config-helper --format=json": err=fork/exec /snap/google-cloud-sdk/188/bin/gcloud: no such file or directory output= stderr=

它引用的版本 188 不见了,现在是 190。(版本 189 也存在。)

我已经卸载并删除了.config/gcloud,并重新安装,但仍然有同样的错误。

关于在何处查找该陈旧路径的任何提示?

我怀疑它可以在您的 kubectl 配置文件中找到(在 Linux 上:${HOME}/.kube/config 或者可能作为 ${KUBECONFIG}.[=17= 的值]

对于 GKE 集群,相关的 userauth-providerconfig 将包含类似于 cmd-path: /.../google-cloud-sdk/bin/gcloud 的内容,我认为这就是您要编辑的内容。

问题是 gcloud 将对 gcloud 二进制文件的过时引用存储到 ~/.kube/config。解决办法是把/snap/google-cloud-sdk/.*/gcloud->/snap/bin/gcloud换成~/.kube/config.

在命令行上使用 perl 完成此操作的示例:

perl -i -p -e 's/\/snap\/google-cloud-sdk\/.*?\/gcloud/\/snap\/bin\/gcloud/' ~/.kube/config