源服务器迁移至容器镜像

SMC支持将Linux源服务器迁移为容器镜像,然后通过容器镜像部署容器应用,实现低成本容器化应用迁移。容器的优势在于提高了资源利用率,降低了计算成本,自动化管理调度及低风险的快速部署。本文介绍Linux源服务器迁移至容器镜像的操作步骤。

前提条件

已开通容器镜像服务并创建镜像仓库。具体操作,请参见构建仓库与镜像

背景信息

重要

Windows操作系统的源服务器不支持迁移为容器镜像。

  • Docker容器镜像服务的基础知识,具体请参见基本概念

  • 迁移任务运行期间会创建中转实例辅助迁移。中转实例会产生少量的费用,关于计费的详细信息,请参见按量付费

  • 当迁移任务为已完成(Finished)状态、已过期(Expired)状态或迁移任务被删除时,中转实例会自动清理释放。

步骤一:准备工作

  1. 创建SMC中转实例所需的RAM角色。

    关键参数说明如下。具体操作,请参见创建可信实体为阿里云服务的RAM角色

    • 可信实体类型选择阿里云服务

    • 角色类型选择普通服务角色

    • 受信服务选择云服务器

  2. 创建满足容器镜像迁移的自定义策略。

    自定义策略如下所示,并且已为RAM角色授权该策略。具体操作,请参见创建自定义权限策略为RAM角色授权

    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "cr:GetAuthorizationToken",
                    "cr:PushRepository",
                    "cr:PullRepository",
                    "cr:CreateRepository"
                ],
                "Resource": "*"
            }
        ],
        "Version": "1"
    }

步骤二:将源服务器迁移至容器镜像

  1. 导入迁移源。

    将Linux源服务器信息导入SMC控制台。您可以通过以下方式导入迁移源:

  2. 创建并启动迁移任务。

    1. 登录SMC控制台

    2. 在左侧导航栏,单击迁移源

    3. 在待迁移的源服务器的操作列,单击创建迁移任务

    4. 创建迁移任务页面,设置容器镜像相关配置项。

      容器镜像相关配置项说明如下。其他配置项的设置说明,请参见创建服务器迁移任务

      • 目标类型:选择容器镜像

      • 容器镜像命名空间:选择存放迁移生成的容器镜像仓库的命名空间。如未创建命名空间,具体操作,请参见管理命名空间与配额

      • 容器镜像仓库名称:选择存放迁移生成的容器镜像的仓库名称。如未创建镜像仓库,具体操作,请参见构建仓库与镜像

      • 容器镜像版本:表示存放迁移生成的容器镜像的版本信息。

      • 容器镜像RAM角色:选择绑定中转实例的实例角色。如未创建RAM角色,具体操作,请参见创建可信实体为阿里云服务的RAM角色

    迁移任务创建后立即开始执行。执行结果如下:

    • 当迁移任务状态为已完成时,表示任务完成并得到最终的容器镜像。ada56

    • 当迁移任务状态为出错时,表示任务失败。您需要查看日志修复问题后,再次重启迁移任务。常见错误及修复方案,请参见常见问题

步骤三:验证容器镜像

迁移成功获取到最终容器镜像后,您可以通过容器镜像部署容器应用。本操作以部署了Nginx环境的容器镜像为例,验证容器镜像。

  1. 创建容器服务集群。具体操作,请参见创建集群

  2. 部署容器应用。

    1. 登录SMC控制台

    2. 在左侧导航栏,单击迁移任务

    3. 在目标迁移任务的操作列,单击部署应用adad56

    4. 创建应用页面,根据界面提示创建应用。

      本示例以创建无状态工作负载为例,关键参数配置说明如下,更多参数信息,请参见创建无状态工作负载Deployment

      1. 应用基本信息页面,配置如下信息。 配置后,单击下一步adadada

        • 应用名称:输入应用的名称,例如:nginx。

        • 副本数量:输入副本数量,例如:1。

        • 类型:选择无状态(Deployment)

      2. 容器配置页面,配置参数信息。配置参数后,单击下一步

        • 镜像名称:单击选择镜像,选择迁移生成的容器镜像(容器镜像仓库和容器服务集群在同一地域时,可以使用容器镜像的VPC地址拉取镜像 )。

        • 镜像Tag:单击选择镜像Tag,选择迁移生成的容器镜像Tag。

        • 设置镜像密钥:如果您的容器镜像为私有镜像,则需要设置镜像密钥。也可以配置免密拉取,详情请参见使用免密组件拉取容器镜像

        • 端口:新增80端口。post

        • 启动执行:设置命令/sbin/initcmd

      3. 高级配置页面,创建服务用于访问应用。 配置参数后,单击创建

        本文配置信息如下图所示。server

      4. 创建完成后,单击查看应用详情,查看应用运行情况。

      5. 在左侧导航栏,选择网络 > 服务

      6. 服务页面,查看目标服务的外部端点地址。sdada

  3. 通过本地浏览器访问外部端点地址,您可访问Nginx欢迎页。

    nginx