应用现状
随着容器化技术的发展,越来越多的企业使用容器代替了虚拟机完成应用的运行部署。目前许多企业选择自建Kubernetes集群,但是自建集群往往有着沉重的运维负担,需要运维人员自己配置管理系统和监控解决方案。企业自运维大批镜像资源,意味着要付出高昂的运维、人力、管理成本,且效率不高。
容器镜像服务支持Linux、ARM等多架构容器镜像托管。企业可以将镜像仓库迁移到容器镜像服务,节省运维成本。
如何把已有的镜像仓库平滑地迁移到容器镜像服务?这里将介绍3种常见的方案,您可以根据自己的实际使用场景来选择。
迁移方案
表1 迁移方案及适用场景对比 方案类型 | 适用场景 | 注意事项 |
|---|
使用docker命令将镜像迁移至SWR | 待迁移的镜像数量较少 | - 依赖磁盘存储,需要及时进行本地镜像的清理,而且落盘形成多余的时间开销,难以胜任生产场景中大量镜像的迁移。
- 依赖docker程序,docker daemon对pull/push的并发数进行了严格的限制,没法进行高并发同步。
- 一些功能只能经过HTTP api进行操作,单纯使用docker cli 没法做到,使脚本变得复杂。
|
使用image-migrator将镜像迁移至SWR | 待迁移的镜像数量庞大 | - 支持多对多镜像仓库同步。
- 支持基于Docker Registry V2搭建的docker镜像仓库服务 (如Docker Hub、Quay、Harbor等)。
- 同步只通过内存和网络,不依赖磁盘存储,同步速度快。
- 增量同步, 经过对同步过的镜像blob信息落盘,不重复同步已同步的镜像。
- 并发同步,能够经过配置文件调整并发数。
- 自动重试失败的同步任务,能够解决大部分镜像同步中的网络抖动问题。
- 不依赖 docker 以及其余程序。
|
跨云Harbor同步镜像至华为云SWR | 部分客户存在多云场景,并且使用某一家云上的自建Harbor作为镜像仓库 | 仅支持 Harbor V1.10.5 及以上版本 |