更新时间:2024-09-12 GMT+08:00

方案概述

应用现状

随着容器化技术的发展,越来越多的企业使用容器代替了虚拟机完成应用的运行部署。目前许多企业选择自建Kubernetes集群,但是自建集群往往有着沉重的运维负担,需要运维人员自己配置管理系统和监控解决方案。企业自运维大批镜像资源,意味着要付出高昂的运维、人力、管理成本,且效率不高。

容器镜像服务支持Linux、ARM等多架构容器镜像托管。企业可以将镜像仓库迁移到容器镜像服务,节省运维成本。

如何把已有的镜像仓库平滑地迁移到容器镜像服务?这里将介绍4种常见的方案,用户可以根据自己的实际使用场景来选择。

迁移方案

表1 迁移方案及适用场景对比

方案类型

适用场景

注意事项

使用docker命令迁移镜像至SWR

待迁移的镜像数量较少

  • 依赖磁盘存储,需要及时进行本地镜像的清理,而且落盘形成多余的时间开销,难以胜任生产场景中大量镜像的迁移。
  • 依赖docker程序,docker daemon对pull/push的并发数进行了严格的限制,没法进行高并发同步。
  • 一些功能只能经过HTTP api进行操作,单纯使用docker cli 没法做到,使脚本变得复杂。

使用image-syncer迁移镜像至SWR

待迁移的镜像数量庞大

  • 支持多对多镜像仓库同步。
  • 支持基于Docker Registry V2搭建的docker镜像仓库服务 (如Docker Hub、Quay、Harbor等)。
  • 同步只通过内存和网络,不依赖磁盘存储,同步速度快。
  • 增量同步, 经过对同步过的镜像blob信息落盘,不重复同步已同步的镜像。
  • 并发同步,能够通过配置文件调整并发数。
  • 自动重试失败的同步任务,能够解决大部分镜像同步中的网络抖动问题。
  • 不依赖 docker 以及其余程序。

使用image-migrator迁移镜像至SWR

待迁移的镜像数量庞大

支持将基于Docker Registry v2搭建的Docker镜像仓库中的镜像迁移到华为云SWR中。

跨云harbor同步镜像至华为云SWR

部分客户存在多云场景,并且使用某一家云上的自建Harbor作为镜像仓库

仅支持 Harbor V1.10.5 及以上版本