CCE镜像仓库存量镜像迁移CCR企业版
总体介绍
本文用于指导用户把CCE镜像仓库hub.baidubce.com 中的存量镜像迁移到CCR企业版使用。
关于CCE镜像仓库的下线公告和详细时间节点请参考 CCE镜像仓库下线公告
存量镜像迁移指南
前提:创建企业版实例并配置访问策略
- 开通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/cce/pause:3.1
2hub.baidubce.com/cce/redis:5.0.1
3hub.baidubce.com/cce/nginx:stable
4hub.baidubce.com/cce/nginx-alpine-go:latest
生成镜像迁移规则配置文件transfer-rule.yaml,文件内容的组织格式如下:
1# 源镜像仓库域名/命名空间/镜像名称:镜像Tag : 目标镜像仓库域名/命名空间/镜像名称:镜像Tag
2hub.baidubce.com/cce/pause:3.1 : ccr-2xxxxx-vpc.cnc.bj.baidubce.com/cce/pause:3.1
3hub.baidubce.com/cce/redis:5.0.1 : ccr-2xxxxx-vpc.cnc.bj.baidubce.com/cce/redis:5.0.1
4hub.baidubce.com/cce/nginx:stable : ccr-2xxxxx-vpc.cnc.bj.baidubce.com/cce/nginx:stable
5hub.baidubce.com/cce/nginx-alpine-go:latest : ccr-2xxxxx-vpc.cnc.bj.baidubce.com/cce/nginx-alpine-go:latest
注意:需要提前在目标的CCR企业版实例中创建好迁移的命名空间。
步骤三:镜像仓库鉴权配置文件
镜像仓库鉴权配置文件 registry-secret.yaml,分别保存访问源镜像仓库和目标镜像仓库的用户名密码。
1hub.baidubce.com:
2 username: username #cce镜像仓库访问用户名,
3 password: password #cce镜像仓库用户名密码,要求可以正确的登录hub.baidubce.com,并有权限pull待迁移镜像
4 insecure: true
5ccr-2xxxxx-pub.cnc.bj.baidubce.com: # ccr企业版实例访问域名
6 username: username # ccr企业版实例访问用户名,要求有权限访问push镜像到企业版
7 password: password # ccr企业版实例访问密码
8 insecure: true
步骤四:执行镜像迁移动作
参考命令:./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控制台,在顶部菜单栏,选择所需地域并查看企业版集群管理>集群列表。
- 点击集群名称进入CCE集群详情页面,查看cce集群的节点网络。
- 在CCR控制台实例详情选择 仓库管理>访问控制 ,默认进入私有网络配置页面。
私有网络:选择CCE集群所在的私有网络。
子网:选择任意一个有可用ip的子网。
ip地址和自动解析保持默认自动模式。
点击确定保存后,等待几秒钟生效。当状态变为可用以后,表示私有网络配置完成。
更多关于CCR企业版私有网络的操作参考:私有网络访问控制
步骤二:CCE集群创建工作负载
在CCE集群里使用CCR镜像部署工作负载,推荐使用私有网络地址访问镜像。
- 在CCE控制台集群页面选择 工作负载>无状态 ,进入工作负载页面。
- 点击新建无状态或使用Yaml创建,进入工作负载创建页面
备注:在CCE集群中使用私有镜像仓库访问凭证配置参考 私有镜像使用实践;同时CCE支持免密拉取CCR镜像,需要安装CCE免密组件。
- 查看工作负载运行情况
在CCE控制台工作负载页面,可以查看工作负载运行情况,以及工作负载使用的镜像等信息
在公网访问CCR企业版
在公网环境,使用CCR实例的公网域名访问,注意需要先配置公网访问白名单。
在机器上执行docker login/pull/push等命令。更多操作参考:使用CCR企业版推送拉取镜像