一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2022-04-09 10:12:09 来源:中国专利 TAG:


1.本发明涉及云计算技术领域,更具体地说,它涉及一种iso镜像转换成容器镜像的方法及设备。


背景技术:

2.随着云计算的技术和应用不断发展,业务的全面上云需求不断扩大,大部分web无状态业务都开始容器化,未来k8s 容器肯定是业务发布的主流选择(kubernetes,简称k8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用),业界也基本成型。虽然虚拟机的使用场景不断被压缩,但是虚拟机作为一个常用的运行时,未来也会长期存在较长时间。目前已有开源社区提供使用k8s纳管虚拟机的方法,如kubevirt等(kubevirt是red hat开源的以容器方式运行虚拟机的项目,是基于kubernetes运行,以crd形式将vm管理接口接入到kubernetes,通过一个pod去使用libvirtd管理vm方式)。在容器云平台中,使用docker镜像仓管理镜像已经是比较普遍的方式,但是虚拟机所接受的文件格式只能为qcow2或者raw,而官方免费提供的虚拟机镜像太少了,而且可能有定制化的需求,而且,在云平台上管理镜像方式需要统一以便于管理,但是目前缺少一种将iso镜像转换成虚拟机容器镜像的工具,使得镜像转换非常复杂。


技术实现要素:

