一种虚拟机与容器混合调度方法技术

技术编号:18444654 阅读:29 留言:0更新日期:2018-07-14 10:16
本发明专利技术涉及云计算技术领域,特别是指一种虚拟机与容器混合调度方法。本发明专利技术所述方法是将容器作为虚拟机的内置应用创建在虚拟机上,同时,赋予容器和虚拟机弹性配置策略;根据弹性配置策略创建容器和虚拟机的配置或迁移。本发明专利技术方法将容器创建在虚拟机上,作为虚拟机的内置应用,即保障了容器与虚拟机之间的安全问题,又结合了虚拟机的弹性调度策略,提高了物理资源利用率;本发明专利技术方法可提高容器可用性,利用虚拟机的弹性调度避免了容器在迁移过程的停机问题。

A hybrid scheduling method for virtual machines and containers

The invention relates to the field of cloud computing technology, in particular to a hybrid scheduling method for virtual machines and containers. The method described in the present invention is to create a container as a built-in application of a virtual machine on a virtual machine, and to give the container and virtual machine an elastic configuration strategy, and to create a configuration or migration of a container and a virtual machine based on an elastic configuration strategy. In this method, the container is built on the virtual machine. As a built-in application of the virtual machine, it guarantees the security of the container and the virtual machine, and combines the flexible scheduling strategy of the virtual machine to improve the utilization of the physical resources. This method can improve the availability of the container and avoid the capacity of the virtual machine. The shutdown of the device in the migration process.

【技术实现步骤摘要】
一种虚拟机与容器混合调度方法
本专利技术涉及云计算
,特别是指一种虚拟机与容器混合调度方法。
技术介绍
随着云计算技术的发展,以Docker为代表的容器技术一度被认为是虚拟化技术的替代品,然而这两种技术之间并不是不可调和的。随着容器技术的逐渐成熟,容器和虚拟机并存已经成为一种必然。由于容器本身隔离性问题,很多公有云厂家目前是将容器创建在虚拟机里面的,用于隔绝对其他虚拟机造成影响。也有一些厂家将容器和虚拟机同时创建在同一台物理服务器上以此来提高物理资源的利用率,这些方式存在以下弊端:(1)比较呆板,公有云将容器创建在虚拟机上的方式,缺乏调度,只是单纯的为用户提供容器服务,无法有效提高物理资源利用率。(2)安全性差,容器和虚拟机同时创建在同一台物理服务器必然会相互影响,特别是容器的隔离性较差,会导致与虚拟机资源争抢的情况。为此,需要一种调度策略,让用户既能安全的同时使用虚拟机与容器,又能提高物理资源利用率的解决方案。
技术实现思路
本专利技术解决的技术问题在于提供一种虚拟机与容器混合调度方法,解决传统方法存在的不足,为用户提供一种既能安全的同时使用虚拟机与容器,又能提高物理资源利用率的解决方案。本专利技术解决上述技术问题的技术方案是:所述方法是将容器作为虚拟机的内置应用创建在虚拟机上,同时,赋予容器和虚拟机弹性配置策略;根据弹性配置策略创建容器和虚拟机的配置或迁移。所述的方法具体包括如下步骤:步骤1:设置虚拟机弹性配置策略,设置容器弹性配置策略;步骤2:创建一台虚拟机作为容器的载体,配置选择弹性策略;步骤3:将容器组创建在虚拟机上,选择容器弹性策略;步骤4:监测虚拟机所在物理机负载,根据虚拟机弹性配置策略,动态调整虚拟机配置或迁移虚拟机至其他物理节点;步骤5:监测虚拟机负载,根据容器弹性配置策略,动态调整容器运行数量。所述的容器,容器为应用程序提供了隔离的运行空间:每个容器内都包含一个独享的完整用户环境空间,并且一个容器内的变动不会影响其他容器的运行环境;为了能达到这种效果,容器技术使用了一系列的系统级别的机制诸如利用Linuxnamespaces来进行空间隔离,通过文件系统的挂载点来决定容器可以访问哪些文件,通过cgroups来确定每个容器可以利用多少资源。此外容器之间共享同一个系统内核,这样当同一个库被多个容器使用时,内存的使用效率会得到提升。所述的容器的载体,即容器创建在虚拟机所在操作系统上,与其他虚拟机等同,容器只是作为虚拟机的特殊应用来对待;所述的容器组,是指多个容器的集合,可以单个应用集群容器,也可以多个,创建的时候可以限制容器组里面容器最大最小个数。所述的设置虚拟机弹性配置策略,是指根据所在物理服务器CPU、内存的利用率调整虚拟机CPU、内存大小的策略;在创建虚拟机时,设置虚拟机最小CPU、最小内存及最大CPU、最大内存;当物理机CPU利用率低于30%时,虚拟机CPU大小加1,数据可配置;物理机内存利用率大于80%时,虚拟机内存大小减2G,数据可配置;当遇到降低虚拟机配置时,可以优先配置迁移虚拟机方式;即当前虚拟机所在物理服务器负载较高需要降低虚拟机配置时,可以查看是否其他物理服务器有足够的资源提供现有虚拟机使用,若有则可以采用迁移再监测方式。所述的容器弹性配置策略,主要是根据虚拟机的配置情况而决定,在创建容器组的时候可以设置容器组最小及最大数量,当前运行数量;当虚拟机配置增加时,适当增加容器数量,当虚拟机配置降低时,适当减少容器数量;如果是计算密集型应用,对于CPU的要求就比较高;当虚拟机CPU增加后,增加容器的数值就应该适当减小,避免造成虚拟机配置过载的情况;所述的计算密集型应用,即程序系统大部分在做计算、逻辑判断、循环导致CPU占用率很高的应用。本专利技术方法将容器创建在虚拟机上,作为虚拟机的内置应用,即保障了容器与虚拟机之间的安全问题,又结合了虚拟机的弹性调度策略,提高了物理资源利用率;本专利技术方法提高容器可用性,利用虚拟机的弹性调度避免了容器在迁移过程的停机问题。附图说明下面结合附图对本专利技术进一步说明:图1为本专利技术的流程图;图2为本专利技术实施框架图。具体实施方式为使本发现的目的、技术方案和优点更加清楚,下面将结合附图并以实际实施案例作进一步详细解说,如图1、2所示,具体实施过程如下:1、设置虚拟机弹性配置策略,设置容器弹性配置策略;所述的设置虚拟机弹性配置策略,是指调整虚拟机CPU、内存大小的策略,在创建虚拟机时,设置虚拟机最小CPU、最小内存及最大CPU、最大内存,设置虚拟机弹性策略,主要根据所在物理服务器负载进行调整,比如物理机CPU利用率低于30%时,虚拟机CPU大小加1,数据可配置;比如物理机内存利用率大于80%时,虚拟机内存大小减2G,数据可配置。所有的配置策略均根据物理服务CPU、内存的利用率来进行调整,最终是为了提高物理资源利用率,当遇到降低虚拟机配置时,可以优先配置迁移虚拟机方式。所述的优先配置迁移虚拟机策略,即当前虚拟机所在物理服务器负载较高需要降低虚拟机配置时,可以查看是否其他物理服务器有足够的资源提供现有虚拟机使用,若有则可以采用迁移再监测方式。设置参数如下:/**nameString是*type应用类型(模板类型)Stringcluster(应用集群)|deploy(应用部署)是*description备注String否*instance.cpu实例配置cpu个数int*instance.memory实例配置内存大小(M)int*instance.attachVolumeType挂载云盘的类型stringLocal|RBD*instance.instanceStorageType存储类型int0|1|2*instance.isFloating虚拟机浮动ip绑定int(0,1)*loadbalance.isFloating浮动ip绑定int(0,1)否*loadbalance.type负载均衡类型string"new"*scaling_policy.policyType扩展方式StringscaleOutFirst横向优先,scaleUpFirst纵向优先#scaleout横向#scaleup纵向*scaling_policy.minInst最小虚拟机数int*scaling_policy.maxInst最大虚拟机数int*scaling_policy.cpu_resize每次扩展cpu核数int*scaling_policy.max_cpu扩展cpu最大值int*scaling_policy.mem_resize每次扩展内存大小(G)int*scaling_policy.max_mem扩展内存最大值(G)int*alarmTypelist[n]扩展条件策略List<String>pu_util”,”disk_io_read”,”disk_io_write”*/所述的容器弹性配置策略,主要是根据虚拟机的配置情况而决定,在创建容器组的时候可以设置容器组最小及最大数量,当前运行数量,当虚拟机配置增加时,适当增加容器数量,当虚拟机配置降低时,适当减少容器数量。这块需要根据容器运行的运行来决定,比如如果是计算密集型应用,对于CPU的要求就比较高本文档来自技高网...

