官方服务微信:dat818 购买与出租对接

ISO镜像转换为容器镜像的详细方法及设备解析:云计算技术新突破

3万

主题

2

回帖

11万

积分

管理员

积分
119579
发表于 2025-2-28 06:14:59 | 显示全部楼层 |阅读模式
    本发明专利技术公开了一种方法,此方法用于将 iso 镜像转换成容器镜像,涉及云计算技术领域,可解决将 iso 镜像转换成虚拟机容器镜像的技术问题。该方法包含以下步骤:创建虚拟机规格模板;提供 http 文件服务器;接收用户上传的 iso 镜像后,开始创建虚拟机;运行虚拟机以生成虚拟机实例,接着进入安装系统步骤;用户通过 vnc 来控制安装操作系统;安装完成后会生成 disk.img 文件;利用 qemu 命令把 raw 格式的镜像转换成 qcow2 压缩镜像;将 qcow2 镜像转换成镜像,生成文件;生成镜像;最后把镜像上传到镜像仓。本发明专利技术公开了一种能将 iso 镜像转换成容器镜像的设备。它能够把任何满足虚拟机创建需求的操作系统镜像进行转换并统一管理于平台内,这样就能避免两套镜像管理方式,进而减少维护成本,减少维护成本,减少维护成本。

    全部详细技术资料下载

    【技术实现步骤摘要】

    一种iso镜像转换成容器镜像的方法及设备

    [0001]本专利技术涉及云计算

    它具体涉及一种将 iso 镜像转换成容器镜像的方法以及相关设备。

    技术介绍

    随着云计算的技术与应用持续发展,业务全面上云的需求在不断扩大。大部分的 web 无状态业务都开始进行容器化。未来,k8s 加容器必定会成为业务发布的主流选择(简称 k8s,是用 8 代替名字中间 8 个字符“”而形成的缩写),它是一个开源的,用于管理云平台中多个主机上容器化应用的工具,在业界也已基本成型。虚拟机的使用场景在不断被压缩,然而虚拟机作为一个常用的运行时,未来将会长期存在。目前,有开源社区提供了使用 k8s 纳管虚拟机的方法,例如 Red Hat 开源的以容器方式运行虚拟机的项目,它基于运行,以 CRD 形式将 VM 管理接口接入到,通过一个 pod 来使用管理 VM 的方式。在容器云平台里,使用镜像仓来管理镜像已是较为普遍的做法。然而,虚拟机所能接受的文件格式仅为 qcow2 或 raw。官方免费提供的虚拟机镜像数量较少,并且可能存在定制化需求。同时,在云平台上管理镜像的方式需要统一,以方便管理。但目前缺少一种能将 iso 镜像转换成虚拟机容器镜像的工具,这导致镜像转换十分复杂。

    技术实现思路

    本专利技术的目的一是提供一种方法,用于将 iso 镜像转换成容器镜像,以解决现有技术的上述不足,从而能将 iso 镜像转换成镜像并在云平台镜像仓中进行统一管理。

    本专利技术的一个目的是提供一种能够将 iso 镜像转换成容器镜像的设备。

    为了达成上述目的一,本专利技术给出一种将 iso 镜像转换为容器镜像的方法,该方法包含:

    步骤 1:创建虚拟机规格模板。此模板能够修改虚拟机镜像,以便用于创建具有不同操作系统的虚拟机。

    步骤 2:提供一个 http 文件服务器。同时提供 iso 文件上传接口,当 iso 镜像上传完成后,将镜像名修改为 image.iso。并且该 http 文件服务器还提供文件下载接口。

    步骤 3 是在接收用户上传的 iso 镜像之后,利用步骤 1 里的虚拟机规格模板来创建虚拟机。

    步骤 4:运行由步骤 3 创建的虚拟机。该虚拟机运行后会生成虚拟机实例。此虚拟机实例从挂载的 iso 镜像 cdrom 启动,接着进入安装系统的步骤。

    步骤 5:利用 vnc 客户端来连接虚拟机,用户借助 vnc 对安装操作系统进行控制,并且该 vnc 客户端使用了适配的 novnc 组件。

    系统安装完成后会将虚拟机关机。系统安装后,在系统盘挂载目录下会生成一个 disk.img 文件,这个文件的文件名是固定的,并且它是虚拟机镜像 raw 格式的镜像。

    步骤 6:找到系统盘挂载路径下的 disk.img 文件,利用 qemu 命令把 raw 格式的镜像进行转换。

    换成qcow2压缩镜像:qemu

    ‑

    img

    ‑

    f raw

    ‑

    O qcow2 disk.img disk.qcow2;

   


    [0013]步骤7:通过提供的镜像转换基础镜像

    ‑

    disk

    ‑

    将步骤6生成的qcow2镜像转换成镜像,生成文件;

    [0014]通过 build命令生成镜像;

    [0015]步骤8:将镜像上传镜像仓。

    作为一种进一步的改进举措,所述的虚拟机规格模板必须要能够满足最为基础的虚拟机系统的运行方面的需求。

    进一步地,存在这样的运行要求:数据卷是由容器化数据导入器 CDI 所创建的。

    进一步地,运行要求包含:利用数据卷模板来创建两个 pvc 磁盘分区。其中一个磁盘分区被设定为 cdrom,另一个磁盘分区则为系统盘分区。

    进一步地,cdrom 磁盘挂载了镜像文件 pvc,这个镜像是来源于 http 文件服务器的。同时,系统盘分区处于空挂载的状态,干净的磁盘被用来安装操作系统。

    进一步地,所述虚拟机规格模板采用存储类的方式。这种存储类具备动态分配存储空间的功能。

    进一步地,系统盘的大小需要满足系统运行所要求的最小尺寸,内存的大小也需要满足系统运行所要求的最小尺寸。

    [0022]进一步地,系统盘为50G,内存为8G。

    并且,删除 DV 创建的本地存储目录。

    为实现上述目的二,本专利技术提供一种电子设备,该设备具备处理器以及存储器,其中:

    所述存储器的作用是存储程序代码,并且会把程序代码传输给处理器。

    所述处理器会依据程序代码中的指令来执行上述的将 iso 镜像转换成容器镜像的方法。

    [0027]有益效果

    [0028]本专利技术与现有技术相比,具有的优点为:

    本专利技术能够让用户把任何符合虚拟机创建要求的操作系统镜像转化为镜像,在平台内进行统一管理,这样就避免了有两套镜像管理方式,也能减少维护成本,生成的镜像可用于创建新的虚拟机。

    附图说明

    [0030]图1为本专利技术的工作流程图。

    具体实施方式

    以下结合附图中的具体实施例来对本专利技术进行进一步的说明。

    参阅图 1,一种方法是将 iso 镜像转换成容器镜像,具体包括以下内容:

   


    步骤 1:创建一个虚拟机规格模板,此模板具备修改虚拟机镜像的功能,以便能够创建具有不同操作系统的虚拟机。

    步骤 2:提供一个 http 文件服务器。同时提供 iso 文件上传的接口。当 iso 镜像上传完成后,对镜像名进行修改。

    为 image.iso 提供文件下载接口,该接口是用于 http 文件服务器的,例如::8000/img.iso ;

    步骤 3:在接收到用户上传的 iso 镜像之后,利用步骤 1 里的虚拟机规格模板来创建虚拟机。

    步骤 4:运行由步骤 3 创建的虚拟机。虚拟机运行之后,会生成虚拟机实例。该虚拟机实例从挂载的 iso 镜像 cdrom 启动,接着进入安装系统的步骤。

    步骤 5:利用 vnc 客户端来连接虚拟机,用户借助 vnc 对安装操作系统进行控制,vnc 客户端运用适配的 novnc 组件,虚拟网络控制台的缩写是 VNC,它是一款极为优秀的远程控制工具软件,是由著名的 AT&T 的欧洲研究实验室研发的,并且 VNC 是在基于 UNIX 和 Linux 操作系统之上的免费开源软件。noVNC 是一个 HTML5 形式的 VNC 客户端,它运用了 HTML 技术,并且具备实际的功能。

    【技术保护点】

    【技术特征摘要】

    最后,找到系统盘挂载路径的 disk.img 文件,通过 qemu 命令将 raw 格式的镜像转换成 qcow2 压缩镜像:qemu

    ‑

    img

    ‑

    f raw

    ‑

    O qcow2 磁盘的镜像为 disk.img,另一个为 disk.qcow2;步骤 7:借助所提供的镜像来转换基础镜像。

    ‑

    disk

    ‑

    步骤 6 生成的 qcow2 镜像被转换成镜像并生成文件;利用 build 命令生成镜像;步骤 8 为将镜像上传至镜像仓。2. 依据权利要求 1 所描述的一种 iso 镜像转换成容器镜像的方法,其特点在于,所述虚拟机规格模式……

    【专利技术属性】

    技术研发人员:黄芳凤,赵凯麟,崔思恒,韦克璐,

    申请(专利权)人:中国—东盟信息港股份有限公司,

    类型:发明

    国别省市:

    全部详细技术资料下载  我是这个专利的主人
您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|关于我们

Copyright © 2001-2025, Tencent Cloud.    Powered by Discuz! X3.5    京ICP备20013102号-30

违法和不良信息举报电话:86-13718795856 举报邮箱:hwtx2020@163.com

GMT+8, 2025-6-8 14:09 , Processed in 0.092235 second(s), 18 queries .