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 账号中拉取镜像。
- {
- "Version": "2012-10-17",
- "Statement": [{
- "Effect": "Allow",
- "Action": [
- "ecr:GetAuthorizationToken",
- "ecr:BatchCheckLayerAvailability",
- "ecr:GetDownloadUrlForLayer",
- "ecr:GetRepositoryPolicy",
- "ecr:DescribeRepositories",
- "ecr:ListImages",
- "ecr:DescribeImages",
- "ecr:BatchGetImage"
- ],
- "Resource": "*"
- }]
- }