阿里云开源 image-syncer 工具容器镜像大批量迁移同步利器
怎么把已有的容器镜像平滑的迁移到阿里云镜像服务 ACR 上?最近阿里云给出了很好的方案,他们开源了 image-syncer 工具,能够使得成百上千个镜像实现平滑的批量迁移,其中最大镜像仓库的总量可以达到 3T 以上。而这一工具,也被称为容器镜像迁移/同步利器,雷锋网 AI 开发者将其重点内容及开源地址整理编辑如下。
顾名思义,image-syncer 本质上就是图像同步器。它是一个 docker 镜像同步工具,能够将多对多的镜像仓库同步,并支持目前绝大多数主流的 docker 镜像仓库服务,例如:ACR、DockerHub、Quay、自建 Harbor 等。
通常情况下,在 k8s 集群迁移场景中,镜像仓库之间进行镜像迁移/同步是基本需求,而使用 docker pull/push 结合脚本的传统方式进行镜像同步,有如下几个局限性:
依赖磁盘存储,需要及时进行本地镜像的清理,并且落盘造成多余的时间开销,难以胜任生产场景中大量镜像的迁移
一些功能只能通过 HTTP api 进行操作,单纯使用 docker cli 无法做到,使脚本变得复杂
而 image-syncer 开发之初的定位就是一个简单、易用的批量镜像迁移/同步工具;因此,它的特性如下:
增量同步, 通过对同步过的镜像 blob 信息落盘,不重复同步已同步的镜像
只需要保证 image-syncer 的运行环境与需要同步的 registry 网络连通,使用者就可以快速地完成从镜像仓库的迁移、拷贝以及增量同步,并且该工具对硬件资源几乎没有要求(因为 image-syncer 严格控制网络连接数目=并发数,所以只有在当单个镜像层过大的情况下,并发数目过大可能会打满内存,内存占用 = 并发数 x 最大镜像层大小)。
// 同步目标需要拥有 push 以及创建仓库权限,如果没有提供,则默认匿名访问
// 同步镜像规则字段,其中条规则包括一个源仓库(键)和一个目标仓库(值)
// 同步的最大单位是仓库(repo),不支持通过一条规则同步整个 namespace 以及 registry
// 源仓库字段不能为空,如果需要将一个源仓库同步到多个目标仓库需要配置多条规则
// 当源仓库字段中不包含 tag 时,表示将该仓库所有 tag 同步到目标仓库,此时目标仓库不能包含 tag
// 当源仓库字段中包含 tag 时,表示只同步源仓库中的一个 tag 到目标仓库,如果目标仓库中不包含 tag,则默认使用源 tag
// 当目标仓库为空字符串时,会将源镜像同步到默认 registry 的默认 namespace 下,并且 repo 以及 tag 与源仓库相同,默认 registry 和默认 namespace 可以通过命令行参数以及环境变量配置,参考下面的描述
用户可以根据配置不同的镜像同步规则组合,以匹配不同的迁移/同步需求,如将单个镜像 repo 同步到多个不同的镜像 repo、将多个源镜像同步到单个镜像 repo 中(以 tag 区分)、在同一个 registry 中以不同的名字拷贝一个镜像 repo 等等。
需要注意的是,如果匿名访问作为同步源的 registry 地址,可能存在权限问题无法 pull 镜像以及无法获取 tags,这种情况下需要在 auth 中加入有对应权限的账号密码;而如果匿名访问作为同步目标的 registry 地址,可能存在权限问题无法 push 镜像,同样也可能需要用户提供有对应权限的账号密码。
下载 image-syncer 可执行文件(目前只支持 linux amd64 版本,可以自行编译)并解压,然后运行工具
一次同步会经历三个阶段:生成同步任务、执行同步任务以及重试失败任务;其中,每个同步任务都代表了一个需要同步的 tag(镜像),如果配置文件中某条规则没有指定 tag,在「生成同步任务」阶段会自动 list 源仓库所有 tag,并生成对应的同步任务,如果生成同步任务失败,也会在重试阶段进行重试。(故意配错账号密码时)执行输出如下:球速体育官方网站
上一篇:VMware Fusion 12全新特性让虚拟机变得更好
栏 目:CentOS
本文标题:阿里云开源 image-syncer 工具容器镜像大批量迁移同步利器
本文地址:http://aihaoedu.com/fuwuqijiaocheng/2074.html
您可能感兴趣的文章
- 10-26Acrel-3000WEB标准版
- 10-26【蓝因子教育】部署你的Python项目Python-Jack-Jack
- 10-26CentOS 60正式版终于发布 附下载地址
- 10-26Windows 11安装过程中如何禁用默认的BitLocker加密?
- 10-26【推荐收藏】2024年5款最佳 GPU 渲染引擎大盘点
- 10-23Rocky Linux 是否能替代CentOS
- 10-23时代的欧拉还是欧拉的时代?
- 10-23拒绝CentOS停更焦虑躺平式“平替”是哪家?
- 10-23CentOS 9 中文正式版下载 - 流行稳定的免费企业级 Linux 服务器操作系统
- 10-23Centos70下载 中文正式版(附安装教程)
阅读排行
推荐教程
- 08-04SJTUG下架Docker Hub镜像
- 08-30CentOS创始人开辟新项目Rocky Linux并火速上线官网
- 08-21VMware vSphere Foundation从应用程序到存储的智能操作
- 06-29CentOS 75 正式发布 基于 RHEL 的安全稳定发行版
- 08-04选择更多:优麒麟新增上海交大等四大镜像站
- 08-08一站式采购!麒麟信安 CentOS 安全加固套件上架华为云云商店
- 09-03VMware Fusion 12全新特性让虚拟机变得更好
- 08-07统一操作系统UOS官网正式上线:自带全家桶、可替代Windows
- 08-08北京理工大学学术网
- 08-25CentOS Linux 7 生命周期今日正式结束不会获得更新和安全补丁