在 gcloud 项目之间共享 docker 个注册表映像

Sharing docker registry images among gcloud projects

我们希望使用 google 项目来跨项目共享 docker 包含微服务的图像。

我在想我可以使用 kubernetes 运行 命令来做到这一点,并从当前项目以外的项目中提取图像:

kubectl run  gdrive-service --image=us.gcr.io/foo/gdrive-service 

我的用户凭据可以访问这两个项目。但是,运行 命令似乎只能从当前项目中拉取法师。

有没有办法做到这一点?这似乎是一个明显的用例。

这里有几个选项。

  1. 使用 _json_key 描述的 here 身份验证和 Kubernetes pull secrets。

  2. 描述了如何跨项目添加机器人,仍然不需要 pull secrets。

在我的 中,我描述了一种方法,即在包含注册表的项目下授予 GKE 服务帐户用户 Storage Object Viewer 权限。