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

基于容器的隔离调度部署方法及系统与流程

2022-06-05 16:59:31 来源:中国专利 TAG:


1.本技术涉及通信技术领域,尤其涉及一种基于容器的隔离调度部署方法及系统。


背景技术:

2.随着以微服务和容器(container)为核心的云原生(cloud native landscape)技术的兴起,越来越多的领域开始向容器技术迁移。经过几年时间的高速发展,在容器编排领域,kubernetes(简称“k8s”)已经成为事实上的标准。以k8s为核心的云原生基金会(cloud native computing foundation,cncf)正在将容器推向电信领域,实现从虚拟网络功能(virtualized network function,vnf)向云原生网络功能(cloud-native network functions,cnf)的演进。
3.对于第五代(5
th
generation,5g)以下的通信技术及5g非高可靠低时延通信(ultra-reliable low-latency communication,urllc)场景,容器化场景下电信核心网网元通常存在两类容器:
4.1)、高吞吐性能容器:这类容器主要是对吞吐量高的转发面容器,需使用隔离的cpu资源;
5.2)、普通容器:这类容器通常存在于管理/控制面网元中,对性能要求普遍不高,使用的是共享cpu资源。
6.高吞吐性能容器通常是通过隔离中央处理单元(central processing unit,cpu)的资源专门提供给该类容器使用,以此来尽可能保证高吞吐要求的容器性能。然而,这种隔离cpu资源的方式隔离得并不彻底,cpu上还存在较多的系统类中断和系统每中央处理单元(percpu)线程,同时并未对内存(memory,mem)资源进行隔离。这种最基础的隔离手段叫做普通隔离。
7.然而,由于urllc的引入,对时延和抖动都提出更高的要求,进而又引入一类新的容器:实时确定性容器,这类容器里的应用通常要求极致的低时延和低抖动。如图1所示的5g场景下不同类型的容器示意图,提供普通隔离核给实时确定性容器使用,这时当前操作系统(operation system,os)和容器调度提供的普通隔离核上存在较多干扰,无法满足这种极致的低时延要求。
8.同时现有主流的容器平台(例如,k8s)在做容器编排时仅支持以下场景:
9.1)、对容器所需的资源进行描述,请求(request)和上限(limits)里的cpu数量一致且为整数,这样类型的容器才能使用隔离核(如图2所示的场景一);
10.2)、如果容器集合(pod)内存在多个容器,则要求每个容器都满足上面的规则(如图2所示的场景二);
11.3)、不满足前两条规则只能按照场景三,全部使用共享核来进行编排(如图2所示的场景三)。
12.从上面可以看出,当前的主流容器编排调度平台是间接地通过request/limits数量一致来隐含表明需要使用隔离核,这种资源描述只能描述一个pod中同类型的容器的资
源信息。
13.因为5g urllc的引入,一种新的要求确定性低时延低抖动的容器应用出现,当前os单一的隔离技术和容器编排调度技术并不能支持这种类型的容器应用编排。如图3所示的场景三,一个pod内部其中一个容器需要使用隔离cpu,另一个容器需要使用共享cpu,即一个pod中存在不同类型的容器;又如图3所示的场景四:一个pod内的容器里存在多个线程/进程,其中有对高吞吐性能要求的部分,有对实时确定性要求的部分,还有普通性能的部分,称其为复杂混合容器(通常电信领域的应用复杂度高,容器内可存在多进程,且其要求不同)。上述容器编排调度技术不能支持复杂混合pod/容器的编排。


技术实现要素:

