Kubernetes 拉取私人外部亚马逊 ECR 图像

Kubernetes pull private external amazon ECR images

我有一个带有 K8S 集群的 Amazon 账户,它能够从同一账户的 ECR 存储库中提取图像。

但是,我的公司在另一个 ECR 存储库中有另一个帐户。我如何从这个 "external" ECR 存储库中提取图像?

我也是 Rancher 用户,我过去常常通过安装一个特殊的容器 (https://github.com/rancher/rancher-ecr-credentials) 来完成这项工作。

Kubernetes 是否有等效的东西?

感谢您宝贵的帮助

由于您已经设置了从同一个账户拉取镜像的设置,您可以使用 IAM 策略级别或 ECR 权限执行此操作,在您的其他 AWS 账户中设置一个指定 AWS 帐号的策略(k8s 是)将能够拉取图像

例如在 ECR 权限选项卡中授予拉取权限

{
    "Version": "2008-10-17",
    "Statement": [
        {
            "Sid": "k8s-aws-permissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::aws_account_number:root"
            },
            "Action": [
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage",
                "ecr:BatchCheckLayerAvailability"
            ]
        }
    ]
}