个人版迁移至企业版

2024-11-06 02:35:47

操作场景

容器镜像服务 CRS

目前同时提供个人版和企业版服务。企业版服务在个人版的基础之上提供了更加完善、安全和高效的镜像托管和分发服务。对于已使用个人版服务的用户可以参照本章节迁移至企业版服务。当要迁移的镜像数量较少时,可以直接使用docker命令进行迁移。当要迁移的镜像数量较多时,可以使用开源镜像迁移工具image-syncer来进行迁移。

前提条件

          已开通并使用容器镜像服务CRS个人版实例

          已开通容器镜像服务CRS 企业版实例

操作步骤

使用docker命令迁移

1.       进入 容器镜像服务控制台

2.       点击已开通的个人版实例名称。

3.       访问凭证 页面查看登录个人版实例的命令。

4.       执行 docker login 命令登录个人版实例

docker login –username=<username> <个人版实例地址>

5.       执行 docker pull 命令从个人版实例拉取容器镜像

docker pull <个人版实例地址>/<命名空间>/<镜像仓库>:<版本>

示例:

docker pull registry-crs-huadong1.ctyun.cn/myns/nginx:stable-alpine

6.       进入 容器镜像服务控制台

7.       点击已开通的企业版实例名称。

8.       容器镜像 - 命名空间 页面点击 创建命名空间,填写命名空间名称并开启 自动创建仓库 完成创建。

9.       实例管理 - 访问凭证 页面查看登录企业版实例的命令。

10.    执行 docker login 命令登录企业版实例。

docker login –username=<username> <企业版实例地址>

11.       执行 docker tag命令给从个人版实例拉取的镜像打上标签。

docker tag <源镜像>:<镜像版本> <企业版实例地址>/<命名空间>/<镜像仓库>:<版本>

示例:

docker tag nginx:stable-alpine registry-huadong1.crs.ctyun.cn/myns/nginx:stable-alpine

12.       执行 docker push 命令向企业版实例推送容器镜像

docker push <企业版实例地址>/<命名空间>/<镜像仓库>:<版本>

示例:

docker push registry-huadong1.crs.ctyun.cn/myns/nginx:stable-alpine

使用image-syncer工具迁移

image-syncer 是一个简单易用的开源镜像迁移工具,支持多对多镜像仓库同步,支持主流的基于Docker Registry

V2搭建的镜像存储服务,不依赖Docker及其他程序。具体迁移步骤如下:

1.       下载 image-syncer 并进行解压。

wget https://github.com/AliyunContainerService/image-syncer/releases/download/v1.3.1/image-syncer-v1.3.1-linux-amd64.tar.gz
 
 
 
tar -zvxf image-syncer-v1.3.1-linux-amd64.tar.gz

也可参照官方文档使用其他方式进行安装: https://github.com/AliyunContainerService/image-syncer

2.       创建镜像仓库的认证信息文件auth.json,在其中填写个人版和企业版实例地址以及用户名和密码,示例:

{
 
    "registry-crs-huadong1.ctyun.cn": {  // 个人版实例地址
 
        "username": "xxx",  // 个人版用户名
 
        "password": "xxx"  // 个人版密码
 
    },
 
    "registry-huadong1.crs.ctyun.cn": {  // 企业版实例地址
 
        "username": "xxx",  // 企业版用户名
 
        "password": "xxx"  // 企业版密码
 
    }
 
}

3.       创建镜像同步规则文件images.json,在其中指定个人版源仓库和企业版目标仓库的对应关系,示例:

{
 
    "registry-crs-huadong1.ctyun.cn/myns/nginx": "registry-huadong1.crs.ctyun.cn/myns/nginx" // 格式为源仓库:目标仓库,image-syncer将自动同步源仓库下的镜像至目标仓库
 
}

注意,企业版实例需要先新建对应的命名空间和镜像仓库,或者在命名空间开启 自动创建仓库 选项。

4.       执行image-syncer命令开始镜像迁移。

./image-syncer --auth=./auth.json --images=./images.json

命令行可选参数包括:

参数

说明

–images

设置镜像同步规则文件的路径

–auth

设置镜像仓库认证文件的路径

–log

设置输出log文件路径,默认打印到标准错误输出

–proc

镜像同步的并发数,默认为5

–retries

同步任务失败时的重试次数,默认为2,重试有助于减少因网络波动而导致的同步任务失败次数。

5.       等待命令执行完成,镜像便已成功迁移至企业版实例对应仓库下。

CCSE业务迁移

若之前已使用个人版容器镜像服务在 CCSE 中进行过工作负载的发布,则在完成容器镜像从个人版迁移至企业版之后,还需要参照 5.2 CCSE集群使用容器镜像服务发布应用 章节为CCSE配置相应企业版容器镜像服务的镜像拉取凭证、修改工作负载的镜像为对应企业版容器镜像服务的镜像,并重新发布工作负载。


DhB4O0_lxAn0