• AWS ECR证书更新器
    • 安装ECR更新器
      • 已存在环境(Environment)
      • 新环境
    • 从ECR中启动镜像
    • IAM策略示例

    AWS ECR证书更新器


    ECR证书更新器是一个容器服务,它会间歇性自动测验AWS ECR API并拉取新的Docker注册证书. 更新器通过IAM证书向 AWS 验证,IAM 证书能让更新器获取请求Docker证书的权限。Docker证书假设发起请求的IAM用户有相同的镜像仓库权限。IAM 用户至少要有对所有ECR镜像库的读权限用户才能在Rancher中从代码库拉取镜像. 请查阅 Amazon ECR IAM Policies and Roles 获取关于许可权的详情。

    注意:: 如果不启动 ECR 更新器。任何添加到 Rancher 的注册 token 都会过期,以至不能再拉取镜像.

    安装ECR更新器

    已存在环境(Environment)

    如果您已经有一个正在运行的 Cattle 环境,到应用商店 -> 官方认证 下找到 Rancher ECR 证书更新器. 启动这个应用商店应用时, 您需要配置服务的 AWS 访问密钥。这些您已经提供了合适的访问策略密钥因该给用户使用。

    注意: 如果您要用 Kubernetes, 我们推荐您编辑环境模版,并在创建环境前把这个模版添加到环境模版中。如果您已经有了一个 Kubernetes, 您可以删除这个 Kubernetes 应用, 这样就可以把它转成 Cattle 来启动应用商店应用,同时在应用商店中重新启动这个 Kubernetes。

    新环境

    您可以用环境模版创建一个新环境。这个新创建的环境已经有激活了的 Rancher ECR 证书更新器 模版。这样可就以用这个模版在任何环境中部署这个更新器了。

    从ECR中启动镜像

    在这个环境中,您需要添加ECR作为一个 镜像库. 一旦您启动了这个服务,您的 ECR 证书将永远不会失效,这样就可以永远从 ECR 中启动镜像了。

    在 Rancher 中指定镜像名时,使用AWS提供完整的限定地址。 比如 aws-account-number.dkr.ecr.us-west-2.amazonaws.com/my-repo:latest

    IAM策略示例

    下面是一个您可能在服务的准生产遇到的泛例。这个示例中,Rancher能够在各自的AWS 账号中拉取镜像。

    1. {
    2. "Version": "2012-10-17",
    3. "Statement": [{
    4. "Effect": "Allow",
    5. "Action": [
    6. "ecr:GetAuthorizationToken",
    7. "ecr:BatchCheckLayerAvailability",
    8. "ecr:GetDownloadUrlForLayer",
    9. "ecr:GetRepositoryPolicy",
    10. "ecr:DescribeRepositories",
    11. "ecr:ListImages",
    12. "ecr:DescribeImages",
    13. "ecr:BatchGetImage"
    14. ],
    15. "Resource": "*"
    16. }]
    17. }