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

一种面向容器云的异构动态扩缩容装置及方法

2022-08-17 09:14:25 来源:中国专利 TAG:


1.本发明涉及网络安全技术领域,尤其涉及一种面向容器云的异构动态扩缩容装置及方法。


背景技术:

2.云计算利用虚拟化技术提供了以互联网为基础的下一代高扩展性分布式计算系统。近年来,随着虚拟化、云计算及以docker为代表的容器技术的快速发展,越来越多的业务服务交付到云中执行,这也使得容器云逐渐被广大开发者所熟知。为了提高资源利用率,容器云环境下的业务负载充分利用容器云高弹性、敏捷的特性,根据业务处理的强度实时调整自身副本数量,即进行动态扩缩容。
3.然而,容器云技术在带来便利的同时,也引入了极大的安全隐患。比如,容器云平台聚集了大量用户和数据资源,更容易吸引黑客攻击,而故障一旦发生,其影响范围大,后果更加严重。传统的云平台通常使用同构的业务负载为用户提供服务,由于业务负载的同构性导致其具有相同的安全漏洞,攻击者只要探测到任意一个漏洞,那么整个平台的安全将会遭到威胁。作为网络空间主动防御技术的核心思想,异构为容器云的安全防护提供了新的思路。
4.中兴通讯股份有限公司在其申请的专利文献“一种安全防护方法及装置”(专利申请号cn201810135941.4,公开号cn110134428a)中公开了一种虚拟云服务系统中异构功能等价体的弹性伸缩调度装置,其以虚拟化业务网元为粒度进行弹性伸缩,并基于拟态安全防御架构的内生安全技术,提出基于多样性编译生成异构功能等价体,在此基础上建立软件版本池,从所述软件版本池中随机挑选或基于安全策略挑选一个软件版本部署到网元扩容后的物理资源上,或从业务处理单元中随机挑选或基于安全策略挑选一个网元进行删除,并在软件版本管理器中注销其相应的软件版本号。但是该方案的不足之处是:只针对软件多样化编译方法对虚拟化业务网元进行异构化处理,异构层次较为单一。


技术实现要素:

