问题描述
这真是一个令人头疼的问题,因为直到昨天,一切都运行良好多年。我有一个谷歌云帐户并且计费设置正确。我的 GCR 注册表中有私有映像,我可以从我的笔记本电脑(配备 Big Sur 11.4 的 MacBook Pro)“docker pull”和“docker push”,没有任何问题。
昨天我在谷歌云控制台中删除了一个项目后,我在这里详述的问题开始发生,然后用相同的名称从头开始重新创建它。之前的项目拉GCR镜像没问题,新项目拉不了同样的镜像。我现在使用云控制台创建了具有各种名称的新的空测试项目,以及使用默认 GKE 值的新集群。但是这个新问题仍然存在。
当我使用 kubectl 在 GKE 上创建使用同一项目中的任何 GCR 映像的部署时,我收到 ErrImagePull 错误。当我“描述”不会加载图像的 pod 时,错误(项目 ID 被遮挡)是:
拉取镜像失败 "gcr.io/test-xxxxxx/test:1.0.0": rpc error: code = 未知描述 = 无法拉取和解压映像“gcr.io/test-xxxxxx/test:1.0.0”:无法解析参考 “gcr.io/test-xxxxxx/test:1.0.0”:意外状态代码 [manifests 1.0.0]:401 未经授权。
当我从笔记本电脑使用 kubectl 时会发生这种情况(包括在擦除并使用正确的凭据创建新的 .kube/config 文件之后),但是当我使用云控制台通过选择“来设置部署”时发生的情况完全相同为 GCR 映像部署到 GKE'...不涉及 kubectl。
如果我通过 ssh 连接到这些新集群中的任何一个节点并尝试“docker pull”一个 GCR 映像(在同一个项目中),我会收到类似的错误:
来自守护程序的错误响应:未经授权:您没有所需的 执行此操作的权限,并且您可能拥有无效的权限 证书。要验证您的请求,请按照以下步骤操作: https://cloud.google.com/container-registry/docs/advanced-authentication
我从众多文章中了解到,GKE 无需设置特殊授权即可从同一项目中提取 GCR 映像,而且我过去从未遇到过此问题。
我希望我不是这个荒岛上唯一的人。预先感谢您的帮助!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)