您好,欢迎来到好走旅游网。
搜索
您的当前位置:首页Windows Hyper-V虚拟化的应用部署方法[发明专利]

Windows Hyper-V虚拟化的应用部署方法[发明专利]

来源:好走旅游网
(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 CN 112130953 A(43)申请公布日 2020.12.25

(21)申请号 202011172032.1(22)申请日 2020.10.28

(71)申请人 无锡雪浪数制科技有限公司

地址 214000 江苏省无锡市金融一街1号昌

兴国际金融大厦6楼(72)发明人 陆陈靖 王峰 

(74)专利代理机构 无锡华源专利商标事务所

(普通合伙) 32228

代理人 聂启新(51)Int.Cl.

G06F 9/451(2018.01)G06F 9/455(2006.01)

权利要求书2页 说明书5页 附图4页

CN 112130953 A(54)发明名称

Hyper-V虚拟化的应用部署方法Windows

(57)摘要

本发明公开了Windows Hyper‑V虚拟化的应用部署方法,涉及计算机技术领域,该方法包括:在Windows系统中开启虚拟化管理器Hyper‑V;利用虚拟化管理器Hyper‑V创建Linux虚拟机和内部网络交换机;配置内部网络交换机的网络,实现Linux虚拟机与宿主机的网络共享;利用minikube组件配置Linux虚拟机的底层环境,minikube组件包括安装环境工具包minikube.exe、客户端工具包kubectl.exe和镜像文件minikube.iso;将各个yaml文件通过客户端工具kubectl部署在Linux虚拟机中。该方法主要用于工业用户边缘端Windows设备部署服务,使得工业用户在Windows操作环境上部署原本基于在Linux系统成为可能,且不依赖于外部网络,能够满足工业场景下边缘侧无外部网络、无稳定网络的情况下正常使用。

CN 112130953 A

权 利 要 求 书

1/2页

1.一种Windows Hyper-V虚拟化的应用部署方法,其特征在于,所述方法包括:在Windows系统中开启虚拟化管理器Hyper-V;

利用所述虚拟化管理器Hyper-V创建Linux虚拟机和内部网络交换机;配置所述内部网络交换机的网络,实现所述Linux虚拟机与宿主机的网络共享;利用minikube组件配置Linux虚拟机的底层环境,所述minikube组件包括安装环境工具包minikube.exe、客户端工具包kubectl.exe和镜像文件minikube.iso;

将各个yaml文件通过客户端工具kubectl部署在所述Linux虚拟机中。2.根据权利要求1所述的Windows Hyper-V虚拟化的应用部署方法,其特征在于,所述配置所述内部网络交换机的网络,包括:

所述内部网络交换机为所述Linux虚拟机绑定内部虚拟网卡;安装DHCP Server并为所述内部虚拟网卡分配固定IP地址、自定义设置过期时间Lease Time;

开启所述Windows系统的网络发现功能,设置共享网络ICS并为所述内部虚拟网卡提供网络桥接,所述Linux虚拟机通过所述宿主机的网络共享实现外部网络连接。

3.根据权利要求1所述的Windows Hyper-V虚拟化的应用部署方法,其特征在于,所述利用minikube组件配置Linux虚拟机的底层环境,包括:

下载所述安装环境工具包minikube.exe和客户端工具包kubectl.exe得到安装环境工具minikube和客户端工具kubectl,并将所述安装环境工具包minikube.exe的目录添加到系统环境变量;

启动所述安装环境工具minikube;

指定所述Linux虚拟机的驱动为所述虚拟化管理器Hyper-V;创建所述内部网络交换机的名字;

获取并安装所述镜像文件minikube.iso;

选择是否需要加载所述镜像文件minikube.iso,若是,则从解压的所述镜像文件minikube.iso中缓存所需的镜像组件,在下一次启动所述安装环境工具minikube时若存在所述镜像组件则直接使用,否则解压后的所述镜像文件minikube.iso的缓存清零;

安装与所述镜像文件minikube.iso版本匹配的kubernetes工具。4.根据权利要求3所述的Windows Hyper-V虚拟化的应用部署方法,其特征在于,所述获取并安装所述镜像文件minikube.iso,包括:

若所述安装环境工具包minikube.exe的版本为minikube v1.0之前,则将所述安装环境工具包minikube.exe的源码中默认加载镜像仓库地址修改为已下载好且版本匹配的所述镜像文件minikube.iso的路径,并重新编译所述安装环境工具包minikube.exe;或者,通过VPN在国外镜像仓库中在线下载版本匹配的所述镜像文件minikube.iso并安装;

若所述安装环境工具包minikube.exe的版本为minikube v1.0之后,则在启动所述安装环境工具minikube后调用图像库image-repository命令,所述图像库image-repository命令中包含了国内镜像仓库地址,从所述国内镜像仓库中下载版本匹配的所述镜像文件minikube.iso并安装。

5.根据权利要求3所述的Windows Hyper-V虚拟化的应用部署方法,其特征在于,所述利用minikube组件配置Linux虚拟机的底层环境,还包括:

2

CN 112130953 A

权 利 要 求 书

2/2页

将准备好的所述安装环境工具minikube的资源文件放置在所述宿主机指定目录下,将所述宿主机指定目录挂载至所述Linux虚拟机的指定目录中,实现所述宿主机与Linux虚拟机的目录映射,同时所述Linux虚拟机产生的数据文件挂载至所述宿主机指定目录中,用于检查运行日志。

6.根据权利要求1所述的Windows Hyper-V虚拟化的应用部署方法,其特征在于,所述yaml文件用于描述需要部署的内容,包括系统配置、服务资源、定时任务和其他资源,部署内容要求符合所述安装环境工具minikube的资源清单语法规则;各个所述yaml文件通过所述客户端工具kubectl部署后,所述安装环境工具minikube通过自身架构开始执行所述部署内容,包括部署、删除、更新或修改所述部署内容;

所述安装环境工具minikube的架构包括核心主节点和各个负载节点,所述核心主节点包括中央调度器以及与所述中央调度器相连的存储单元、控制器和辅助调度器,所述中央调度器还连接用户端,用于接收用户传递的各个API请求,所述存储单元用于存储所述部署内容,所述控制器用于保证所述部署内容稳定运行,所述辅助调度器用于调度所述部署内容至合适的所述负载节点;每个所述负载节点由下至上依次包括硬件层、操作系统层、容器层、控制代理层Kubelet和网络层,每个所述负载节点通过所述控制代理层Kubelet与所述核心主节点的中央调度器通信连接。

7.根据权利要求1-5任一所述的Windows Hyper-V虚拟化的应用部署方法,其特征在于,所述方法还包括:

在安装环境工具minikube的命令行中输入开启minikube dashboard的命令,所述命令行显示访问的所述minikube dashboard的地址,通过所述地址监控所述Linux虚拟机的各服务资源运行情况。

3

CN 112130953 A

说 明 书

Windows Hyper-V虚拟化的应用部署方法

1/5页

技术领域

[0001]本发明涉及计算机技术领域,尤其是Windows Hyper-V虚拟化的应用部署方法。背景技术

[0002]在很多工业场景下,客户大多使用的是Windows操作系统的工控机,并由软件服务提供商为工厂相关技术人员进行相应地培训,而docker容器技术和Kubernetes容器编排技术大多部署在基于Linux操作系统的服务器上。因此很多工业客户员工缺乏Linux相关操作经验,尤其是docker等容器技术。并且工厂很多边缘端环境下存在对工控机进行定期关机,外部网络环境会随时发生变化,因此不能够保证外部网络存在与否的情况下工控机稳定运行,因此急需一种在Windows环境下实现满足工业生产边缘端的应用部署方法。发明内容

[0003]本发明人针对上述问题及技术需求,提出了Windows Hyper-V虚拟化的应用部署方法,本发明的技术方案如下:[0004]Windows Hyper-V虚拟化的应用部署方法,包括:[0005]在Windows系统中开启虚拟化管理器Hyper-V;[0006]利用虚拟化管理器Hyper-V创建Linux虚拟机和内部网络交换机;[0007]配置内部网络交换机的网络,实现Linux虚拟机与宿主机的网络共享;[0008]利用minikube组件配置Linux虚拟机的底层环境,minikube组件包括安装环境工具包minikube.exe、客户端工具包kubectl.exe和镜像文件minikube.iso;[0009]将各个yaml文件通过客户端工具kubectl部署在Linux虚拟机中。[0010]其进一步的技术方案为,配置内部网络交换机的网络,包括:[0011]内部网络交换机为Linux虚拟机绑定内部虚拟网卡;[0012]安装DHCP Server并为内部虚拟网卡分配固定IP地址、自定义设置过期时间Lease Time;

[0013]开启Windows系统的网络发现功能,设置共享网络ICS并为内部虚拟网卡提供网络桥接,Linux虚拟机通过宿主机的网络共享实现外部网络连接。[0014]其进一步的技术方案为,利用minikube组件配置Linux虚拟机的底层环境,包括:[0015]下载安装环境工具包minikube.exe和客户端工具包kubectl.exe得到安装环境工具minikube和客户端工具kubectl,并将安装环境工具包minikube.exe的目录添加到系统环境变量;[0016]启动安装环境工具minikube;

[0017]指定Linux虚拟机的驱动为虚拟化管理器Hyper-V;[0018]创建内部网络交换机的名字;

[0019]获取并安装镜像文件minikube.iso;

[0020]选择是否需要加载镜像文件minikube.iso,若是,则从解压的镜像文件

4

CN 112130953 A

说 明 书

2/5页

minikube.iso中缓存所需的镜像组件,在下一次启动安装环境工具minikube时若存在镜像组件则直接使用,否则解压后的镜像文件minikube.iso的缓存清零;[0021]安装与镜像文件minikube.iso版本匹配的kubernetes工具。[0022]其进一步的技术方案为,获取并安装镜像文件minikube.iso,包括:[0023]若安装环境工具包minikube.exe的版本为minikube v1.0之前,则将安装环境工具包minikube.exe的源码中默认加载镜像仓库地址修改为已下载好且版本匹配的镜像文件minikube.iso的路径,并重新编译安装环境工具包minikube.exe;或者,通过VPN在国外镜像仓库中在线下载版本匹配的镜像文件minikube.iso并安装;[0024]若安装环境工具包minikube.exe的版本为minikube v1.0之后,则在启动安装环境工具minikube后调用图像库image-repository命令,图像库image-repository命令中包含了国内镜像仓库地址,从国内镜像仓库中下载版本匹配的镜像文件minikube.iso并安装。

[0025]其进一步的技术方案为,利用minikube组件配置Linux虚拟机的底层环境,还包括:

[0026]将准备好的安装环境工具minikube的资源文件放置在宿主机指定目录下,将宿主机指定目录挂载至Linux虚拟机的指定目录中,实现宿主机与Linux虚拟机的目录映射,同时Linux虚拟机产生的数据文件挂载至宿主机指定目录中,用于检查运行日志。[0027]其进一步的技术方案为,yaml文件用于描述需要部署的内容,包括系统配置、服务资源、定时任务和其他资源,部署内容要求符合安装环境工具minikube的资源清单语法规则;各个yaml文件通过客户端工具kubectl部署后,安装环境工具minikube通过自身架构开始执行部署内容,包括部署、删除、更新或修改部署内容;

[0028]安装环境工具minikube的架构包括核心主节点和各个负载节点,核心主节点包括中央调度器以及与中央调度器相连的存储单元、控制器和辅助调度器,中央调度器还连接用户端,用于接收用户传递的各个API请求,存储单元用于存储部署内容,控制器用于保证部署内容稳定运行,辅助调度器用于调度部署内容至合适的负载节点;每个负载节点由下至上依次包括硬件层、操作系统层、容器层、控制代理层Kubelet和网络层,每个负载节点通过控制代理层Kubelet与核心主节点的中央调度器通信连接。[0029]其进一步的技术方案为,部署方法还包括:

[0030]在安装环境工具minikube的命令行中输入开启minikube dashboard的命令,命令行显示访问的minikube dashboard的地址,通过地址监控Linux虚拟机的各服务资源运行情况。

[0031]本发明的有益技术效果是:

[0032]本申请的部署方法主要用于工业用户边缘端Windows设备部署服务,使得工业用户在Windows操作环境上部署原本基于在Linux上的一些系统成为可能,无需用户学习如何操作Linux机器,满足用户边缘部署的需要;利用Windows操作系统自带的虚拟化管理器Hyper-V结合DHCP Server、共享网络ICS,使Linux虚拟机通过宿主机的网络共享实现外部网络连接,本申请创建的内部网络交换机不依赖于外部网络,能够满足工业场景下边缘侧大多数情况无外部网络、无稳定网络的情况下正常使用,同时在机器开启时候默认开启虚拟化管理器Hyper-V,无需用户自己维护虚拟机状态;由于minikube比Kuberntes工具配置

5

CN 112130953 A

说 明 书

3/5页

Linux虚拟机的底层环境所需的组件更少,因此利用minikube组件配置Linux虚拟机的底层环境,还提供了Windows上的命令工具,如kubectl、minikube命令管理Linux虚拟机中的资源,且minikube本身提供简单命令操作,便于管理Linux虚拟机的环境;本申请根据minikube的使用版本还提供了获取和安装镜像文件的方法,因此该部署方法适用于多种minikube版本。

附图说明

[0033]图1是本申请提供的部署方法流程图。

[0034]图2是本申请提供的开启Hyper-V的示意图。

[0035]图3是本申请提供的开启Windows系统的网络发现功能的示意图。[0036]图4是本申请提供的部署yaml文件的原理框图。[0037]图5是本申请提供的minikube的架构图。

具体实施方式

[0038]下面结合附图对本发明的具体实施方式做进一步说明。[0039]本申请公开了一种Windows Hyper-V虚拟化的应用部署方法,该部署方法流程图如图1所示,包括如下步骤:[0040]步骤1:在Windows系统中开启虚拟化管理器Hyper-V。

[0041]虚拟化管理器Hyper-V是Windows自带的一款虚拟化产品,基于hypervisor,兼容WinServer2008、Win7及以上版本。在使用本方法时务必打开Hyper-V,如图2所示,如为已禁止状态需要通过BIOS开启,同时需要注意的是,一些老的CPU会不支持某个或者某些虚拟化选项。在机器开启时候默认开启虚拟化管理器Hyper-V,因此无需用户自己维护虚拟机状态。

[0042]步骤2:利用虚拟化管理器Hyper-V创建Linux虚拟机和内部网络交换机。[0043]通过虚拟化管理器hyper-V能够对Linux虚拟机进行管理与设置,如Linux虚拟机的创建与销毁,以及对Linux虚拟机的内存、CPU、虚拟硬盘、网络、时间等相关的设置。[0044]步骤3:配置内部网络交换机的网络,实现Linux虚拟机与宿主机的网络共享。[0045]配置内部网络交换机的网络包括以下分步骤:[0046]步骤31:内部网络交换机为Linux虚拟机绑定内部虚拟网卡。[0047]步骤32:安装DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)Server并为内部虚拟网卡分配固定IP地址、自定义设置过期时间Lease Time,通常Lease Time设置为一年。且DHCP Server可以通过windows的服务进行开机自启相关的设置[0048]步骤33:开启Windows系统的网络发现功能,如图3所示,使得网络共享时候能够进行网络发现,设置共享网络ICS并为内部虚拟网卡提供网络桥接,Linux虚拟机通过宿主机的网络共享实现外部网络连接。