5.本发明针对容器云技术存在安全隐患的问题,提出一种面向容器云的异构动态扩缩容装置及方法,通过多个异构的业务负载副本同时提供服务,在不影响业务正常功能的前提下,起到迷惑攻击者,提高安全性的目的。
6.为了实现上述目的,本发明采用以下技术方案:
7.本发明一方面提出一种面向容器云的异构动态扩缩容装置,包括:控制单元、资源监控器、资源调度器、业务负载集合以及异构资源池;
8.所述控制单元包括异构评估模块和决策模块;所述异构评估模块用于在扩容时评估异构资源池与业务负载集合的异构度,还用于在缩容时评估业务负载集合的异构度;所述决策模块用于判断是否需要对业务负载集合执行扩容或缩容操作;
9.所述资源监控器用于实时监控业务负载集合的资源利用情况,并上报给控制单
元,以供决策模块进行决策时使用;
10.所述资源调度器用于在异构资源池和业务负载集合之间进行资源调度,以达到动态扩缩容的目的;
11.所述异构资源池用于管理异构计算资源与异构容器镜像,以供执行扩容操作时进行调度;
12.所述业务负载集合用于为用户提供所需服务。
13.进一步地,所述异构度的计算方法包括:
14.基于异构资源池和业务负载集合的共同漏洞数量来量化共同攻击面的大小,并根据共同漏洞数与异构度之间的函数关系计算异构度:
[0015][0016]
其中,h(r,w)表示异构度,vr和vw分别表示异构资源池与业务负载集合的漏洞集合。
[0017]
进一步地,所述决策模块的决策方法包括:
[0018]
基于业务负载集合的cpu或内存利用率,若两者中任意一个值高于预先设定的阈值,则对业务负载集合执行扩容操作;
[0019]
基于业务负载集合的cpu或内存利用率,若两者的值均低于预先设定的阈值,则对业务负载集合执行缩容操作。
[0020]
进一步地,所述资源调度器具体用于:
[0021]
当接收到扩容指令时,根据异构评估模块的输出结果,将异构资源池中异构度最大的资源调度到业务负载集合中;
[0022]
当接收到缩容指令时,根据异构评估模块的输出结果,将业务负载集合中异构度最小的资源调度到异构资源池中。
[0023]
进一步地,所述异构计算资源包括:
[0024]
异构的cpu架构、异构的操作系统、异构的应用程序、异构的应用程序编写语言。
[0025]
本发明另一方面提出一种面向容器云的异构动态扩缩容方法,应用于上述任一所述的一种面向容器云的异构动态扩缩容装置,包括:
[0026]
步骤a:创建一个异构资源池,其由异构计算资源和异构容器镜像排列组合而成;
[0027]
步骤b:资源监控器周期性地监控业务负载集合中的各项资源指标,然后发送给控制单元;
[0028]
步骤c:控制单元接收资源监控器发送的数据,并由决策模块判断当前状态是否需要对业务负载集合执行相应的操作;
[0029]
步骤d:资源调度器接收来自控制单元的指令,并实施具体操作,可执行的操作包括:扩容操作、缩容操作;
[0030]
步骤e:若决策模块判断业务负载集合中的cpu或内存利用率任一项高于预先设定的阈值、即不足以支持当前服务,则对业务负载集合执行扩容操作:首先由控制单元中的异构评估模块进行异构度计算,在异构资源池中选择与当前业务负载集合异构度最大的服务实例,然后调度到业务负载集合中提供服务;
[0031]
步骤f:若决策模块判断业务负载集合中的cpu和内存利用率均低于预先设定的阈
值,则对业务负载集合执行缩容操作:首先由控制模块中的异构评估模块进行异构度计算,在业务负载集合中选择异构度最低的业务负载实例,然后释放回异构资源池中;
[0032]
步骤g:资源调度器将调度情况反馈给控制单元,为决策模块与异构评估模块提供参考。
[0033]
与现有技术相比,本发明具有的有益效果:
[0034]
针对云计算中传统的扩缩容方法没有考虑安全性这一问题,本发明提供了一种面向容器云的异构动态扩缩容装置及方法,其中的异构度体现在利用异构计算资源和异构容器镜像的排列组合构建异构资源池,控制单元通过资源监控器对整体资源的监控数据判断是否需要对业务负载进行扩缩容操作,资源调度器进一步对业务负载与异构资源池进行调度。本发明使用动态、异构的思想可以有效抵御网络攻击,增强整体的安全性并提高整体的资源利用率。
附图说明
[0035]
图1为本发明实施例一种面向容器云的异构动态扩缩容装置的结构示意图之一;
[0036]
图2为本发明实施例一种面向容器云的异构动态扩缩容装置的结构示意图之二;
[0037]
图3为本发明实施例一种面向容器云的异构动态扩缩容方法的基本流程图。
具体实施方式
[0038]
下面结合附图和具体的实施例对本发明做进一步的解释说明:
[0039]
如图1所示,一种面向容器云的异构动态扩缩容装置,包括:控制单元、资源监控器、资源调度器、业务负载集合以及异构资源池;
[0040]
所述控制单元包括异构评估模块和决策模块;所述异构评估模块用于在扩容时评估异构资源池与业务负载集合的异构度,还用于在缩容时评估业务负载集合的异构度;所述决策模块用于判断是否需要对业务负载集合执行扩容或缩容操作;
[0041]
所述资源监控器用于实时监控业务负载集合的资源利用情况,并上报给控制单元,以供决策模块进行决策时使用;
[0042]
所述资源调度器用于在异构资源池和业务负载集合之间进行资源调度,以达到动态扩缩容的目的;
[0043]
所述异构资源池用于管理异构计算资源与异构容器镜像,以供执行扩容操作时进行调度;
[0044]
所述业务负载集合用于为用户提供所需服务。
[0045]
作为一种可实施方式,如图2所示。搭建该装置的网络平台可以是用于自动部署,扩展和管理容器化应用程序的开源系统kubernetes;控制单元(controller)可以是kubernetes中嵌入特定云的控制逻辑的控制平面组件controller manager;异构评估模块(heterogeneous evaluation module)计算异构度的方法包括但不限于:基于异构资源池和业务负载集合的共同漏洞数量来量化共同攻击面的大小,并根据共同漏洞数与异构度之间的函数关系计算异构度:其中,h(r,w)表示异构度,vr和vw分别表示异构资源池与业务负载集合的漏洞集合。共同攻击面大说明异构度小,反之亦然。决
策模块(decision module)的决策方法包括但不限于:基于业务负载集合的cpu或内存利用率,若两者中任意一个值高于预先设定的阈值,则对业务负载集合执行扩容操作;基于业务负载集合的cpu或内存利用率,若两者的值均低于预先设定的阈值,则对业务负载集合执行缩容操作。
[0046]
作为一种可实施方式,资源监控器(monitor)可以是google开源的一款用于展示和分析容器运行状态的可视化工具cadvisor,用户可以通过在主机上运行cadvisor轻松获取业务负载集合中的各项资源统计信息,其中的资源统计信息包括但不限于cpu或内存利用率。
[0047]
进一步地,所述资源调度器具体用于:
[0048]
当接收到扩容指令时,根据异构评估模块的输出结果,将异构资源池中异构度最大的资源调度到业务负载集合中;
[0049]
当接收到缩容指令时,根据异构评估模块的输出结果,将业务负载集合中异构度最小的资源调度到异构资源池中。
[0050]
作为一种可实施方式,资源调度器(scheduler)可以是kubernetes系统中的kube-scheduler,负责为未调度的pod选择一个最佳节点供它们运行;当资源调度器接收到扩容指令时,根据异构评估模块的输出结果,将异构资源池中异构度最大的资源调度到业务负载集合中。
[0051]
作为一种可实施方式,异构资源池(heterogeneous resource pool)中,计算资源的异构性包括但不限于体现在:cpu架构、操作系统、应用程序、应用程序代码相似度以及应用程序编写语言等方面;即异构计算资源(registry)包括异构的cpu架构、异构的操作系统、异构的应用程序、异构的应用程序编写语言;进一步地,cpu的异构性主要体现在架构方面:包括但不限于arm架构以及x86架构等;异构的操作系统包括但不限于:windows,linux和mac os等;异构的应用程序包括但不限于:tomcat、eclipse jetty、resin和jboss等;异构的应用程序编写语言包括但不限于:c、java、golang以及python等;业务负载的异构性包括但不限于体现在:容器镜像方面;即异构业务负载(repository)包括异构容器镜像(image)。
[0052]
作为一种可实施方式,业务负载集合(workload)包括多个基于上述提到的异构资源池中的异构计算资源与异构容器镜像组成的异构的pod,并为用户提供服务。
[0053]
如图3所示,本发明另一方面提出一种面向容器云的异构动态扩缩容方法,应用于上述的一种面向容器云的异构动态扩缩容装置,该方法流程包括:通过异构计算资源与异构容器镜像组成异构资源池,运行的业务负载集合从异构资源池中选取;在运行过程中,资源监控器实时监控业务负载集合的资源利用率;控制单元中的决策模块根据资源监控器提供的资源使用状态,判断是否需要对业务负载集合执行扩容或缩容操作;控制单元中的异构度评估模块对业务负载集合或异构资源池的异构度进行评估;在执行扩缩容操作时,资源调度器会基于异构度评估模块的评估结果执行操作;若执行扩容操作,则在异构资源池中选择与业务负载集合中异构度最高的资源调度到业务负载集合中;若执行缩容操作,则删除对业务负载集合异构度影响最小的业务负载;该方法具体包括:
[0054]
步骤a:创建一个异构资源池,其由异构计算资源和异构容器镜像排列组合而成;
[0055]
步骤b:资源监控器周期性地监控业务负载集合中的各项资源指标,然后发送给控
制单元;
[0056]
步骤c:控制单元接收资源监控器发送的数据,并由决策模块判断当前状态是否需要对业务负载集合执行相应的操作;
[0057]
步骤d:资源调度器接收来自控制单元的指令,并实施具体操作,可执行的操作包括:扩容操作、缩容操作;
[0058]
步骤e:若决策模块判断业务负载集合中的cpu或内存利用率任一项高于预先设定的阈值、即不足以支持当前服务,则对业务负载集合执行扩容操作:首先由控制单元中的异构评估模块进行异构度计算,在异构资源池中选择与当前业务负载集合异构度最大的服务实例,然后调度到业务负载集合中提供服务;
[0059]
步骤f:若决策模块判断业务负载集合中的cpu和内存利用率均低于预先设定的阈值,则对业务负载集合执行缩容操作:首先由控制模块中的异构评估模块进行异构度计算,在业务负载集合中选择异构度最低的业务负载实例,然后释放回异构资源池中;
[0060]
步骤g:资源调度器将调度情况反馈给控制单元,为决策模块与异构评估模块提供参考。
[0061]
综上,针对云计算中传统的扩缩容方法没有考虑安全性这一问题,本发明提供了一种面向容器云的异构动态扩缩容装置及方法,其中的异构度体现在利用异构计算资源和异构容器镜像的排列组合构建异构资源池,控制单元通过资源监控器对整体资源的监控数据判断是否需要对业务负载进行扩缩容操作,资源调度器进一步对业务负载与异构资源池进行调度。本发明使用动态、异构的思想可以有效抵御网络攻击(例如,嗅探攻击),增强整体的安全性并提高整体的资源利用率。
[0062]
以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

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

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

相关文献