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

Posted

技术标签:

【中文标题】如何通过 AWS EKS 在 ECR 中使用 Docker 映像【英文标题】:How to use Docker Image in ECR with AWS EKS 【发布时间】:2019-06-04 04:43:03 【问题描述】:

我已经创建了 EKS 集群。我在 ECR 中也有 docker 映像。我不确定如何在 YAML 的 pod 定义中使用 docker 映像。

是否需要秘密提供凭据?或 EKS IAM 角色应该拥有 ECR 的权限?

是否需要对 ECR 中的图像进行任何权限更改?

【问题讨论】:

【参考方案1】:

如果您遵循EKS getting started guide,一切都将开箱即用,您只需在 Pod 定义(spec.containers.image 字段)中指定完整的图像名称(例如ACCOUNT.dkr.ecr.REGION.amazonaws.com/imagename:tag)。

之所以有效,是因为Kubernetes has native support for ECR 并且 Kubernetes 工作节点的 CloudFormation template 将 AmazonEC2ContainerRegistryReadOnly 策略附加到实例配置文件。

【讨论】:

这仅适用于图像存储在公共 ECR 存储库中或我遗漏了什么? 如果 AmazonEC2ContainerRegistryReadOnly 策略附加到工作节点,则适用于同一帐户中的私有 ECR。 不创建和维护 Kubernetes 机密?在那种情况下,我必须再看看它,这会让事情变得更容易 不涉及任何秘密。

以上是关于如何通过 AWS EKS 在 ECR 中使用 Docker 映像的主要内容,如果未能解决你的问题,请参考以下文章

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

aws vpc 端点 - 它是如何工作的?

如何在 AWS-ECR 中为 docker 映像使用环境变量?

如何深入理解 EKS IRSA 的实现机制

如何深入理解 EKS IRSA 的实现机制

k8s在AWS EKS部署并通过ALB访问k8s Dashboard保姆级教程