[0049]与设置外部网络交换机相比,本申请无需每次重启或更换外部网络连接后重新分配IP地址,且过期时间Lease Time可以自定义设置,而外部网络交换机中路由器默认分配的ip地址的Lease Time是一天,显然不能满足工业使用需求。[0050]步骤4:利用minikube组件配置Linux虚拟机的底层环境,minikube组件包括安装

6

CN 112130953 A

说 明 书

4/5页

环境工具包minikube.exe、客户端工具包kubectl.exe和镜像文件minikube.iso。[0051]利用minikube组件配置Linux虚拟机的底层环境包括以下分步骤:[0052]步骤41:下载安装环境工具包minikube.exe和客户端工具包kubectl.exe得到安装环境工具minikube和客户端工具kubectl,并将安装环境工具包minikube.exe的目录添加到系统环境变量。[0053]步骤42:启动安装环境工具minikube。[0054]步骤43:指定Linux虚拟机的驱动为虚拟化管理器Hyper-V。[0055]步骤44:创建内部网络交换机的名字。[0056]步骤45:获取并安装镜像文件minikube.iso。

[0057]若安装环境工具包minikube.exe的版本为minikube v1.0之前,则将安装环境工具包minikube.exe的源码中默认加载镜像仓库地址修改为已下载好且版本匹配的镜像文件minikube.iso的路径,可选的,本实施例提供的镜像文件minikube.iso的路径为C:/minikube_source/minikube-v0.33.0.iso,并重新编译安装环境工具包minikube.exe;或者,通过VPN在国外镜像仓库中在线下载版本匹配的镜像文件minikube.iso并安装。[0058]若安装环境工具包minikube.exe的版本为minikube v1.0之后,则在启动安装环境工具minikube后调用图像库image-repository命令,图像库image-repository命令中包含了国内镜像仓库地址,从国内镜像仓库中下载版本匹配的镜像文件minikube.iso并安装。可选的,本实施例提供的国内镜像仓库地址为registry.cn-hangzhou.aliyuncs.com/google_containers。[0059]步骤46:选择是否需要加载镜像文件minikube.iso,若是,则从解压的镜像文件minikube.iso中缓存所需的镜像组件,在下一次启动安装环境工具minikube时若存在镜像组件则直接使用,否则解压后的镜像文件minikube.iso的缓存清零。[0060]步骤47:安装与镜像文件minikube.iso版本匹配的kubernetes工具。比如minikube v 0.33.0版本对应的则是Kubernetes1.13.0版本。[0061]可选的,方法还包括:将准备好的安装环境工具minikube的资源文件放置在宿主机指定目录下,将宿主机指定目录挂载至Linux虚拟机的指定目录中,实现宿主机与Linux虚拟机的目录映射,同时Linux虚拟机产生的数据文件挂载至宿主机指定目录中,用于检查运行日志。资源文件如defaultbackend镜像,k8s-device-plugin镜像等文件。[0062]步骤5:将各个yaml文件通过客户端工具kubectl部署在Linux虚拟机中。[0063]yaml文件用于描述需要部署的内容,包括系统配置deployment、服务资源service、配置项configmap、定时任务cronjob、最小调度单元pod和其他资源,部署内容要求符合安装环境工具minikube的资源清单语法规则,该语法规则为本领域现有规则,因此本申请不详细介绍其内容。部署yaml文件的原理框图如图4所示,各个yaml文件通过客户端工具kubectl部署后,安装环境工具minikube通过自身架构开始执行部署内容,包括部署、删除、更新或修改部署内容。

