背景
1 | 在k8s集群迁移场景中,镜像仓库之间迁移和同步是基本需求。 |
image-syncer简介和特点
- image-syncer
1 | image-syncer的定位是一个简单、易用的批量镜像迁移和镜像同步复制工具。 |
- 使用传统脚本方式docker pull/push镜像方式有如下局限性:
1 | 1. 依赖磁盘存储,需要及时进行本地镜像的清理,并且落盘造成多余的时间开销;难以胜任生产场景中大量镜像的迁移。 |
安装和使用
安装
1
2
3
4
5# 连接
https://github.com/AliyunContainerService/image-syncer/releases
wget https://github.com/AliyunContainerService/image-syncer/releases/download/v1.1.0/image-syncer-v1.1.0-linux-amd64.tar.gz
# 解压
tar zxvf image-syncer-v1.1.0-linux-amd64.tar.gz设置配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18{
"auth": {
"registry.cn-shanghai.aliyuncs.com": {
"username": "xxxx",
"password": "xxx"
},
"ccr.ccs.tencentyun.com": {
"username": "xxxxxx",
"password": "xxxxxx"
}
},
"images": {
"registry.cn-shanghai.aliyuncs.com/key1024/test": "ccr.ccs.tencentyun.com/key1024/test",
"registry.cn-shanghai.aliyuncs.com/key1024/mysql": "ccr.ccs.tencentyun.com/key1024/mysql",
"registry.cn-shanghai.aliyuncs.com/key1024/liyk": "ccr.ccs.tencentyun.com/key1024/liyk",
"registry.cn-shanghai.aliyuncs.com/key1024/demo": "ccr.ccs.tencentyun.com/key1024/demo1"
}
}
1 | # harbor同步到阿里云镜像仓库 |
- 镜像同步测试
1
2
3./image-syncer --proc=6 --config=./ali-2-tencent.json
# 或者在运行时指定目的端的namespace和仓库地址
./image-syncer --proc=6 --config=./ali-2-tencent.json --namespace=key1024 --registry=ccr.ccs.tencentyun.com --retries=2 --log=./ali-2-tencent.log