在 EKS 中使用其他账户的 ECR 图像

Posted

技术标签:

【中文标题】在 EKS 中使用其他账户的 ECR 图像【英文标题】:Use ECR images in EKS from another account 【发布时间】:2019-12-09 15:10:20 【问题描述】:

我有两个帐户:帐户 A 和帐户 B。我想在帐户 A 上的帐户 B 上的 ECR 上运行映像。

我对如何授予 EKS 权限有点困惑。 起初我想在具有用户角色的 EKS 中创建一个 docker-registry。但是,当我阅读更多时,我明白这不是正确的方式。

有人试过吗?

【问题讨论】:

【参考方案1】:

首先,您的 EKS 需要具有 IAM 权限才能执行这些操作,就像在同一账户中再次执行 ECR 一样。

其次,您需要允许其他帐户访问 ECR 存储库。您可以通过登录到托管 ECR 的帐户的管理控制台来执行此操作。转到ECR -> 单击要让其他帐户访问的存储库-> 在左侧面板上,单击permissions -> 单击edit -> 单击add statement -> 填写@ 987654325@字段与您的第二个帐户的帐号,其余保持不变->点击save

【讨论】:

这确实有效。我已经有一个角色,但存储库的权限是缺失的部分。 有没有办法授予访问帐户中所有 ECR 存储库的权限,而不必授予每个存储库的权限? @NathanA 这是 AWS 最有趣的部分,他们没有办法管理注册表中的所有 repo。你是怎么管理的。我也有同样的情况 @Ysak 在我的例子中,我们最终使用 Pulumi 管理所有的 repos(尽管 Formation 或 Terraform 也可以工作)。使用 Pulumi 和单个 repo 配置,我们创建多个具有相同访问权限的 ECR repos。冗余,是的,​​但比手动操作更容易管理。

以上是关于在 EKS 中使用其他账户的 ECR 图像的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 AWS EKS 在 ECR 中使用 Docker 映像

AWS ECS Fargate 从跨账户 ECR 存储库中提取映像

EKS 中的 AWS 跨账户 Loki promtail 设置

跨账户 ECR 登录和推送构建的 Docker 映像的 CodePipeline 错误

AWS EKS 0/1 节点可用。 1 豆荚不足

AWS ECR GetAuthorizationToken 问题