CCE 镜像仓库迁移至 CCR
CCE 镜像仓库迁移至 CCR
百度云容器镜像服务升级为 CCR,作为独立产品提供更加丰富的功能,如安全扫描、多地域自动同步、主子账户授权等。CCE 内镜像服务会陆续停止功能更新,计划 2021 年 2 月 1 日设为只读模式,不支持新增镜像 push,已有镜像仍可 pull。
- CCE 仓库地址:hub.baidubce.com
- CCR 仓库地址:registry.baidubce.com
建议将新增的镜像 push 到 CCR 地址:registry.baidubce.com。
迁移方法
hub.baidubce.com 已有镜像会一直支持可读,最简单的迁移方式是注册 CCR 账户,将新增镜像推送到 registry.baidubce.com,已有服务不受影响,服务后续变更则使用 registry.baidubce.com 镜像地址,这种方式适用于绝大多数用户。
如果要将 hub.baidubce.com (CCE)中已有镜像迁移到 registry.baidubce.com (CCR),可以使用 CCR "镜像迁移功能"。此功能仅支持镜像粒度的迁移,不能支持命名空间粒度迁移。所有的迁移操皆为复制操作,不会影响CCE原有镜像。
第一步,创建迁移仓库
点击左侧导航栏的镜像迁移,然后在横向导航栏,点击仓库授权,选择创建仓库:
- 类型选择:docker-registry
- 仓库名称全局唯一,可以考虑填名字加时间戳
- 填入cce的url:hub.baidubce.com
- 用户名和密码填CCE的用户名和密码
第二步,创建迁移规则
创建仓库成功后,点击左侧导航栏的镜像迁移,然后在横向导航栏,点击迁移任务,选择创建迁移规则。
进入到创建规则界面:
- 源仓库,选择刚刚创建的仓库,例如cce-to-ccr
- 目的仓库选择CCR已有的命名空间,如果没有,可以去命名空间创建
- 资源筛选的名称写,"CCE命名空间/CCE镜像",如cce/test
- 资源筛选的版本,不填就是选择迁移所有镜像版本
- 如果选择覆盖,是覆盖CCR已有的相同镜像,不会影响CCE镜像
注意:镜像版本建议是不要迁移超过100个版本
另外资源筛选和资源版本支持以下匹配模式:
- *: 匹配除"/"之外的任何字符
- **:匹配所有字符,包括分隔符"/"
- ?: 匹配除"/"之外的任何单个字符
- {name1,name2,...}: 匹配能够被大括号里逗号分隔的任意匹配模式符合的字符串
匹配示例:
匹配规则 | 符合示例 |
---|---|
library/hello-world | 只匹配library/hello-world |
library/* | 只匹配library/hello-world,但不匹配library/v1/hello-world |
library/** | 只匹配library/hello-world和library/v1/hello-world |
1.? | 匹配1.0,1.2但是不匹配1.01 |
{library1, library2}/* | 匹配library1/hello-world和library2/hello-world |
注意:CCE迁移到CCR仅支持镜像粒度的迁移,不能支持命名空间粒度迁移,只填写命名空间会导致迁移失败。
第三步,启用迁移规则,创建迁移任务
创建规则成功后,回到规则列表,找到刚才创建的规则,点击立即启动,迁移就开始了。每点击一次立即启动,就会创建一个迁移任务,任务是并行执行的,执行的都是同一个规则
第四步,查看迁移任务
迁移后,会迁移任务列表,可以查看迁移进度,当状态为成功后,表示迁移成功。在迁移过程中可以选择停止迁移,已迁移的镜像无法撤回,不需要的话,可以到镜像列表进行删除。