更新时间:2024-05-31 GMT+08:00

容器镜像迁移方案概述

应用现状

随着容器化技术的发展,越来越多的企业使用容器代替了虚拟机完成应用的运行部署目前许多企业选择自建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 及以上版本