Ubuntu 20.04下snap安装的gcloud更新后报no such file or directory错误如何解决
排查修改位置
- kubeconfig配置文件(99%的问题都出在这里)
默认路径为~/.kube/config,如果你配置了KUBECONFIG环境变量,需要检查变量指向的所有配置文件。在配置文件中找到users字段下对应GKE集群的用户条目,修改exec.command属性中的旧版本gcloud路径。 - gcloud组件关联配置
如果你之前手动指定过gcloud组件的路径优先级,可以执行gcloud config list检查是否有写死的旧版本路径配置,存在的话直接删除对应配置项即可。 - kubectl第三方插件缓存
如果你使用了krew等kubectl插件管理工具,或者自定义了集群凭证获取插件,需要检查对应插件的配置文件中是否写死了旧版本gcloud路径。
修复方案
- 打开kubeconfig文件,将
exec.command中的具体版本路径/snap/google-cloud-sdk/188/bin/gcloud替换为snap全局软链路径/snap/bin/gcloud,该路径永远指向当前最新版本的gcloud,可避免后续snap自动更新后再次出现该问题。 - 执行
kubectl get all验证是否恢复正常,若仍报错可以重新执行一次gcloud container clusters get-credentials <你的集群名> --zone <集群可用区> --project <项目ID>重新生成凭证配置,会自动覆盖旧的路径配置。 - 可选优化:将
/snap/bin加入用户环境变量PATH的最优先位置,后续生成新集群凭证时会自动写入通用软链路径,不会再绑定具体版本号。
内容的提问来源于stack exchange,提问作者jws
相关产品推荐
相关产品推荐

