6

我在 Google Cloud 中有两个项目。在第一个项目中,我在容器注册表中有一些图像,我在 gke 中使用它。

当我尝试在第二个项目中创建容器时,它给了我一个错误:

错误:状态 403 试图提取存储库 project-1/image-x:“访问被拒绝。”

我如何在 gke 但在不同的项目中使用这些图像?我不想在第二个项目中创建相同的图像。

4

3 回答 3

10

在您的第二个项目(GKE 项目)中,查看 IAM 权限,您将看到类似于以下内容的用户:123456789-compute@developer.gserviceaccount.com

然后在您的第一个项目(容器注册表项目)中,授予该用户Storage Object Viewer permission以允许 GKE 拉取图像。

于 2017-08-07T17:51:58.967 回答
3

您可以使用存储图像的 Google Cloud Storage 存储分区上可用的访问控制设置来修改对哪些人可见图像。

参考:https ://cloud.google.com/container-registry/docs/access-control

如果您只想让所有图像对全世界都可读,那么来自其他 StackOverflow 答案的命令应该会有所帮助: gsutil -m acl -r set public-read gs://bucket-name gsutil -m defacl set public-read gs://bucket-name

于 2015-08-26T23:47:21.723 回答
1

我在此处的回答中对此进行了详细讨论:Access google container registry without the gcloud client

如果您无法正常工作,也请随时通过 gcr-contact@google.com 与我们联系,我们很乐意为您提供帮助。

于 2015-08-27T04:03:19.057 回答