3.本发明要解决的技术问题是针对现有技术的上述不足,本发明的目的一是提供一种iso镜像转换成容器镜像的方法,可以将iso镜像转换成docker镜像在云平台镜像仓中统一管理。
4.本发明的目的二是提供一种iso镜像转换成容器镜像的设备。
5.为了实现上述目的一,本发明提供一种iso镜像转换成容器镜像的方法,包括:
6.步骤1:创建kubevirt虚拟机规格模板,该模板可以修改虚拟机镜像,用于创建不同操作系统的虚拟机;
7.步骤2:提供http文件服务器,提供iso文件上传接口,iso镜像上传后修改镜像名为image.iso,所述http文件服务器提供文件下载接口;
8.步骤3:接收用户上传的iso镜像后,通过步骤1中的虚拟机规格模板创建虚拟机;
9.步骤4:运行步骤3创建的虚拟机,虚拟机运行后生成虚拟机实例,所述虚拟机实例从挂载的iso镜像cdrom启动,进入安装系统步骤;
10.步骤5:通过vnc客户端连接虚拟机,用户通过vnc控制安装操作系统,所述vnc客户端使用kuebvirt适配的novnc组件;
11.系统安装完成后将虚拟机关机,系统安装后系统盘挂载目录下会生成一个disk.img文件,所述disk.img文件的文件名是固定的,此文件为虚拟机镜像raw格式的镜像;
12.步骤6:找到系统盘挂载路径的disk.img文件,通过qemu命令将raw格式的镜像转
换成qcow2压缩镜像:qemu-img convert-f raw-o qcow2 disk.img disk.qcow2;
13.步骤7:通过kubevirt提供的镜像转换基础镜像container-disk-v1alpha将步骤6生成的qcow2镜像转换成docker镜像,生成dockerfile文件;
14.通过docker build命令生成docker镜像;
15.步骤8:将docker镜像上传镜像仓。
16.作为进一步地改进,所述虚拟机规格模板需满足最小的虚拟机系统的运行要求。
17.进一步地,所述运行要求包括:数据卷datavolume是由容器化数据导入器cdi创建的。
18.进一步地,所述运行要求还包括:通过数据卷模板datavolumetemplates创建两个pvc磁盘分区,一个磁盘分区为cdrom,另一个磁盘分区为系统盘分区。
19.进一步地,cdrom磁盘挂载镜像文件pvc,镜像来源于http文件服务器,所述系统盘分区空挂载,干净的磁盘用于安装操作系统。
20.进一步地,所述虚拟机规格模板使用hostpath存储类方式,所述hostpath存储类提供动态分配存储空间的功能。
21.进一步地,所述运行要求还包括:系统盘大小需要满足系统运行的最小要求,内存大小需要满足系统运行的最小要求。
22.进一步地,系统盘为50g,内存为8g。
23.进一步地,还包括步骤9:删除虚拟机,保留虚拟机模板用于下次镜像转换,删除导入的本地iso镜像,并删除dv创建的的本地存储目录。
24.为了实现上述目的二,本发明提供一种电子设备,所述设备包括处理器以及存储器:
25.所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
26.所述处理器用于根据所述程序代码中的指令执行上述的iso镜像转换成容器镜像的方法。
27.有益效果
28.本发明与现有技术相比,具有的优点为:
29.通过本发明,用户可以将任意满足虚拟机创建的操作系统镜像转换成docker镜像,在平台内统一管理,避免两套镜像管理方式,减少维护成本,生成的镜像可以用于新的虚拟机创建。
附图说明
30.图1为本发明的工作流程图。
具体实施方式
31.下面结合附图中的具体实施例对本发明做进一步的说明。
32.参阅图1,一种iso镜像转换成容器镜像的方法,包括:
33.步骤1:创建kubevirt虚拟机规格模板,该模板可以修改虚拟机镜像,用于创建不同操作系统的虚拟机;
34.步骤2:提供http文件服务器,提供iso文件上传接口,iso镜像上传后修改镜像名
为image.iso,http文件服务器提供文件下载接口,如:http://fileserver:8000/img.iso;
35.步骤3:接收用户上传的iso镜像后,通过步骤1中的虚拟机规格模板创建虚拟机;
36.步骤4:运行步骤3创建的虚拟机,虚拟机运行后生成虚拟机实例,虚拟机实例从挂载的iso镜像cdrom启动,进入安装系统步骤;
37.步骤5:通过vnc客户端连接虚拟机,用户通过vnc控制安装操作系统,vnc客户端使用kuebvirt适配的novnc组件,vnc(virtual network console)是虚拟网络控制台的缩写,是一款优秀的远程控制工具软件,由著名at&t的欧洲研究实验室开发的,vnc是在基于unix和linux操作系统的免费的开源软件。novnc:novnc是一个html5 vnc客户端,采用html 5websockets,canvas和javascript实现,novnc被普遍用在各大云计算、虚拟机控制面板中;
38.系统安装完成后将虚拟机关机,系统安装后系统盘挂载目录下会生成一个disk.img文件,disk.img文件的文件名是固定的,此文件为虚拟机镜像raw格式的镜像;
39.步骤6:找到系统盘挂载路径的disk.img文件,通过qemu命令将raw格式的镜像转换成qcow2压缩镜像:qemu-img convert-f raw-o qcow2 disk.img disk.qcow2;
40.步骤7:通过kubevirt提供的镜像转换基础镜像container-disk-v1alpha将步骤6生成的qcow2镜像转换成docker镜像,生成dockerfile文件:
41.[root@node1~]#cat dockerfile
[0042]
from kubevirt/container-disk-v1alpha:latest
[0043]
add./disk.qcow2/disk;
[0044]
通过docker build命令生成docker镜像;
[0045]
docker build-t vmimage:v1;
[0046]
步骤8:将docker镜像上传镜像仓;
[0047]
步骤9:删除虚拟机,保留虚拟机模板用于下次镜像转换,删除导入的本地iso镜像,并删除dv创建的的本地存储目录。
[0048]
虚拟机规格模板需满足最小的虚拟机系统的运行要求:
[0049]
1、数据卷datavolume是由容器化数据导入器cdi(containerized data importer)创建的,cdi是一种用于将镜像导入pvc持久化数据存储的组件,而datavolumetemplates(数据卷模板)是kubevirt虚拟机规格内置的一种在虚拟机生命周期内管理pvc的方法,类似于k8s中的volumeclaimtemplates。
[0050]
2、通过数据卷模板datavolumetemplates创建两个pvc磁盘分区,一个磁盘分区为cdrom,另一个磁盘分区为系统盘分区。cdrom磁盘挂载镜像文件pvc,镜像来源于http文件服务器,系统盘分区空挂载,干净的磁盘用于安装操作系统。虚拟机规格模板使用hostpath存储类方式,hostpath存储类提供动态分配存储空间的功能,如rancher/local-path。
[0051]
3、系统盘大小需要满足系统运行的最小要求,内存大小需要满足系统运行的最小要求。在本实施例中,系统盘为50g,内存为8g。
[0052]
步骤1中创建kubevirt虚拟机规格模板的过程如下:
[0053]
[0054]
[0055]
[0056][0057]
一种电子设备,所述设备包括处理器以及存储器:
[0058]
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
[0059]
所述处理器用于根据所述程序代码中的指令执行上述的iso镜像转换成容器镜像的方法。
[0060]
以上仅是本发明的优选实施方式,应当指出对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些都不会影响本发明实施的效果和专利的实用性。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献