14.本技术提供一种基于容器的隔离调度部署方法及系统,以支持pod内容器按需分配隔离与共享核资源,以及支持pod内单个容器按需分配隔离与共享核资源,提高节点资源的利用率。
15.第一方面,提供了一种基于容器的隔离调度部署方法,所述方法包括应用于基于容器的隔离调度部署系统,所述系统包括:虚拟网络功能管理器vnfm、容器基础设施服务管理器cism和容器基础服务器cis,所述方法包括:所述vnfm接收针对第一应用的容器创建请求,所述容器创建请求包括请求创建的第一容器的核隔离类型和内存资源需求信息;所述vnfm向所述cism发送容器创建命令,所述容器创建命令包括所述第一容器的核隔离类型和所述内存资源需求信息;所述cism根据所述容器创建命令,确定在第一节点的第一容器集合pod中创建所述第一容器,并记录所述第一容器的核隔离类型和所述内存资源需求信息;以及所述第一节点中的cis监听到在所述第一节点的所述第一pod中创建所述第一容器,根据所述第一容器的核隔离类型和所述内存资源需求信息,在所述第一pod中创建所述第一容器。在该方面中,通过在容器创建过程中携带核隔离类型和内存资源需求信息,可以实现基于容器的多模式资源隔离的混合调度部署,实现在裸机/虚机容器场景下不同类型应用混合编排部署的目的,支持电信领域复杂应用,最大化利用节点的资源并提升灵活性。
16.在一种可能的实现中,所述核隔离类型包括以下至少一种类型:核深度隔离,核完全隔离。在该实现中,除了核普通隔离,还增加了核深度隔离和核完全隔离两种类型。核普通隔离、核深度隔离和核完全隔离,其隔离程度越来越高,操作系统对应用的干扰越小,应用的性能越高。
17.在又一种可能的实现中,所述第一容器的内存资源需求信息包括以下至少一个信息:所述第一容器的第三级缓存的内存要求,所述第一容器最大能够使用的内存带宽占总带宽的比例,每种类型的核的数量。在该实现中,对应核深度隔离/核完全隔离,需在容器资源的描述中扩展上述内存资源需求信息,以保证应用的性能。
18.在又一种可能的实现中,所述cism根据所述容器创建命令,确定在第一节点的第一pod中创建所述第一容器,包括:所述cism获取所述第一节点中已创建的至少一个第二pod的容器资源信息,所述至少一个第二pod的容器资源信息包括每个第二pod中至少一个第二容器的第三级缓存的内存要求,所述至少一个第二容器中每个第二容器最大能够使用的内存带宽占总带宽的比例;以及所述cism根据所述第一容器的核隔离类型、所述内存资源需求信息以及所述第一节点中已创建的至少一个第二pod的容器资源信息,确定在所述
第一节点中的所述第一pod创建所述第一容器。在该实现中,各节点的cis还可以采集和上报其节点内各pod内各容器的资源信息,cism可以根据pod内容器的资源信息,确定是否在该pod内创建新的容器。
19.在又一种可能的实现中,所述第一节点中的cis监听到在所述第一pod中创建所述第一容器,根据所述第一容器的核隔离类型和所述内存资源需求信息在所述第一pod中创建所述第一容器,包括:所述cis读取所述cism记录的所述第一容器的核隔离类型和所述内存资源需求信息;以及所述cis根据所述第一容器的核隔离类型和所述内存资源需求信息,在所述第一pod中创建所述第一容器。
20.第二方面,提供了一种基于容器的隔离调度部署系统,所述系统具备实现上述第一方面的功能,比如,所述系统包括执行上述第一方面涉及步骤所对应的模块或单元或手段(means),所述功能或单元或手段可以通过软件实现,或者通过硬件实现,也可以通过硬件执行相应的软件实现。
21.在一种可能的实现中,所述vnfm用于接收针对第一应用的容器创建请求,所述容器创建请求包括请求创建的第一容器的核隔离类型和内存资源需求信息;所述vnfm还用于向所述cism发送容器创建命令,所述容器创建命令包括所述第一容器的核隔离类型和所述内存资源需求信息;所述cism用于根据所述容器创建命令,确定在第一节点的第一容器集合pod中创建所述第一容器,并记录所述第一容器的核隔离类型和所述内存资源需求信息;以及所述第一节点中的cis用于监听到在所述第一节点的所述第一pod中创建所述第一容器,根据所述第一容器的核隔离类型和所述内存资源需求信息,在所述第一pod中创建所述第一容器。
22.可选地,所述核隔离类型包括以下至少一种类型:核深度隔离,核完全隔离。
23.可选地,所述第一容器的内存资源需求信息包括以下至少一个信息:所述第一容器的第三级缓存的内存要求,所述第一容器最大能够使用的内存带宽占总带宽的比例,每种类型的核的数量。
24.可选地,所述cism用于获取所述第一节点中已创建的至少一个第二pod的容器资源信息,所述至少一个第二pod的容器资源信息包括每个第二pod中至少一个第二容器的第三级缓存的内存要求,所述至少一个第二容器中每个第二容器最大能够使用的内存带宽占总带宽的比例;以及所述cism还用于根据所述第一容器的核隔离类型、所述内存资源需求信息以及所述第一节点中已创建的至少一个第二pod的容器资源信息,确定在所述第一节点中的所述第一pod创建所述第一容器。
25.可选地,所述cis用于读取所述cism记录的所述第一容器的核隔离类型和所述内存资源需求信息;以及所述cis还用于根据所述第一容器的核隔离类型和所述内存资源需求信息,在所述第一pod中创建所述第一容器。
26.在又一种可能的实现中,所述系统包括处理器,还可以包括收发器,所述收发器用于收发信号,所述处理器执行程序指令,以完成上述第一方面中任意可能的实现或实现方式中的方法。其中,所述系统还可以包括一个或多个存储器,所述存储器用于与处理器耦合,所述存储器可以保存实现上述第一方面涉及的功能的必要计算机程序或指令。所述处理器可执行所述存储器存储的计算机程序或指令,当所述计算机程序或指令被执行时,使得所述系统实现上述第一方面任意可能的实现或实现方式中的方法。
manager,vnfm)101、容器基础设施服务管理器(container infrastructure service manager,cism)102和位于各节点(node)中的容器基础服务器(container infrastructure server,cis)103(图中示例了n个节点中的cis)。其中,vnfm101可以是部署在服务器上的组件,主要负责一个或多个vnf的生命周期管理,比如实例化(instantiating)vnf、更新(updating)vnf、查询vnf、弹性伸缩(scaling)vnf、终止(terminating)vnf。vnfm可以与上述vnf通信,以完成vnf生命周期管理及交换配置和状态信息。在nfv架构中vnfm可以有多个,负责对不同类型的vnf进行生命周期管理。该cism102进行容器基础服务管理,是容器部署的管理组件,负责对使用者提供容器部署的接口和能力,与vnfm101、以及位于各节点内的cis103进行通信交互。cis103提供容器运行时环境的虚拟化技术服务。在该系统100中,vnfm101接收针对第一应用的容器创建请求,该容器创建请求包括请求创建的第一容器的核隔离类型和内存资源需求信息,并向cism102发送容器创建命令,该容器创建命令包括第一容器的核隔离类型和内存资源需求信息;cism102根据容器创建命令,确定在第一节点中的第一pod创建第一容器,并记录第一容器的核隔离类型和内存资源需求信息;cism103监听到在第一节点的第一pod中创建第一容器,根据第一容器的核隔离类型和内存资源需求信息,在第一pod中创建第一容器。
47.在一个实现中,如图5所示,cism可以作为nfv标准里的独立组件,与vnfm及cis进行通信交互。其中,cism包括mcio管理和容器具体化vr管理(container-specific vr management),其中,mcio管理与虚拟设施管理器(virtualized infrastructure manager,vim)进行通信,vim主要负责控制和管理vnf与计算硬件、存储硬件、网络硬件、虚拟计算(例如虚拟机(virtual machine,vm))、虚拟存储和虚拟网络的交互。例如vim执行资源管理功能,包括管理基础设施资源、分配(例如增加资源给虚拟容器)及运行功能(例如收集nfvi故障信息)。vnfm可以与vim通信,以请求资源分配、交换虚拟化硬件资源配置和状态信息。cis位于网络功能虚拟化基础设施(nfv infrastructure,nfvi)中。nfvi还包括管理程序(hypervisor)。
48.nfvi:可以包括计算硬件、存储硬件、网络硬件组成的硬件资源层、虚拟化层、以及虚拟计算、虚拟存储和虚拟网络组成的虚拟资源层。硬件资源层中的计算硬件可以为专用的处理器或通用的用于提供处理和计算功能的处理器,如中央处理器(central process unit,cpu);存储硬件用于提供存储能力,例如,磁盘或网络附属存储(network attached storage,nas);网络硬件可以是交换机、路由器和/或其他网络设备。nfvi中的虚拟化层用于抽象硬件资源层的硬件资源,将vnf和硬件资源所属的物理层解耦,向vnf提供虚拟资源。虚拟资源层可以包括虚拟计算、虚拟存储和虚拟网络。虚拟计算、虚拟存储可以以虚拟机或其他虚拟容器的形式向vnf提供,例如一个或多个虚拟机组成一个vnf。虚拟化层通过抽象网络硬件形成虚拟网络。虚拟网络,用于实现多个虚拟机之间,或多个承载vnf的其他类型的虚拟容器之间的通信。
49.在又一个实现中,如图6所示,cism内嵌在虚拟网络功能(virtualized network function,vnf)里,并支持与vnfm进行通信交互。
50.本技术的实施例中,上述每个node内包括至少一个pod。如图7所示的本技术实施例提供的pod模型容器资源描述示意图,pod作为一个最小的调度单位,每个pod包括一个pause容器,还可以包括至少一个应用(application,app)容器和/或至少一个边车
(sidecar)容器。这些pod在调度上是同生命周期的,并且共享同样的网络命名空间(namespace)。在资源描述上,当前支持在pod模型里描述具体的app容器和sidecar容器的资源信息。
51.不同的应用场景对于时延和抖动的要求是不同的。本技术的实施例中,从客户的视角对时延和抖动的可靠性进行分级,称为确定性。具体的确定性等级分类如下:
52.强确定性:确定性无法满足降导致业务失败,并产生业务重大损失。
53.准确定性:确定性无法满足将导致业务商业价值明显降低,明显影响业务商业效果。
54.可以看出,确定性等级越高,对时延和抖动的要求越高,支持的是要求更高精密的复杂工业场景。
55.示例性地,根据应用对时延和抖动的等级划分以及确定性等级划分如下表1所示:
56.表1
[0057][0058]
背景技术中描述的高吞吐的性能容器通常是通过隔离cpu的资源专门提供给该类容器使用,以此来尽可能保证高吞吐要求的容器性能,其隔离资源的方式如下表2所示:
[0059]
表2
[0060][0061][0062]
从表2可以看出,普通的隔离主要隔离cpu资源,同时cpu隔离并不彻底,cpu上还存
在较多的系统类中断和系统percpu线程,同时并未对内存资源进行隔离。其中,percpu是指每cpu的意思,当前服务器的cpu都是多核(cpu核心)的,percpu线程就是指每个cpu上都会运行的一些内核线程。
[0063]
由于urllc的引入,对时延和抖动都提出更高的要求,进而又引入一类新的实时确定性容。这类容器里的应用通常要求极致的低时延和低抖动,这时当前os和容器调度提供的普通隔离cpu模式核上存在较多干扰,无法满足这种极致的低时延要求。
[0064]
本技术针对电信行业对一些应用场景(例如,5gurllc场景)下对极致低时延确定性的要求,对核隔离类型进行定义并扩展如下:
[0065]
cpu普通隔离:完成基本的普通线程/进程、普通的设备中断的隔离。
[0066]
cpu深度隔离:在普通隔离的基础上,实现percpu线程,内存资源(第三级缓存(l3cache)/内存带宽的隔离)。
[0067]
cpu完全隔离:在深度隔离的基础上,进一步实现对所有的系统调用等内核服务的隔离。
[0068]
具体地,如下表3所示:
[0069]
表3
[0070]
资源分类/隔离类型普通隔离深度隔离完全隔离普通线程隔离隔离隔离设备中断隔离隔离隔离percpu线程/隔离隔离系统调用/按需隔离隔离内存资源(第三级缓存、内存带宽)/隔离隔离
[0071]
从表3所示的不同的核隔离模式的说明来看,cpu普通隔离-》cpu深度隔离-》cpu完全隔离,其隔离程度越来越高,系统对应用的干扰越小,应用的性能会越高。
[0072]
其中,对于扩展出的两种核隔离类型:cpu深度隔离/cpu完全隔离,需在容器资源的描述(即虚拟网络功能描述(virtual network function descriptor,vnfd))中扩展内存资源需求信息如下:
[0073]
l3 cache:即容器的第三级缓存的内存要求,例如为20m,代表容器需要占用20m的l3 cache,保障高性能应用独占缓存(cache)命中率更高,不受其他应用影响。
[0074]
内存带宽(mem bandwidth):即容器最大能够使用的内存带宽占总带宽的比例,例如为60%,代表该容器最大能够使用的内存带宽为总带宽的60%,通过限制上限来保障带宽不会完全吃满,导致其他应用下降。
[0075]
以cism作为nfv标准里的独立组件为例,如图8所示,本技术实施例提供一种nfv架构扩展示意图,其中,对cnf作如下扩展:
[0076]
1)扩展vnfd的模板:模板中对操作系统容器描述(oscontainerdesc)(具体是容器所使用的计算、存储和网络资源的描述)中需扩展支持显式定义不同核隔离类型及数量、内存资源类型及数量(l3 cache和内存带宽)的限制描述。例如,图8中,定义了三种核隔离类型:cpu普通隔离、cpu深度隔离和cpu完全隔离。其中,普通隔离cpu的数量为2个,共享核为2.5个,深度隔离cpu的数量为1个,完全隔离cpu的数量为1个,l3 cache为20m,内存带宽为30%。
[0077]
2)vnfm对接cism接口的扩展:扩展if1创建接口,支持下发不同的核隔离类型及数量与扩展隔离资源。扩展if2上报接口,cism上报vnfc的核隔离模式与资源信息。
[0078]
基于此,如图9所示,本技术实施例提供一种基于容器的隔离调度部署方法,该方法可应用于图4~图6所示的基于容器的隔离调度部署系统。示例性地,该方法可以包括以下步骤:
[0079]
s101、vnfm接收针对第一应用的容器创建请求。
[0080]
vnfm接收外部(例如用户、网管或其它服务器、客户端)发送的针对第一应用的容器创建请求。如图9所示,该容器创建请求携带vnfd。vnfd具有统一的容器资源描述格式。本实施例中,通过vnfd扩展容器资源描述,具体地,扩展了请求创建的第一容器的核隔离类型和内存资源需求信息。图9中,定义了第一容器所需的三种核隔离类型:cpu普通隔离、cpu深度隔离和cpu完全隔离。示例性地,普通隔离cpu的数量为2个,共享核为2.5个,深度隔离cpu的数量为1个,完全隔离cpu的数量为1个,l3 cache为20m,内存带宽为30%。可见,该pod包括多种类型的容器。该容器创建请求用于请求支持pod内多种类型的容器按需分配隔离与共享核资源。
[0081]
可选地,在其它示例中,该容器创建请求用于请求支持pod内单个容器按需分配隔离与共享核资源,该第一容器为混合容器,该第一容器里存在多个线程/进程,其中有对高吞吐性能要求的部分,有对实时确定性要求的部分,还有普通性能的部分。该容器创建请求用于请求支持pod内单个容器按需分配隔离与共享核资源。
[0082]
本实施例在原有的普通隔离基础上,扩展提供了深度隔离、完全隔离两种模式,解决5g urllc等场景的确定性低时延的容器诉求。
[0083]
s102、vnfm向cism发送容器创建命令,该容器创建命令包括第一容器的核隔离类型和内存资源需求信息。
[0084]
具体地,vnfm解析容器创建请求,获取请求创建的第一容器的核隔离类型和内存资源需求信息,然后生成容器创建命令,并通过调用cism接口if1下发vnfc的容器创建命令。相应地,cism接收该容器创建命令。
[0085]
s103、cism根据容器创建命令,确定在第一节点的第一pod中创建第一容器,并记录第一容器的核隔离类型和内存资源需求信息。
[0086]
具体地,cism管理多个节点,每个节点中可创建一个或多个pod,每个pod中又可以包括一个或多个容器。cism可以通过调度算法调度到指定的节点,例如第一节点,即确定在第一节点的第一pod中创建第一容器。示例性地,cism根据第一容器的核隔离类型、内存资源需求信息以及各个节点中的容器已占用的资源信息,确定在第一节点的第一pod中创建第一容器。
[0087]
cism确定在第一节点的第一pod中创建第一容器时,在其数据库中记录第一容器的核隔离类型和内存资源需求信息。
[0088]
第一节点的cis监听cism的调度,周期性地读取cism的数据库中记录的待创建的容器的相关信息,当其读取到在第一节点的第一pod创建第一容器时(换句话说,当其监听到cism调度的第一pod是该第一节点中的pod),并获取该第一pod中待创建的容器的核隔离类型和内存资源需求信息。举例说明,在第一pod中待创建的容器包括一个或多个容器,例如,可以是单个容器,该单个容器可以是上述混合容器;还可以包括多种类型的容器。cis同
时获取第一pod中待创建的所有容器的核隔离类型和内存资源需求信息,其中包括第一容器的核隔离类型和内存资源需求信息。
[0089]
s104、第一节点中的cis监听到在第一节点的第一pod中创建第一容器,根据第一容器的核隔离类型和内存资源需求信息,在第一pod中创建第一容器。
[0090]
本实施例中,扩展cis模块,支持从cism中监听pod时获取容器资源描述的扩展信息,包括核隔离类型和数量、内存资源的数量等。
[0091]
同时,os内核也需要进行扩展:需要基于当前cpu普通隔离的基础上,进一步支持上述cpu深度隔离和cpu完全隔离模式;需要支持内存资源的分组预占,并监控其使用情况,包括:l3cache的分组预占/内存带宽的分组设置,支持通过cpu进行分组和任务线程进行分组。
[0092]
通过上述cis模块和os内核的扩展,支持为vnfcpod内不同容器按需提供隔离环境,支持普通隔离、深度隔离、完全隔离、共享核的组合实现,提升了资源利用率。并且支持为单个容器提供多模式的隔离环境,以支持容器内复杂的混合应用场景(尤其是电信领域的场景),最大程度为业务提供灵活性。
[0093]
具体实现时,cis在第一节点创建第一pod,并在第一pod中依次创建一个或多个容器。cis根据解析到需要不同类型的隔离cpu调用os不同的接口创建隔离核环境,根据解析到描述的内存资源隔离情况,调用os接口创建资源分组,并对容器的资源进行限制,从而创建了多类型隔离模式的vnfc。
[0094]
从而cis可以支持pod内容器按需分配隔离与共享核资源,以及支持pod内单个容器按需分配隔离与共享核资源。
[0095]
根据本技术实施例提供的一种基于容器的隔离调度部署方法,通过在容器创建请求和调度pod时,携带核隔离类型和内存资源需求信息,可以实现基于容器的多模式资源隔离的混合调度部署,实现在裸机/虚机容器场景下不同类型应用混合编排部署的目的,支持电信领域复杂应用,最大化利用节点的资源并提升灵活性。
[0096]
如图10所示,本技术实施例提供一种基于容器的隔离调度部署方法,该方法可应用于图4~图6所示的基于容器的隔离调度部署系统。示例性地,该方法可以包括以下步骤:
[0097]
s201、任一个节点的cis收集其所在节点中已创建的至少一个第二pod的容器资源信息。
[0098]
在创建第一容器/第一pod之前,每个节点中可能已创建一些pod。为了满足容器的资源需求以及平衡节点的负载等,每个节点中的cis可以收集其所在节点中的各个pod的容器资源信息。其收集可以是周期性的,或者基于某个事件触发的,例如节点中新创建了pod。
[0099]
该容器资源信息包括:1)容器的cpu、内存资源需求信息;2)容器已使用的隔离核类型和数量;3)容器已使用的l3cache带宽及内存带宽信息。
[0100]
s202、任一个节点的cis向cism上报收集到的所在节点中已创建的至少一个第二pod的容器资源信息。
[0101]
各个节点中的cis向容器管理组件cism上报收集到的其所在节点的各个pod内的容器资源信息。s203、cism向vnfm上报各节点中已创建的至少一个第二pod内的容器资源信息。
[0102]
具体地,cism可以通过前述扩展的if2接口向vnfm上报各个节点的各个pod内的容
器资源信息。该上报可以是周期性的,或者基于某个事件触发的,例如收集到某个节点上报的容器资源信息。
[0103]
s204、vnfm接收针对第一应用的容器创建请求。
[0104]
该步骤的具体实现可参考图9所示的步骤s101,在此不再赘述。
[0105]
可以理解的是,上述步骤s201~s203与s204~s205的实现顺序不作限定,即可以在接收新的容器创建请求之前,获取各个节点的已创建的pod中容器资源信息;也可以在接收到新的容器创建请求之后,获取各个节点的已创建的pod中容器资源信息。
[0106]
s205、vnfm向cism发送容器创建命令,该容器创建命令包括第一容器的核隔离类型和内存资源需求信息。
[0107]
具体地,vnfm解析容器创建请求,获取请求创建的第一容器的核隔离类型和内存资源需求信息,然后生成容器创建命令,并通过调用cism接口if1下发vnfc的容器创建命令。相应地,cism接收该容器创建命令。
[0108]
s206、cism根据第一容器的核隔离类型、内存资源需求信息以及第一节点中已创建的至少一个第二pod的容器资源信息,确定在第一节点中的第一pod创建第一容器。
[0109]
cism管理多个节点,每个节点中可创建一个或多个pod,每个pod中又可以包括一个或多个容器。cism在获取到各个节点的已创建的pod中容器的资源信息后,可以判断哪个节点的已创建的pod较少(即节点的负载较小),判断该节点剩余的容器资源是否能满足待创建的第一pod的容器资源要求,以及判断该节点的cis模块和os内核的扩展,是否支持为不同容器按需提供隔离环境,支持普通隔离、深度隔离、完全隔离、共享核的组合实现,从而确定在第一节点中的第一pod创建该第一容器。
[0110]
例如,cism管理节点1~节点4共4个节点,cism获取各个节点最近上报的各个节点中已创建的pod的容器资源信息。以内存带宽为例,cism收集到节点1的已创建的pod中的所有容器占用的内存带宽为总带宽的50%,节点2的已创建的pod中的所有容器占用的内存带宽为总带宽的60%,节点3的已创建的pod中的所有容器占用的内存带宽为总带宽的70%,节点4的已创建的pod中的所有容器占用的内存带宽为总带宽的20%。cism根据待创建的第一pod中的容器的内存带宽需求为50%,由于节点1~节点3的内存带宽较为紧张或者不能满足待创建的pod中的容器的内存带宽需求,cism确定在节点4中创建第一pod。
[0111]
s207、cis读取cism记录的第一容器的核隔离类型和内存资源需求信息。
[0112]
第一节点的cis监听cism的调度,周期性地读取cism的数据库中记录的待创建的容器的相关信息,当其读取到在第一节点的第一pod创建第一容器时(换句话说,当其监听到cism调度的第一pod是该第一节点中的pod),并获取该第一pod中待创建的容器的核隔离类型和内存资源需求信息。举例说明,在第一pod中待创建的容器包括一个或多个容器,例如,可以是单个容器,该单个容器可以是上述混合容器;还可以包括多种类型的容器。cis同时获取第一pod中待创建的所有容器的核隔离类型和内存资源需求信息,其中包括第一容器的核隔离类型和内存资源需求信息。
[0113]
s208、cis根据第一容器的核隔离类型和所述内存资源需求信息,在第一pod中创建第一容器。
[0114]
cis在第一节点创建第一pod,并在第一pod中依次创建一个或多个容器。cis根据解析到需要不同类型的隔离cpu调用os不同的接口创建隔离核环境,根据解析到描述的内
存资源隔离情况,调用os接口创建资源分组,并对容器的资源进行限制,从而创建了多类型隔离模式的vnfc。
[0115]
从而cis可以支持pod内容器按需分配隔离与共享核资源,以及支持pod内单个容器按需分配隔离与共享核资源。
[0116]
根据本技术实施例提供的一种基于容器的隔离调度部署方法,通过在容器创建请求和调度pod时,携带核隔离类型和内存资源需求信息,可以实现基于容器的多模式资源隔离的混合调度部署,实现在裸机/虚机容器场景下不同类型应用混合编排部署的目的,支持电信领域复杂应用,最大化利用节点的资源并提升灵活性;且该系统根据容器创建请求所需的容器资源信息和pod中已创建的容器的资源信息,确定调度的pod,可以实现节点、pod中的资源的最大化利用。
[0117]
如图11所示,还提供了一种基于容器的隔离调度部署系统的结构示意图,该基于容器的隔离调度部署系统用于执行上述基于容器的隔离调度部署方法。上述方法中的部分或全部可以通过硬件来实现,也可以通过软件或固件来实现。
[0118]
可选的,该基于容器的隔离调度部署系统在具体实现时可以是芯片或者集成电路。
[0119]
可选的,当上述实施例的基于容器的隔离调度部署方法中的部分或全部通过软件或固件来实现时,可以通过图11提供的一种基于容器的隔离调度部署系统200来实现。如图11所示,该基于容器的隔离调度部署系统200可包括:
[0120]
存储器23和处理器24(装置中的处理器24可以是一个或多个,图11中以一个处理器为例),还可以包括输入装置21、输出装置22。在本实施例中,输入装置21、输出装置22、存储器23和处理器24可通过总线或其它方式连接,其中,图11中以通过总线连接为例。
[0121]
处理器可以是中央处理器(central processing unit,cpu),网络处理器(network processor,np),或wlan设备。处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld),现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。
[0122]
存储器可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);存储器还可以包括上述种类的存储器的组合。
[0123]
该处理器24用于调用存储器23中存储的程序指令,执行图9或图10中的方法步骤。
[0124]
本领域技术人员应明白,本公开一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本公开一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本公开一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0125]
本技术实施例还提供了一种芯片系统,包括:至少一个处理器和接口,该至少一个
处理器通过接口与存储器耦合,当该至少一个处理器执行存储器中的计算机程序或指令时,使得上述任一方法实施例中的方法被执行。可选的,该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件,本技术实施例对此不作具体限定。
[0126]
本技术实施例还提供一种计算机可读存储介质,该存储介质上可以存储有计算机程序,所述程序被处理器执行时实现本公开任一实施例描述的基于容器的隔离调度部署方法的步骤。
[0127]
本技术实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本公开任一实施例描述的基于容器的隔离调度部署方法的步骤。
[0128]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0129]
应理解,在本技术的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,a/b可以表示a或b;其中a,b可以是单数或者复数。并且,在本技术的描述中,除非另有说明,“多个”是指两个或多于两个。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。另外,为了便于清楚描述本技术实施例的技术方案,在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。同时,在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
[0130]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所显示或讨论的相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0131]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0132]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者通过该计算机可读存储介质进行传输。该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用
介质集成的服务器、数据中心等数据存储设备。该可用介质可以是只读存储器(read-only memory,rom),或随机存取存储器(random access memory,ram),或磁性介质,例如,软盘、硬盘、磁带、磁碟、或光介质,例如,数字通用光盘(digital versatile disc,dvd)、或者半导体介质,例如,固态硬盘(solid state disk,ssd)等。
再多了解一些

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

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

相关文献