【技术保护点】
1.一种虚拟机与容器混合调度方法,其特征在于:所述方法是将容器作为虚拟机的内置应用创建在虚拟机上,同时,赋予容器和虚拟机弹性配置策略;根据弹性配置策略创建容器和虚拟机的配置或迁移。

【技术特征摘要】
1.一种虚拟机与容器混合调度方法,其特征在于:所述方法是将容器作为虚拟机的内置应用创建在虚拟机上,同时,赋予容器和虚拟机弹性配置策略;根据弹性配置策略创建容器和虚拟机的配置或迁移。2.根据权利要求1所述的方法,其特征在于:所述的方法具体包括如下步骤:步骤1:设置虚拟机弹性配置策略,设置容器弹性配置策略;步骤2:创建一台虚拟机作为容器的载体,配置选择弹性策略;步骤3:将容器组创建在虚拟机上,选择容器弹性策略;步骤4:监测虚拟机所在物理机负载,根据虚拟机弹性配置策略,动态调整虚拟机配置或迁移虚拟机至其他物理节点;步骤5:监测虚拟机负载,根据容器弹性配置策略,动态调整容器运行数量。3.根据权利要求2所述的方法,其特征在于:所述的容器,容器为应用程序提供了隔离的运行空间:每个容器内都包含一个独享的完整用户环境空间,并且一个容器内的变动不会影响其他容器的运行环境;所述的容器的载体,即容器创建在虚拟机所在操作系统上,与其他虚拟机等同,容器只是作为虚拟机的特殊应用来对待;所述的容器组,是指多个容器的集合,可以单个应用集群容器,也可以多个,创建的时候可以限制容器组里面容器最大最小个数。4.根据权利要求2所述的方法,其特征在于:所述的设置虚拟机弹性配置策略,是指根据所在物理服务器CPU、内存的利用率调整虚拟机CPU、内存大小的策略;在创建虚拟机时,设置虚拟机最小CPU、最小内存及最大CPU、最大内存;当物理机CPU利用率低于30%时,虚拟机CPU大小加1,数据可配置;物...

【专利技术属性】
技术研发人员:刘勇彬季统凯
申请(专利权)人:国云科技股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1