从自建 harbor 同步镜像到 ACR 企业版
本文将为您介绍将自建 harbor 上的镜像同步到 ACR 企业版,提供 image-syncer 的基本使用示例。
前提条件
- 您需要开通容器镜像服务。
登录容器镜像服务控制台开通相应的服务。
- 您已创建了 ACR 企业版实例,请参见创建企业版实例。
背景信息
ACR(Alibaba Cloud Container Registry)企业版提供企业级容器镜像、Helm Chart 安全托管能力,拥有企业级安全独享特性,具备千节点镜像分发、全球多地域同步能力。提供云原生应用交付链,实现一次应用变更,全球化多场景自动交付。主要适用于安全需求高、业务多地域部署、拥有大规模集群节点的企业级客户使用。
创建命名空间
- 登录容器镜像服务控制台。
- 单击左侧导航栏的
- 在命名空间页面,单击右上角的创建命名空间。
- 在创建命名空间页面中自定义命名空间,并单击确定。
授权
如果您使用子账号进行后续操作,需要先创建RAM子账号并授予授权。如果您使用主账号进行后续操作,请跳过此步骤。
配置公网访问控制
企业版实例创建后,默认不允许通过公网访问。因此在配置公网的访问控制策略前,需要先打开公网的访问入口。
获取访问凭证
在拉取私有镜像或者上传镜像前,需要docker login输入您的凭证信息。请按照如下操作获取访问凭证。
- 单击左侧导航栏的
- 在访问凭证页面单击设置固定密码。
- 在设置固定密码页面填写密码和确认密码,并单击确认。
您可以通过API获取临时密码访问镜像服务实例,请参见GetAuthorizationToken。
image-syncer 的同步配置
使用访问凭证中创建的密码,完成如下 image-syncer 的同步配置。
- 如果镜像同步工具运行在个人环境上需要使用公网域名。
- 如果要使用仅专有网络可见的域名,则将镜像同步工具运行在阿里云ECS实例上,并且通过配置使域名对该ECS所在的专有网络可见。
{
"auth": {
"harbor.myk8s.paas.com:32080": {
"username": "admin",
"password": "xxxxxxxxx",
"insecure": true
},
"ruohe-test-registry.cn-shanghai.cr.aliyuncs.com": {
"username": "ruohehhy",
"password": "xxxxxxxx"
}
},
"images": {
"harbor.myk8s.paas.com:32080/library/nginx": ""
}
}
harbor.myk8s.paas.com:32080
:本地搭建的 harbor 访问地址。需要替换成实际值。username
:harbor的用户名,本例中为admin。password
:harbor的密码。insecure
:需要设置为ture。
ruohe-test-registry.cn-shanghai.cr.aliyuncs.com
:本例中使用公网访问域名。username
:获取访问凭证的登录用户名。password
:获取访问凭证的创建的密码。
"harbor.myk8s.paas.com:32080/library/nginx": ""
: 通过 harbor.myk8s.paas.com:32080 访问 library/nginx 仓库。
通过 image-syncer 同步镜像
执行结果
一次镜像同步会经历三个阶段:生成同步任务、执行同步任务以及重试失败任务;其中,每个同步任务都代表了一个需要同步的镜像(tag),如果配置文件中某条规则没有指定 tag,在“生成同步任务”阶段会自动列出源仓库所有
tag,并生成对应的同步任务,如果生成同步任务失败,也会在重试阶段进行重试。
- 同步镜像正常结果输出如下所示。
- 同步镜像异常结果(例如,账号或密码错误)输出如下所示。
- 在运行时,image-syncer 会打印出如下的日志信息。
发布者:佚, 佚名,转转请注明出处:https://www.cms2.cn/aliyun/csk/5872.html