CCE镜像仓库存量镜像迁移CCR企业版
概述
本文用于指导用户把CCE镜像仓库hub.baidubce.com 中的存量镜像迁移到CCR企业版使用。
镜像迁移完成后,CCR 企业版支持私有网络访问和公网访问两种方式,可按业务场景选择对应入口进行镜像推拉取测试。关于CCE镜像仓库的下线公告和详细时间节点请参考 CCE镜像仓库下线公告
前提条件
- 已开通 CCR 服务,并完成关联服务授权,同时开通 BOS 服务。
- 使用主账号,或已为子用户授予操作 CCR 企业版所需的 IAM 权限,包括
CCRFullControlPolicy和ECCRFullControlAccessPolicy。 - 已创建 CCR 企业版实例,并根据访问场景完成网络访问策略和访问凭据配置。
- 已获取待迁移的存量镜像列表,并在目标 CCR 企业版实例中提前创建对应命名空间。## 存量镜像迁移指南
前提:创建企业版实例并配置访问策略
- 开通CCR服务并配置IAM访问权限
在百度智能云控制台中选择产品服务 > 容器镜像服务CCR进入容器镜像服务控制台,请按照页面提示开通容器镜像服务并为关联服务授权(需要同步开通BOS服务)。
开通服务需要主账号或拥有系统管理员的子用户。 子用户登录操作,需要配置IAM访问权限。登录云控制台,鼠标移到右上角头像处,进入多用户访问控制>子用户。在子用户管理列表中,点击添加权限,为子用户进行授权,在编辑权限中选择相应的策略后,单击确定按钮即可为该用户授予对应权限。
CCR控制台权限:CCRFullControlPolicy 企业版CCR目前提供三种种IAM系统策略:ECCRReadAccessPolicy(只读访问企业版CCR权限)、ECCROperateAccessPolicy(运维操作权限)和ECCRFullControlAccessPolicy(完全控制权限),分别对应企业版CCR的不同访问级别。 子用户的权限受直接被赋予的策略控制,同时也会继承来自组的权限策略 备注:操作CCR企业版要同时授予CCRFullControlPolicy和ECCRFullControlAccessPolicy权限。
- 创建CCR企业版实例
在百度智能云控制台中选择产品服务 > 容器镜像服务CCR进入容器镜像服务控制台,选择 企业版 > 新建实例。
按照业务实际需求切换对应的地域和实例规格。不同规格的实例功能覆盖和分发性能有所差异,详细请参考:CCR企业版实例规格差异
- 配置网络访问策略
企业版实例创建成功后,进入实例详情选择【访问控制】菜单,配置私有网络或公网访问,详细操作参考:网络访问控制
- 私有网络:将预期需要访问CCR的vpc子网关联。
- 公网:开启公网访问入口,并按需添加公网白名单ip。如果想允许全部来源IP公网访问配置:0.0.0.0/0
- 配置访问凭据
在做完网络访问策略配置以后,进入【访问凭据】菜单,设置固定密码(docker login使用的密码)才可以访问CCR实例,详细操作参考:配置访问凭据
tips:在配置完成以后,在自己的机器上执行docker login 能成功表示配置正确。
迁移步骤
步骤一:下载镜像迁移工具
linux 版本:https://ccr-test.cdn.bcebos.com/tools/image-transfer-linux.tar.gz
mac os版本:https://ccr-test.cdn.bcebos.com/tools/image-transfer-mac.tar.gz
步骤二:梳理待迁移镜像列表
因为cce镜像仓库已经没有产品查询入口,所以针对原来cce镜像仓库中的存量镜像列表,需要 提工单联系我们,cce后台人员在确认用户身份后提供镜像列表。
cce提供的镜像列表格式如下:
1hub.baidubce.com/<源命名空间>/<镜像名称>:<镜像标签>
2hub.baidubce.com/<源命名空间>/<镜像名称>:<镜像标签>
3hub.baidubce.com/<源命名空间>/<镜像名称>:<镜像标签>
4hub.baidubce.com/<源命名空间>/<镜像名称>:<镜像标签>
生成镜像迁移规则配置文件transfer-rule.yaml,文件内容的组织格式如下:
1# 源镜像仓库域名/命名空间/镜像名称:镜像标签 : 目标镜像仓库域名/命名空间/镜像名称:镜像标签
2hub.baidubce.com/<源命名空间>/<镜像名称>:<镜像标签> : <CCR 访问域名>/<目标命名空间>/<镜像名称>:<镜像标签>
3hub.baidubce.com/<源命名空间>/<镜像名称>:<镜像标签> : <CCR 访问域名>/<目标命名空间>/<镜像名称>:<镜像标签>
4hub.baidubce.com/<源命名空间>/<镜像名称>:<镜像标签> : <CCR 访问域名>/<目标命名空间>/<镜像名称>:<镜像标签>
5hub.baidubce.com/<源命名空间>/<镜像名称>:<镜像标签> : <CCR 访问域名>/<目标命名空间>/<镜像名称>:<镜像标签>
注意:需要提前在目标的CCR企业版实例中创建好迁移的命名空间。
步骤三:镜像仓库鉴权配置文件
镜像仓库鉴权配置文件 registry-secret.yaml,分别保存访问源镜像仓库和目标镜像仓库的用户名密码。
1hub.baidubce.com:
2 username: <CCE 镜像仓库访问用户名>
3 password: <CCE 镜像仓库访问密码>
4 insecure: true
5<CCR 访问域名>:
6 username: <CCR 企业版实例访问用户名>
7 password: <CCR 企业版实例访问密码>
8 insecure: true
其中,访问源镜像仓库的账号需要具备待迁移镜像的拉取权限,访问目标 CCR 企业版实例的账号需要具备镜像推送权限。#### 步骤四:执行镜像迁移动作
参考命令:./image-transfer --securityFile=registry-secret.yaml --ruleFile=transfer-rule.yaml --routines=5 --retry=3
建议nohup后台执行命令,从输出的日志内容可以看到详细的迁移过程,根据配置的重试参数,如果有迁移失败的镜像工具会自动重试。
步骤五:迁移结果查看
通过日志看没有失败重试的,表示全部执行成功。可以登录CCR企业版实例在控制台查看迁移过去的镜像列表
迁移后的镜像使用
镜像迁移到企业版实例以后,CCR企业版提供了私有网络访问和公网访问两种类型的入口,可以通过私有域名、或公网域名进行镜像推拉取测试,访问域名分别是:
私有网络域名:{实例ID}-vpc.cnc.{region}.baidubce.com
公网访问域名:{实例ID}-pub.cnc.{region}.baidubce.com
在百度云VPC环境(如CCE集群)访问CCR企业版
步骤一:CCR企业版实例配置私有网络访问
在CCE集群里使用CCR镜像,推荐配置私有网络访问。
先登录 容器引擎CCE控制台,进入目标集群详情页,确认节点所在的私有网络和具备可用 IP 的子网;若由其他云上资源访问 CCR,也需要先确认实际接入的私有网络和子网。
返回 CCR 控制台,在目标实例详情页选择 【访问控制】。在私有网络配置区域选择目标私有网络和子网,IP 地址 保持自动分配,自动解析 保持开启,然后点击 【确定】。
| 参数 | 必填 | 说明 |
|---|---|---|
| 私有网络 | 是 | 选择实际访问 CCR 的私有网络。 |
| 子网 | 是 | 选择该私有网络下仍有可用 IP 的子网。 |
| IP 地址 | 否 | 保持自动分配。 |
| 自动解析 | 否 | 保持开启,便于使用私有域名访问。 |
更多关于CCR企业版私有网络的操作参考:私有网络访问控制
步骤二:CCE集群创建工作负载
在CCE集群里使用CCR镜像部署工作负载,推荐使用私有网络地址访问镜像。
- 在CCE控制台集群页面选择 工作负载>无状态 ,进入工作负载页面。
- 点击新建无状态或使用Yaml创建,进入工作负载创建页面
备注:在CCE集群中使用私有镜像仓库访问凭证配置参考 私有镜像使用实践;同时CCE支持免密拉取CCR镜像,需要安装CCE免密组件。
- 查看工作负载运行情况
在CCE控制台工作负载页面,可以查看工作负载运行情况,以及工作负载使用的镜像等信息
在公网访问 CCR 企业版
导航路径:产品服务->容器镜像服务 CCR->企业版->目标实例->【访问控制】
在公网环境中,使用 CCR 实例的公网域名访问。需要先在实例的 【访问控制】 中开启公网访问入口,并配置公网白名单;公网白名单需要覆盖执行 docker login、docker pull、docker push 的机器公网出口 IP。
完成配置后,在本地终端执行 docker login、docker pull、docker push 等命令。更多操作参考 使用CCR企业版推送拉取镜像。
评价此篇文章
