在另一个项目中使用来自 GKE 的 Google Container Registry
Using Google Container Registry from GKE in another project
GKE 集群如何从另一个项目中托管的 Container Registry 中拉取容器镜像?
我在项目 <reader-project>
中有一个 GKE 集群试图访问项目 <registry-project>
中的 GCR 映像。
我已尝试将 <reader-project>
的 GCE 服务帐户电子邮件添加为对 <registry-project>
中的存储桶具有 Reader 访问权限的用户,但我仍然遇到错误:
<Error><Code>AccessDenied</Code>
<Message>Access denied.</Message>
<Details>Caller does not have storage.objects.get access to object us.artifacts.<registry-project>.appspot.com/containers/images/sha256:<tag>.
</Details></Error>
尝试将 GCE 服务帐户电子邮件添加为具有存储对象查看者角色的用户。它为服务帐户提供对项目中 GCS 对象(容器图像)的只读访问权限。
您可以运行以下命令来检查两个存储桶的权限吗:
gsutil acl 获取 gs://us.artifacts..appspot.com
gsutil acl 获取 gs://artifacts..appspot.com
artifacts..appspot.com 是默认存储桶。当您将服务帐户添加为 Storage Object Viewer 时,将授予默认存储桶的只读权限。
这里是关于 gsutil 工具的link:
https://cloud.google.com/storage/docs/gsutil/commands/acl
查看您拥有 GKE 的项目的 IAM 权限,您将看到类似于以下内容的用户:123456789-compute@developer.gserviceaccount.com
。
然后在您的容器注册表项目中,授予该用户 Storage Object Viewer permission
。然后您的 GKE 将被允许从 th
中提取图像
GKE 集群如何从另一个项目中托管的 Container Registry 中拉取容器镜像?
我在项目 <reader-project>
中有一个 GKE 集群试图访问项目 <registry-project>
中的 GCR 映像。
我已尝试将 <reader-project>
的 GCE 服务帐户电子邮件添加为对 <registry-project>
中的存储桶具有 Reader 访问权限的用户,但我仍然遇到错误:
<Error><Code>AccessDenied</Code>
<Message>Access denied.</Message>
<Details>Caller does not have storage.objects.get access to object us.artifacts.<registry-project>.appspot.com/containers/images/sha256:<tag>.
</Details></Error>
尝试将 GCE 服务帐户电子邮件添加为具有存储对象查看者角色的用户。它为服务帐户提供对项目中 GCS 对象(容器图像)的只读访问权限。
您可以运行以下命令来检查两个存储桶的权限吗:
gsutil acl 获取 gs://us.artifacts..appspot.com
gsutil acl 获取 gs://artifacts..appspot.com
artifacts..appspot.com 是默认存储桶。当您将服务帐户添加为 Storage Object Viewer 时,将授予默认存储桶的只读权限。
这里是关于 gsutil 工具的link: https://cloud.google.com/storage/docs/gsutil/commands/acl
查看您拥有 GKE 的项目的 IAM 权限,您将看到类似于以下内容的用户:123456789-compute@developer.gserviceaccount.com
。
然后在您的容器注册表项目中,授予该用户 Storage Object Viewer permission
。然后您的 GKE 将被允许从 th