[0064]minikube的架构图如图5所示,安装环境工具minikube的架构包括核心主节点Master和各个负载节点Node Pool,核心主节点Master包括中央调度器API Server以及与中央调度器API Server相连的存储单元etcd、控制器Controller Manager和辅助调度器Scheduler,中央调度器API Server还连接用户端User,用于接收用户传递的各个API请求,

7

CN 112130953 A

说 明 书

5/5页

存储单元etcd用于存储部署内容,控制器Controller Manager用于保证部署内容稳定运行,辅助调度器Scheduler用于调度部署内容至合适的负载节点,且合适的负载节点由辅助调度器Scheduler自行选择。

[0065]每个负载节点由下至上依次包括硬件层Hardware、操作系统层OS、容器层Container Runtime、控制代理层Kubelet和网络层Networking,每个负载节点通过控制代理层Kubelet与核心主节点Master的中央调度器API Server通信连接。[0066]步骤6:在安装环境工具minikube的命令行中输入开启minikube dashboard(也即仪表盘)的命令,命令行显示访问的minikube dashboard的地址,通过地址监控Linux虚拟机的各服务资源运行情况。

[0067]本申请的部署方法主要用于工业用户边缘端Windows设备部署服务,使得工业用户在Windows操作环境上部署原本基于在Linux上的一些系统成为可能,无需用户学习如何操作Linux机器,满足用户边缘部署的需要;本申请创建的内部网络交换机不依赖于外部网络,能够满足工业场景下边缘侧大多数情况无外部网络、无稳定网络的情况下正常使用。[0068]以上所述的仅是本申请的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。

8

CN 112130953 A

说 明 书 附 图

1/4页

图1

9

CN 112130953 A

说 明 书 附 图

2/4页

图2

10

CN 112130953 A

说 明 书 附 图

3/4页

图3

图4

11

CN 112130953 A

说 明 书 附 图

4/4页

图5

12

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- haog.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务