WO2020155987A1 - Scheduling management method and apparatus for network function virtualization nfv architecture - Google Patents

Scheduling management method and apparatus for network function virtualization nfv architecture Download PDF

Info

Publication number
WO2020155987A1
WO2020155987A1 PCT/CN2019/129247 CN2019129247W WO2020155987A1 WO 2020155987 A1 WO2020155987 A1 WO 2020155987A1 CN 2019129247 W CN2019129247 W CN 2019129247W WO 2020155987 A1 WO2020155987 A1 WO 2020155987A1
Authority
WO
WIPO (PCT)
Prior art keywords
host
pod
management device
label
scheduling management
Prior art date
Application number
PCT/CN2019/129247
Other languages
French (fr)
Chinese (zh)
Inventor
章佳佳
陈波
黄学斌
曹登京
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2020155987A1 publication Critical patent/WO2020155987A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Disclosed in embodiments of the present application are a scheduling management method and apparatus for a network function virtualization (NFV) architecture. In the method, a scheduling management device first sets a corresponding VM label for each VM according to the HOSTs to which each VM belongs, and the division of VMs may be implemented by means of the VM labels of the VMs. Under such circumstances, the VMs in the same HOST are of the same type. Then, once determined that a first VM migrates from a first HOST to a second HOST, the scheduling management device updates the VM label of the first VM to the second HOST, and then a scheduler in the NFV architecture is triggered. The scheduler determines whether a first Pod in the first VM meets deployment requirements. If deployment requirements are not met, the scheduler will schedule the first Pod to a second VM of the first HOST. Thus, after the migration of the first VM occurs, the first Pod is still deployed in the first HOST to meet the deployment requirements of the first Pod, thereby meeting the scheduling requirements of the Pod at the HOSTs.

Description

一种网络功能虚拟化NFV架构的调度管理方法及装置A scheduling management method and device for network function virtualization NFV architecture
本申请要求在2019年02月01日提交中国专利局、申请号为201910104725.8、发明名称为“一种网络功能虚拟化NFV架构的调度管理方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of a Chinese patent application filed with the Chinese Patent Office on February 1, 2019, the application number is 201910104725.8, and the invention title is "A method and device for scheduling management of network function virtualization NFV architecture", and its entire contents Incorporated in this application by reference.
技术领域Technical field
本申请涉及通信技术领域,具体涉及一种网络功能虚拟化NFV架构的调度管理方法及装置。This application relates to the field of communication technology, and in particular to a scheduling management method and device for a network function virtualization NFV architecture.
背景技术Background technique
网络功能虚拟化(network functions virtualization,NFV)是由欧洲电信标准化协会(European telecommunications standards institute,ETSI)从网络运营商的角度出发提出的一种软件和硬件分离的架构,目标是基于现代化的虚拟化技术,采用通用硬件,例如业界标准的大容量服务器、存储和交换机等,承载多种网络软件功能,实现软件的灵活加载。Network functions virtualization (NFV) is a software and hardware separation architecture proposed by the European Telecommunications Standards Institute (ETSI) from the perspective of network operators. The goal is based on modern virtualization. Technology, using general-purpose hardware, such as industry-standard large-capacity servers, storage, and switches, to carry multiple network software functions and realize flexible software loading.
NFV架构如图1所示,参见图1,在NFV架构中所涉及到的网元包括:虚拟化的网络功能管理器(VNF manager,VNFM)、虚拟化基础设施管理器(virtualised infrastructure manager,VIM)、平台即服务(platform as a service,PaaS)、网络功能虚拟化基础设施层(Network Functions Virtualization Infrastructure,NFVI)和最小部署单元Pod。其中,VNFM的主要功能是实现对VNF的生命周期管理,如部署/扩容/缩容/下线等自动化能力;VNFM根据模板及VNF容量需求,分解出对虚拟机等虚拟资源的需求,能够与VIM等配合完成VNF的实例化;VIM的主要功能是实现对整个基础设施层资源(例如计算、存储、网络资源)的管理和监控;VNFM和VIM共同构成NFV管理的模块,并且,能够与PaaS进行交互;PaaS是将服务器平台作为一种服务提供的商业模式,在PaaS中设置有调度器(例如Google开源的容器编排引擎Kubernetes),该调度器用于为容器化的应用提供资源调度、部署运行和扩缩容等功能;NFVI用于对NFV的基础设施建设,在NFVI中可以包括虚拟计算(Virtual Computing)、虚拟存储(Virtual Storage)、虚拟网络(Virtual Network)、虚拟化层(Virtualisation Layer)和硬件资源(Hardware resources);VNF用于承担虚拟化的功能。Pod是PaaS中的调度器创建、调度和管理的最小单位,运行在虚拟机(Virtual Machine,VM)内;另外,VM被部署在主机(HOST)内,即VM为Pod的父节点,而HOST为Pod的父父节点。The NFV architecture is shown in Figure 1. See Figure 1. The network elements involved in the NFV architecture include: virtualized network function manager (VNFM), virtualized infrastructure manager (VIM) ), platform as a service (platform as a service, PaaS), network function virtualization infrastructure layer (Network Functions Virtualization Infrastructure, NFVI), and the smallest deployment unit Pod. Among them, the main function of VNFM is to realize the life cycle management of VNF, such as deployment/expansion/reduction/offline and other automation capabilities; VNFM decomposes the demand for virtual resources such as virtual machines according to the template and VNF capacity requirements, and can be compared with VIM, etc. cooperate to complete the instantiation of VNF; the main function of VIM is to realize the management and monitoring of the entire infrastructure layer resources (such as computing, storage, network resources); VNFM and VIM together constitute the NFV management module, and can be combined with PaaS Interaction; PaaS is a business model that provides a server platform as a service. PaaS is equipped with a scheduler (such as Google's open source container orchestration engine Kubernetes), which is used to provide resource scheduling, deployment and operation for containerized applications Functions such as expansion and contraction; NFVI is used for the construction of NFV infrastructure. NFVI can include virtual computing (Virtual Computing), virtual storage (Virtual Storage), virtual network (Virtual Network), and virtualization layer (Virtualisation Layer) And hardware resources (Hardware resources); VNF is used to assume the function of virtualization. Pod is the smallest unit of scheduler creation, scheduling and management in PaaS. It runs in a virtual machine (Virtual Machine, VM); in addition, the VM is deployed in the host (HOST), that is, the VM is the parent node of the Pod, and the HOST It is the parent node of the Pod.
为了应对各种应用场景,NFV架构支持对Pod进行亲和性/反亲和性的调度,Pod亲和性的调度指的是将相同类型的Pod部署在相同的VM中,Pod反亲和性的调度指的是将相同或不同类型的各个Pod部署在不同的VM中。其中,对Pod进行亲和性的调度,即将相同类型的Pod部署在不同VM中,能够减少宕机影响,对Pod进行反亲和性的调度,即将不同类型的Pod部署在不同VM中,能够避免不同类型的Pod之间 的干扰。In order to cope with various application scenarios, the NFV architecture supports affinity/anti-affinity scheduling for Pod. Pod affinity scheduling refers to deploying the same type of Pod in the same VM. Pod anti-affinity The scheduling of refers to the deployment of Pods of the same or different types in different VMs. Among them, the affinity scheduling of Pods, that is, the deployment of the same type of Pods in different VMs, can reduce the impact of downtime, and the anti-affinity scheduling of Pods, that is, deploy different types of Pods in different VMs. Avoid interference between different types of Pods.
目前对Pod进行的亲和性/反亲和性的调度时,预先为不同VM分别设置相应的标签,通过标签对VM进行划分,然后根据VM的标签确定Pod所需部署的VM。例如,当需要对Pod进行亲和性的调度,将各个相同类型的Pod部署在同一个VM时,可为该VM设置目标标签,将各个相同类型的Pod部署在目标标签对应的VM中,从而使各个相同类型的Pod均部署在目标标签对应的VM中,实现Pod的亲和性的调度;当需要对Pod进行反亲和性的调度,将各个Pod部署在不同的VM时,可为不同VM设置不同的标签,在部署Pod的过程中,当确定某一标签对应的VM中已部署有Pod时,则将待部署的Pod部署在其他标签对应的VM中,从而将各个Pod部署在不同的VM中,实现Pod的反亲和性调度。In the current affinity/anti-affinity scheduling of Pods, corresponding labels are set for different VMs in advance, the VMs are divided by labels, and the VMs that the Pod needs to deploy are determined according to the labels of the VMs. For example, when it is necessary to perform affinity scheduling for Pods and deploy each Pod of the same type in the same VM, a target tag can be set for the VM, and each Pod of the same type can be deployed in the VM corresponding to the target tag. All Pods of the same type are deployed in the VM corresponding to the target tag to achieve Pod affinity scheduling; when Pods need to be scheduled for anti-affinity, and each Pod is deployed in different VMs, it can be different VMs are set with different labels. In the process of deploying Pods, when it is determined that a Pod has been deployed in the VM corresponding to a certain label, the Pod to be deployed is deployed in the VM corresponding to other labels, so that each Pod is deployed in different In the VM, the anti-affinity scheduling of Pod is realized.
但是,发明人在本申请的研究过程中发现,现有技术只能实现Pod在VM级别的调度,即只能将某一种类型的Pod部署在特定类型的VM内,有些应用场景下,需要实现Pod在HOST级别的调度,但现有技术无法满足Pod在HOST的调度需求,即通过现有技术,无法将某一Pod只部署在特定的HOST内。However, the inventor found in the research process of this application that the prior art can only implement Pod scheduling at the VM level, that is, only a certain type of Pod can be deployed in a specific type of VM. In some application scenarios, it is necessary Realize Pod scheduling at the HOST level, but the existing technology cannot meet the scheduling requirements of the Pod at the HOST, that is, through the existing technology, it is impossible to deploy a certain Pod only in a specific HOST.
发明内容Summary of the invention
为了解决现有技术无法满足Pod在HOST的调度需求的问题,本申请实施例公开一种网络功能虚拟化NFV架构的调度管理方法及装置。In order to solve the problem that the prior art cannot meet the scheduling requirements of the Pod on the HOST, embodiments of the present application disclose a scheduling management method and device for a network function virtualization NFV architecture.
第一方面,本申请实施例公开一种网络功能虚拟化NFV架构的调度管理方法,包括:In the first aspect, an embodiment of the present application discloses a scheduling management method of a network function virtualization NFV architecture, including:
NFV架构中的调度管理设备获取各个虚拟机VM所属的主机HOST,并为所述VM设置相应的VM标签,所述VM标签包括所述VM所属的HOST的信息;The scheduling management device in the NFV architecture obtains the host HOST to which each virtual machine VM belongs, and sets a corresponding VM label for the VM, where the VM label includes information about the host to which the VM belongs;
所述调度管理设备在确定第一VM从第一HOST迁移至第二HOST之后,根据所述第一VM迁移后所属的HOST,更新所述第一VM的VM标签;After determining that the first VM is migrated from the first HOST to the second HOST, the scheduling management device updates the VM label of the first VM according to the HOST to which the first VM belongs after the migration;
所述调度管理设备触发所述NFV架构中的调度器,所述调度器用于当根据所述第一VM更新后的VM标签,确定所述第一VM中的第一最小部署单元Pod不符合部署需求时,将所述第一Pod调度至所述第一HOST的第二VM中。The scheduling management device triggers a scheduler in the NFV architecture, and the scheduler is used to determine that the first minimum deployment unit Pod in the first VM does not conform to deployment according to the updated VM label of the first VM When required, the first Pod is scheduled to the second VM of the first HOST.
通过本申请实施例公开的方案,能够使某一种Pod部署在特定的HOST中,从而满足Pod在HOST的调度需求,解决现有技术的问题。Through the solutions disclosed in the embodiments of the present application, a certain type of Pod can be deployed in a specific HOST, so as to meet the scheduling requirements of the Pod on the HOST and solve the problems of the prior art.
一种可选的设计中,所述调度管理设备通过所述NFV架构中的虚拟化基础设施管理器VIM反馈的VM创建成功信息,获取各个VM所属的主机HOST;In an alternative design, the scheduling management device obtains the host HOST to which each VM belongs through the VM creation success information fed back by the virtualized infrastructure manager VIM in the NFV architecture;
和/或,所述调度管理设备通过所述VIM反馈的VM迁移完成信息,确定所述第一VM从第一HOST迁移至第二HOST。And/or, the scheduling management device determines that the first VM is migrated from the first HOST to the second HOST through the VM migration completion information fed back by the VIM.
一种可选的设计中,所述调度管理设备为虚拟化的网络功能管理器VNFM;In an optional design, the scheduling management device is a virtualized network function manager VNFM;
或者,所述调度管理设备为内置有所述调度器的平台即服务模块PaaS。Alternatively, the dispatch management device is a platform that is a service module PaaS with the dispatcher built-in.
一种可选的设计中,当所述调度管理设备为VNFM时,所述调度管理设备触发所述NFV架构中的调度器,包括:In an alternative design, when the scheduling management device is a VNFM, the scheduling management device triggers the scheduler in the NFV architecture, including:
所述VNFM将所述第一VM的VM标签变更信息传输至所述NFV架构中的PaaS,通过所述第一VM的VM标签变更信息触发所述PaaS内置的所述调度器;The VNFM transmits the VM label change information of the first VM to the PaaS in the NFV architecture, and triggers the scheduler built in the PaaS through the VM label change information of the first VM;
当所述调度管理设备为PaaS时,所述调度管理设备触发所述NFV架构中的调度 器,包括:When the scheduling management device is PaaS, the scheduling management device triggering the scheduler in the NFV architecture includes:
所述PaaS确定所述第一VM的VM标签发生变化之后,触发内置的所述调度器。After the PaaS determines that the VM label of the first VM has changed, it triggers the built-in scheduler.
一种可选的设计中,当所述调度管理设备为VNFM时,在所述调度管理设备为所述VM设置相应的VM标签之后,还包括:In an optional design, when the scheduling management device is a VNFM, after the scheduling management device sets a corresponding VM label for the VM, the method further includes:
所述VNFM将所述VM与VM标签的对应关系传输至所述PaaS。The VNFM transmits the correspondence between the VM and the VM tag to the PaaS.
PaaS能够获取VM与VM标签的对应关系,从而能够根据该对比关系确定各个VM的VM标签,并在接收到VNFM传输的第一VM的VM标签变更信息之后,根据所述第一VM的VM标签变更信息,判断第一VM的VM标签是否发生变更。PaaS can obtain the corresponding relationship between the VM and the VM label, so that the VM label of each VM can be determined according to the comparison relationship, and after receiving the VM label change information of the first VM transmitted by the VNFM, according to the VM label of the first VM Change information to determine whether the VM label of the first VM has changed.
一种可选的设计中,在所述调度管理设备为所述VM设置相应的VM标签之前,还包括:In an optional design, before the scheduling management device sets a corresponding VM label for the VM, the method further includes:
所述调度管理设备向VIM下发创建第一VM和第二VM的指令,所述VIM用于在接收到所述指令之后,创建第一VM和第二VM,并在创建成功后,向所述调度管理设备反馈第一VM和第二VM的创建成功消息。The scheduling management device issues an instruction to create a first VM and a second VM to the VIM, and the VIM is used to create the first VM and the second VM after receiving the instruction, and after the creation is successful, to The scheduling management device feeds back the creation success message of the first VM and the second VM.
当需要创建VM时,NFV架构中的调度管理设备等会向NFV架构中的VIM下发创建VM的指令,以使VIM根据该指令创建相应的VM,并且,在VM创建成功之后,VIM会向调度管理设备反馈相应的VM创建成功消息,从而能够实现第一VM和第二VM的创建,以及使调度管理设备获取第一VM和第二VM的创建成功消息。When a VM needs to be created, the scheduling management device in the NFV architecture will issue an instruction to create a VM to the VIM in the NFV architecture, so that the VIM will create the corresponding VM according to the instruction, and after the VM is successfully created, the VIM will The scheduling management device feeds back a corresponding VM creation success message, so that the creation of the first VM and the second VM can be realized, and the scheduling management device can obtain the creation success message of the first VM and the second VM.
在所述调度管理设备为所述VM设置相应的VM标签之后,还包括:After the scheduling management device sets the corresponding VM label for the VM, the method further includes:
所述调度管理设备下发创建第一Pod的指令,所述创建第一Pod的指令中包括所述第一Pod对应的HOST的信息。The scheduling management device issues an instruction for creating a first Pod, and the instruction for creating a first Pod includes information about the HOST corresponding to the first Pod.
当需要在第一HOST中部署第一Pod时,可在创建第一Pod的指令中设置第一HOST的信息,第一HOST中的第一VM接收到创建第一Pod的指令之后,确定自身的VM标签中包括的HOST的信息,与创建第一Pod的指令中包括的HOST的信息相同,则创建部署在自身的第一Pod,从而能够在第一VM中创建第一Pod。When the first Pod needs to be deployed in the first HOST, the information of the first HOST can be set in the instruction to create the first Pod. After the first VM in the first HOST receives the instruction to create the first Pod, it determines its own The HOST information included in the VM tag is the same as the HOST information included in the instruction to create the first Pod, and the first Pod deployed on itself is created, so that the first Pod can be created in the first VM.
一种可选的设计中,在所述调度管理设备为所述VM设置相应的VM标签之后,还包括:In an optional design, after the scheduling management device sets a corresponding VM label for the VM, the method further includes:
所述调度管理设备向VIM下发创建第三VM和第四VM的指令,所述创建第三VM和第四VM的指令中指示所述第三VM和第四VM之间具有强反亲和性,所述VIM用于根据所述创建第三VM和第四VM的指令,在不同的HOST中分别创建第三VM和第四VM;The scheduling management device issues instructions for creating a third VM and a fourth VM to the VIM, and the instructions for creating the third VM and the fourth VM indicate that the third VM and the fourth VM have a strong anti-affinity The VIM is used to create the third VM and the fourth VM in different HOSTs according to the instructions for creating the third VM and the fourth VM;
所述调度管理设备向所述调度器下发创建第二Pod的指令,所述调度器用于在接收到所述创建第二Pod的指令之后,当确定第二Pod与所述第三VM中的第三Pod具有强反亲和性时,在所述第四VM中创建所述第二Pod。The scheduling management device issues an instruction to create a second Pod to the scheduler, and the scheduler is configured to, after receiving the instruction to create a second Pod, determine whether the second Pod and the third VM are When the third Pod has strong anti-affinity, the second Pod is created in the fourth VM.
由于第二Pod与第三Pod具有强反亲和性,因此需要将第二Pod与第三Pod部署在不同的VM中,这种情况下,通过上述步骤,当第三VM中部署有第三Pod时,则将第二Pod部署至第四VM中,从而能够保障第二Pod与第三Pod之间的强反亲和性。Since the second Pod and the third Pod have strong anti-affinity, the second Pod and the third Pod need to be deployed in different VMs. In this case, through the above steps, when the third VM is deployed In the case of Pod, the second Pod is deployed in the fourth VM, so as to ensure the strong anti-affinity between the second Pod and the third Pod.
一种可选的设计中,在所述调度管理设备为所述VM设置相应的VM标签之后,还包括:In an optional design, after the scheduling management device sets a corresponding VM label for the VM, the method further includes:
当需要创建第一类型的VM时,所述调度管理设备根据预先设定的所述第一类型 的VM在同一HOST的数量限制,生成创建第一类型的VM的指令;When a VM of the first type needs to be created, the scheduling management device generates an instruction to create a VM of the first type according to a preset limit on the number of VMs of the first type in the same HOST;
所述创建第一类型的VM的指令中包含所述第一类型的VM的数量限制,所述创建第一类型的VM的指令用于指示在同一HOST中,所创建的第一类型的VM的数量不大于所述数量限制。The instruction for creating a VM of the first type includes a limit on the number of VMs of the first type, and the instruction for creating a VM of the first type is used to indicate that the VMs of the first type are created in the same HOST. The quantity is not greater than the stated quantity limit.
通过上述步骤,能够保障在同一个HOST中创建的第一类型的VM的数量不超过所述数量限制。Through the above steps, it can be ensured that the number of VMs of the first type created in the same HOST does not exceed the number limit.
第二方面,本申请实施例公开一种网络功能虚拟化NFV架构的调度装置,应用于调度管理设备中,包括:In the second aspect, an embodiment of the present application discloses a scheduling device of a network function virtualization NFV architecture, which is applied to a scheduling management device, and includes:
收发单元,用于获取各个虚拟机VM所属的主机HOST;The transceiver unit is used to obtain the host HOST to which each virtual machine VM belongs;
处理单元,用于为所述VM设置相应的VM标签,所述VM标签包括所述VM所属的HOST的信息,在确定第一VM从第一HOST迁移至第二HOST之后,根据所述第一VM迁移后所属的HOST,更新所述第一VM的VM标签,并且,触发所述NFV架构中的调度器,所述调度器用于当根据所述第一VM更新后的VM标签,确定所述第一VM中的第一最小部署单元Pod不符合部署需求时,将所述第一Pod调度至所述第一HOST的第二VM中。The processing unit is configured to set a corresponding VM label for the VM, where the VM label includes information about the HOST to which the VM belongs, and after determining that the first VM migrates from the first HOST to the second HOST, according to the first The host to which the VM belongs after migration updates the VM label of the first VM, and triggers the scheduler in the NFV architecture. The scheduler is used to determine the VM label according to the updated VM label of the first VM. When the first minimum deployment unit Pod in the first VM does not meet the deployment requirements, the first Pod is scheduled to the second VM of the first HOST.
一种可选的设计中,所述处理单元用于通过所述NFV架构中的虚拟化基础设施管理器VIM反馈的VM创建成功信息,获取各个VM所属的主机HOST;In an optional design, the processing unit is used to obtain the host HOST to which each VM belongs through the VM creation success information fed back by the virtualized infrastructure manager VIM in the NFV architecture;
和/或,所述处理单元用于通过所述VIM反馈的VM迁移完成信息,确定所述第一VM从第一HOST迁移至第二HOST。And/or, the processing unit is configured to determine the migration of the first VM from the first HOST to the second HOST through the VM migration completion information fed back by the VIM.
一种可选的设计中,本申请实施例公开所述调度管理设备为虚拟化的网络功能管理器VNFM;In an optional design, the embodiment of the application discloses that the scheduling management device is a virtualized network function manager VNFM;
或者,所述调度管理设备为内置有所述调度器的平台即服务模块PaaS。Alternatively, the dispatch management device is a platform that is a service module PaaS with the dispatcher built-in.
一种可选的设计中,本申请实施例公开当所述调度管理设备为VNFM时,所述处理单元用于将所述第一VM的VM标签变更信息传输至所述NFV架构中的PaaS,通过所述第一VM的VM标签变更信息触发所述PaaS内置的所述调度器;In an alternative design, the embodiment of the present application discloses that when the scheduling management device is a VNFM, the processing unit is configured to transmit the VM label change information of the first VM to the PaaS in the NFV architecture, Triggering the scheduler built in the PaaS through the VM tag change information of the first VM;
当所述调度管理设备为PaaS时,所述处理单元用于确定所述第一VM的VM标签发生变化之后,触发内置的所述调度器。When the scheduling management device is PaaS, the processing unit is configured to trigger the built-in scheduler after determining that the VM label of the first VM has changed.
一种可选的设计中,本申请实施例公开当所述调度管理设备为VNFM时,在所述处理单元为所述VM设置相应的VM标签之后,所述收发单元还用于将所述VM与VM标签的对应关系传输至所述PaaS。In an alternative design, the embodiment of the present application discloses that when the scheduling management device is a VNFM, after the processing unit sets a corresponding VM tag for the VM, the transceiver unit is further configured to transfer the VM The correspondence relationship with the VM tag is transmitted to the PaaS.
一种可选的设计中,本申请实施例公开在为所述VM设置相应的VM标签之前,所述处理单元还用于通过所述收发单元,向VIM下发创建第一VM和第二VM的指令,所述VIM用于在接收到所述指令之后,创建第一VM和第二VM,并在创建成功后,向所述调度管理设备反馈第一VM和第二VM的创建成功消息;In an optional design, the embodiment of the present application discloses that before setting a corresponding VM label for the VM, the processing unit is further configured to issue the first VM and the second VM to the VIM through the transceiver unit The VIM is used to create a first VM and a second VM after receiving the instruction, and after the creation is successful, feedback the creation success message of the first VM and the second VM to the scheduling management device;
在为所述VM设置相应的VM标签之后,所述处理单元还用于通过所述收发单元,下发创建第一Pod的指令,所述创建第一Pod的指令中包括所述第一Pod对应的HOST的信息。After setting the corresponding VM tag for the VM, the processing unit is further configured to issue an instruction to create a first Pod through the transceiver unit, and the instruction to create the first Pod includes the corresponding first Pod HOST information.
一种可选的设计中,本申请实施例公开在所述处理单元为所述VM设置相应的VM标签之后,所述处理单元还用于通过所述收发单元,向VIM下发创建第三VM和第四 VM的指令,所述创建第三VM和第四VM的指令中指示所述第三VM和第四VM之间具有强反亲和性,所述VIM用于根据所述创建第三VM和第四VM的指令,在不同的HOST中分别创建第三VM和第四VM;In an alternative design, the embodiment of the present application discloses that after the processing unit sets a corresponding VM tag for the VM, the processing unit is further configured to issue the creation of a third VM to the VIM through the transceiver unit And the fourth VM instructions, the instructions for creating the third VM and the fourth VM indicate that the third VM and the fourth VM have a strong anti-affinity, and the VIM is used to create the third VM according to the The instructions of the VM and the fourth VM respectively create the third VM and the fourth VM in different hosts;
所述处理单元还用于通过所述收发单元,向所述调度器下发创建第二Pod的指令,所述调度器用于在接收到所述创建第二Pod的指令之后,当确定第二Pod与所述第三VM中的第三Pod具有强反亲和性时,在所述第四VM中创建所述第二Pod。The processing unit is further configured to issue an instruction to create a second Pod to the scheduler through the transceiver unit, and the scheduler is configured to determine the second Pod after receiving the instruction to create the second Pod. When it has a strong anti-affinity with the third Pod in the third VM, the second Pod is created in the fourth VM.
一种可选的设计中,本申请实施例公开在为所述VM设置相应的VM标签之后,当需要创建第一类型的VM时,所述处理单元还用于,根据预先设定的所述第一类型的VM在同一HOST的数量限制,生成创建第一类型的VM的指令;In an optional design, the embodiment of the present application discloses that after setting a corresponding VM label for the VM, when a VM of the first type needs to be created, the processing unit is further configured to, according to the preset The number of VMs of the first type is limited on the same HOST, and an instruction to create the VM of the first type is generated;
所述创建第一类型的VM的指令中包含所述第一类型的VM的数量限制,所述创建第一类型的VM的指令用于指示在同一HOST中,所创建的第一类型的VM的数量不大于所述数量限制。The instruction for creating a VM of the first type includes a limit on the number of VMs of the first type, and the instruction for creating a VM of the first type is used to indicate that the VMs of the first type are created in the same HOST. The quantity is not greater than the stated quantity limit.
第三方面,本申请实施例公开一种网络功能虚拟化NFV架构的调度管理设备,包括:In the third aspect, an embodiment of the present application discloses a scheduling management device of a network function virtualization NFV architecture, including:
处理器和存储器;Processor and memory;
其中,所述存储器,用于存储程序指令;Wherein, the memory is used to store program instructions;
所述处理器,用于调用并执行所述存储器中存储的程序指令,以使所述调度管理设备执行执行第一方面,或第一方面的任意一种可能的设计中的方法。The processor is configured to call and execute program instructions stored in the memory, so that the scheduling management device executes the first aspect or any one of the possible design methods of the first aspect.
第四方面,本申请实施例公开一种计算机可读介质,包括指令,当其在计算机上运行时,使得计算机执行第一方面,或第一方面的任意一种可能的设计中的方法。In a fourth aspect, the embodiments of the present application disclose a computer-readable medium, including instructions, which when run on a computer, cause the computer to execute the first aspect or any one of the possible design methods of the first aspect.
本申请实施例公开的调度管理方法中,调度管理设备首先根据各个VM所属的HOST,为VM设置相应的VM标签,通过VM的VM标签,能够实现对VM的划分,这种情况下,位于同一个HOST内的VM为同一类型;然后,调度管理设备在确定第一VM从第一HOST迁移至第二HOST之后,将所述第一VM的VM标签更新为所述第二HOST,再触发NFV架构中的调度器,所述调度器确定第一VM中的第一Pod是否符合部署需求,若不符合,则调度器会将第一Pod调度至第一HOST的第二VM中,从而在第一VM发生迁移之后,仍然使第一Pod部署在第一HOST中,满足第一Pod的部署需求。In the scheduling management method disclosed in the embodiments of the present application, the scheduling management device first sets corresponding VM tags for the VMs according to the HOST to which each VM belongs. The VM tags can be used to divide the VMs. In this case, they are located in the same location. The VMs in a HOST are of the same type; then, after determining that the first VM migrates from the first HOST to the second HOST, the scheduling management device updates the VM label of the first VM to the second HOST, and then triggers NFV The scheduler in the architecture determines whether the first Pod in the first VM meets the deployment requirements. If it does not meet the deployment requirements, the scheduler will schedule the first Pod to the second VM of the first HOST. After a VM is migrated, the first Pod is still deployed in the first HOST to meet the deployment requirements of the first Pod.
在现有技术中,只能将某一种Pod部署在特定类型的VM中,无法满足Pod在HOST的调度需求。而通过本申请实施例公开的方案,能够使某一种Pod部署在特定的HOST中,从而满足Pod在HOST的调度需求,解决现有技术的问题。In the prior art, only a certain type of Pod can be deployed in a specific type of VM, which cannot meet the scheduling requirements of the Pod on the HOST. With the solution disclosed in the embodiments of the present application, a certain type of Pod can be deployed in a specific HOST, so as to meet the scheduling requirements of the Pod on the HOST and solve the problems of the prior art.
附图说明Description of the drawings
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to explain the technical solution of the present application more clearly, the following will briefly introduce the drawings needed in the embodiments. Obviously, for those of ordinary skill in the art, without paying creative labor, Other drawings can be obtained from these drawings.
图1为本申请实施例应用的一种NFV的架构示意图;FIG. 1 is a schematic diagram of an NFV architecture applied in an embodiment of this application;
图2为本申请实施例公开的一种NFV架构的调度管理方法的工作流程示意图;2 is a schematic diagram of a work flow of a scheduling management method of an NFV architecture disclosed in an embodiment of the application;
图3为本申请实施例公开的一种NFV架构的调度管理方法中,Pod部署的示意图;FIG. 3 is a schematic diagram of Pod deployment in an NFV architecture scheduling management method disclosed in an embodiment of the application;
图4为本申请实施例公开的NFV架构的调度管理方法中,一种NFV架构中各个 网元的信息交互示意图;FIG. 4 is a schematic diagram of information exchange among various network elements in the NFV architecture in the scheduling management method of the NFV architecture disclosed in an embodiment of the application;
图5为本申请实施例公开的NFV架构的调度管理方法中,又一种NFV架构中各个网元的信息交互示意图;FIG. 5 is another schematic diagram of information interaction of each network element in the NFV architecture in the scheduling management method of the NFV architecture disclosed in the embodiment of the application;
图6为本申请实施例公开的又一种NFV架构的调度管理方法的工作流程示意图;6 is a schematic diagram of the workflow of another NFV architecture scheduling management method disclosed in an embodiment of the application;
图7为本申请实施例公开的NFV架构的调度管理方法中,又一种NFV架构中各个网元的信息交互示意图;FIG. 7 is another schematic diagram of information interaction of each network element in the NFV architecture in the scheduling management method of the NFV architecture disclosed in an embodiment of the application;
图8为本申请实施例公开的一种NFV架构的调度管理装置的结构示意图;FIG. 8 is a schematic structural diagram of an NFV architecture scheduling management device disclosed in an embodiment of the application;
图9为本申请实施例公开的一种NFV架构的调度管理设备的结构示意图。FIG. 9 is a schematic structural diagram of a scheduling management device of an NFV architecture disclosed in an embodiment of the application.
具体实施方式detailed description
为了解决现有技术无法满足Pod在HOST的调度需求的问题,本申请实施例公开一种网络功能虚拟化NFV架构的调度管理方法及装置,其中,本申请实施例公开的方案,可应用于图1所示的NFV架构中。In order to solve the problem that the prior art cannot meet the scheduling requirements of Pod on HOST, the embodiments of this application disclose a scheduling management method and device of a network function virtualization NFV architecture. Among them, the solution disclosed in the embodiment of this application can be applied to FIG. In the NFV architecture shown in 1.
为了明确本申请实施例公开的方案,以下分别通过各个实施例公开本申请的方案。In order to clarify the solutions disclosed in the embodiments of the present application, the solutions of the present application are disclosed through respective embodiments below.
本申请第一实施例公开一种网络功能虚拟化NFV架构的调度管理方法,参见图2所示的工作流程示意图,所述网络功能虚拟化NFV架构的调度管理方法包括以下步骤:The first embodiment of the present application discloses a scheduling management method of a network function virtualization NFV architecture. Referring to the working flow diagram shown in FIG. 2, the scheduling management method of the network function virtualization NFV architecture includes the following steps:
步骤S11、NFV架构中的调度管理设备获取各个虚拟机VM所属的主机HOST,并为所述VM设置相应的VM标签,所述VM标签包括所述VM所属的HOST的信息。Step S11: The scheduling management device in the NFV architecture obtains the host HOST to which each virtual machine VM belongs, and sets a corresponding VM label for the VM, and the VM label includes the information of the host to which the VM belongs.
其中,HOST为VM的父节点,也就是说,VM设置在HOST中,一个HOST中可设置一个或多个VM。Among them, HOST is the parent node of the VM, that is, the VM is set in the HOST, and one or more VMs can be set in a HOST.
在NFV架构中,可由VIM创建VM。这种情况下,当需要创建VM时,NFV架构中的调度管理设备向VIM发送VM创建指令,VIM在接收到VM创建指令之后,在HOST中创建VM。In the NFV architecture, VMs can be created by VIM. In this case, when a VM needs to be created, the scheduling management device in the NFV architecture sends a VM creation instruction to the VIM. After receiving the VM creation instruction, the VIM creates the VM in the HOST.
另外,在完成VM的创建之后,VIM可向调度管理设备反馈VM所属的HOST,从而能够使调度管理设备获取到各个VM所属的HOST,并据此为所述VM设置相应的VM标签。其中,VM标签中包括的HOST信息为能够确定HOST身份,且在NFV架构中具有唯一性的信息,例如,该HOST信息可以为HOST在NFV架构中的网元编号、地址信息或身份标识等。In addition, after the creation of the VM is completed, the VIM can feed back to the scheduling management device the HOST to which the VM belongs, so that the scheduling management device can obtain the HOST to which each VM belongs, and accordingly set a corresponding VM label for the VM. Wherein, the HOST information included in the VM tag is information that can determine the identity of the HOST and is unique in the NFV architecture. For example, the HOST information may be the network element number, address information, or identity identification of the HOST in the NFV architecture.
步骤S12、所述调度管理设备在确定第一VM从第一HOST迁移至第二HOST之后,根据所述第一VM迁移后所属的HOST,更新所述第一VM的VM标签。这种情况下,更新后的VM标签中包括的HOST信息为第二HOST的信息。Step S12: After determining that the first VM is migrated from the first HOST to the second HOST, the scheduling management device updates the VM label of the first VM according to the HOST to which the first VM belongs after the migration. In this case, the HOST information included in the updated VM tag is the information of the second HOST.
VM在被创建之后,还可能会发生迁移,例如,当第一HOST中的VM发生故障时,该VM可迁移至第二HOST中。After the VM is created, migration may also occur. For example, when the VM in the first HOST fails, the VM may be migrated to the second HOST.
另外,VM在迁移至新的HOST之后,VIM还可将VM所迁移的新的HOST反馈至调度管理设备,从而能够使调度管理设备确定各个VM是否发生迁移,以及VM在迁移前后所属的HOST。In addition, after the VM is migrated to the new HOST, the VIM can also feed back the new HOST migrated by the VM to the scheduling management device, so that the scheduling management device can determine whether each VM is migrated and the host to which the VM belongs before and after the migration.
步骤S13、所述调度管理设备触发所述NFV架构中的调度器,所述调度器用于当根据所述第一VM更新后的VM标签,确定所述第一VM中的第一最小部署单元Pod不符合部署需求时,将所述第一Pod调度至所述第一HOST的第二VM中。Step S13: The scheduling management device triggers a scheduler in the NFV architecture, and the scheduler is used to determine the first minimum deployment unit Pod in the first VM according to the updated VM label of the first VM When the deployment requirements are not met, the first Pod is scheduled to the second VM of the first HOST.
其中,所述调度器可以设置在NFV架构中的PaaS中,例如,该调度器可以为PaaS 中设置的Google开源的容器编排引擎Kubernetes。The scheduler may be set in PaaS in the NFV architecture. For example, the scheduler may be Google's open source container orchestration engine Kubernetes set in PaaS.
所述调度管理设备在更新第一VM的VM标签之后,触发调度器。所述调度器被触发之后,根据所述第一VM更新后的VM标签,确定第一VM中的第一最小部署单元Pod是否符合部署需求。其中,调度器确定第一Pod是否符合部署需求时,是根据第一Pod的亲和性/反亲和性的需求。如果第一Pod的亲和性/反亲和性的需求表明,第一Pod需要设置在第一HOST的VM中,则根据第一VM更新后的VM标签,调度器会确定第一Pod部署在第二HOST中,进一步确定第一Pod不符合部署需求,从而将第一Pod调度至第一HOST的第二VM中。由于第二VM设置在第一HOST中,则第二VM的VM标签为第一HOST,在第一Pod被调度至第二VM中之后,可以满足第一Pod的亲和性/反亲和性的需求,从而使第一Pod部署在第一HOST,满足第一Pod的部署需求。The scheduling management device triggers the scheduler after updating the VM label of the first VM. After the scheduler is triggered, according to the updated VM tag of the first VM, it is determined whether the first minimum deployment unit Pod in the first VM meets the deployment requirement. Wherein, when the scheduler determines whether the first Pod meets the deployment requirements, it is based on the affinity/anti-affinity requirements of the first Pod. If the affinity/anti-affinity requirement of the first Pod indicates that the first Pod needs to be set in the VM of the first HOST, then according to the updated VM label of the first VM, the scheduler will determine that the first Pod is deployed in In the second HOST, it is further determined that the first Pod does not meet the deployment requirements, so that the first Pod is scheduled to the second VM of the first HOST. Since the second VM is set in the first HOST, the VM label of the second VM is the first HOST. After the first Pod is scheduled to the second VM, the affinity/anti-affinity of the first Pod can be satisfied Therefore, the first Pod is deployed on the first HOST to meet the deployment requirements of the first Pod.
本申请实施例公开的调度管理方法中,调度管理设备首先根据各个VM所属的HOST,为VM设置相应的VM标签,通过VM的VM标签,能够实现对VM的划分,这种情况下,位于同一个HOST内的VM为同一类型;然后,调度管理设备在确定第一VM从第一HOST迁移至第二HOST之后,将所述第一VM的VM标签更新为所述第二HOST,再触发NFV架构中的调度器,所述调度器确定第一VM中的第一Pod是否符合部署需求,若不符合,则调度器会将第一Pod调度至第一HOST的第二VM中,从而在第一VM发生迁移之后,仍然使第一Pod部署在第一HOST中,满足第一Pod的部署需求。In the scheduling management method disclosed in the embodiments of the present application, the scheduling management device first sets corresponding VM tags for the VMs according to the HOST to which each VM belongs. The VM tags can be used to divide the VMs. In this case, they are located in the same location. The VMs in a HOST are of the same type; then, after determining that the first VM migrates from the first HOST to the second HOST, the scheduling management device updates the VM label of the first VM to the second HOST, and then triggers NFV The scheduler in the architecture determines whether the first Pod in the first VM meets the deployment requirements. If it does not meet the deployment requirements, the scheduler will schedule the first Pod to the second VM of the first HOST. After a VM is migrated, the first Pod is still deployed in the first HOST to meet the deployment requirements of the first Pod.
在现有技术中,只能将某一种Pod部署在特定类型的VM中,无法满足Pod在HOST的调度需求。而通过本申请实施例公开的方案,能够使某一种Pod部署在特定的HOST中,从而满足Pod在HOST的调度需求,解决现有技术的问题。In the prior art, only a certain type of Pod can be deployed in a specific type of VM, which cannot meet the scheduling requirements of the Pod on the HOST. With the solution disclosed in the embodiments of the present application, a certain type of Pod can be deployed in a specific HOST, so as to meet the scheduling requirements of the Pod on the HOST and solve the problems of the prior art.
为了明确本申请实施例所满足的调度需求,可参见图3所示的Pod部署的示意图。在图3中,设置有第一HOST和第二HOST,其中,在迁移前,第一VM和第二VM均设置在第一HOST中,则第一VM和第二VM的VM标签均包括第一HOST的信息,并且,第一VM中设置有第一Pod,第二HOST中设置有第三VM,则第三VM的VM标签包括第二HOST的信息。第一VM迁移至第二HOST之后,第一VM的VM标签更新为包括第二HOST的信息,这种情况下,调度器会对第一Pod进行调度,使第一Pod被调度至第一HOST的第二VM中,从而使第一Pod仍然部署在第一HOST中。In order to clarify the scheduling requirements met by the embodiments of the present application, refer to the schematic diagram of Pod deployment shown in FIG. 3. In Figure 3, a first HOST and a second HOST are set. Before migration, the first VM and the second VM are both set in the first HOST, and the VM labels of the first VM and the second VM both include the first VM. A HOST information, and if the first Pod is set in the first VM and the third VM is set in the second HOST, the VM tag of the third VM includes the information of the second HOST. After the first VM is migrated to the second HOST, the VM label of the first VM is updated to include the information of the second HOST. In this case, the scheduler will schedule the first Pod so that the first Pod is scheduled to the first HOST In the second VM, the first Pod is still deployed in the first HOST.
另外,在本申请实施例中,通过VM标签对VM进行划分,调度器根据VM的VM标签,确定第一VM中的第一Pod是否符合部署需求并对第一Pod进行调度,使第一Pod部署在特定类型的VM中。该操作可通过以下几种方式实现:In addition, in the embodiment of the present application, VMs are divided by VM tags, and the scheduler determines whether the first Pod in the first VM meets the deployment requirements according to the VM tags of the VMs and schedules the first Pod so that the first Pod Deploy in a specific type of VM. This operation can be achieved in the following ways:
在第一种方式中,在Pod的配置文件中设置该Pod的节点选择属性(即nodeSelector属性),该节点选择属性用于指示Pod可以部署在具有哪些标签的VM中。当Pod部署在节点选择属性指示的标签所对应的VM中时,则调度器确定该Pod符合部署需求,当Pod未部署在节点选择属性指示的标签所对应的VM中时,则调度器确定该Pod不符合部署需求,并对该Pod进行调度,从而使该Pod能够部署在节点选择属性所指示的特定类型的VM中,即使第一Pod部署在特定类型的VM中。In the first way, the node selection attribute (ie, nodeSelector attribute) of the Pod is set in the configuration file of the Pod, and the node selection attribute is used to indicate which tags the Pod can be deployed in the VMs with which tags. When the Pod is deployed in the VM corresponding to the label indicated by the node selection attribute, the scheduler determines that the Pod meets the deployment requirements. When the Pod is not deployed in the VM corresponding to the label indicated by the node selection attribute, the scheduler determines the The Pod does not meet the deployment requirements, and the Pod is scheduled, so that the Pod can be deployed in the specific type of VM indicated by the node selection attribute, even if the first Pod is deployed in the specific type of VM.
例如,当第一Pod的配置文件中,设置第一Pod的节点选择属性为具有第一VM 标签的VM,并且第一VM标签为包括第一HOST的信息的标签时,则第一Pod部署在第一HOST的VM中时,第一Pod满足部署需求。这种情况下,调度器通过查询第一Pod的配置文件,获取第一Pod的节点选择属性,当第一Pod部署在第一VM中,且第一VM未发生迁移时,第一Pod对应的VM标签指示第一Pod部署在第一HOST的VM中,则第一Pod满足部署需求。当随着第一VM的迁移,第一Pod也被迁移至第二HOST时,调度器根据第一VM更新后的VM标签,可确定第一Pod部署在第二HOST的VM中,即第一Pod不再满足部署需求,这种情况下,调度器将第一Pod调度至第一HOST的第二VM中,以使第一Pod符合部署需求。通过该方式,能够使第一Pod始终部署在第一HOST的VM中。For example, in the configuration file of the first Pod, the node selection attribute of the first Pod is set to a VM with the first VM label, and the first VM label is a label including the information of the first HOST, then the first Pod is deployed in When in the VM of the first host, the first Pod meets the deployment requirements. In this case, the scheduler obtains the node selection attributes of the first Pod by querying the configuration file of the first Pod. When the first Pod is deployed in the first VM and the first VM is not migrated, the first Pod corresponds to The VM label indicates that the first Pod is deployed in the VM of the first HOST, and the first Pod meets the deployment requirements. When the first Pod is migrated to the second HOST along with the migration of the first VM, the scheduler can determine that the first Pod is deployed in the VM of the second HOST according to the updated VM label of the first VM, that is, the first Pod no longer meets the deployment requirements. In this case, the scheduler schedules the first Pod to the second VM of the first HOST so that the first Pod meets the deployment requirements. In this way, the first Pod can always be deployed in the VM of the first HOST.
第二种方式依据的是Pod的节点亲和性(即nodeAffinity)调度策略,在nodeAffinity调度策略中,可在Pod配置文件中设置多种类型的调度信息,以实现对Pod的调度。其中一种类型的调度信息表示在首次调度时,VM必须满足某些条件,才能在该VM中部署Pod;另一种类型的调度信息表示在Pod的运行过程中,如果Pod所在VM的属性信息(该属性信息可以为VM的标签)发生改变,该Pod会从该VM中调度至其他VM;另一种类型的信息表示在Pod的运行过程中,如果Pod所在VM的属性信息(该属性信息可以为VM的标签)发生改变,Pod可在该VM中继续运行;另一种类型的信息表示在Pod的运行过程中,如果Pod所在VM的属性信息(该属性信息可以为VM的标签)发生改变,Pod不一定从该VM中调度至其他VM。The second method is based on the Pod's node affinity (nodeAffinity) scheduling strategy. In the nodeAffinity scheduling strategy, multiple types of scheduling information can be set in the Pod configuration file to achieve Pod scheduling. One type of scheduling information indicates that during the first scheduling, the VM must meet certain conditions before the Pod can be deployed in the VM; the other type of scheduling information indicates the attribute information of the VM where the Pod is located during the operation of the Pod (The attribute information can be the label of the VM) changes, the Pod will be scheduled from the VM to other VMs; another type of information indicates that during the operation of the Pod, if the attribute information of the VM where the Pod is located (the attribute information It can be the label of the VM, and the Pod can continue to run in the VM; another type of information indicates that during the operation of the Pod, if the attribute information of the VM where the Pod is located (the attribute information can be the label of the VM) occurs Change, Pod is not necessarily scheduled from this VM to other VMs.
当调度器通过nodeAffinity调度策略实现对第一Pod的调度时,可在第一Pod的配置文件中设置相应信息,该信息指示第一Pod所在VM的VM标签发生改变时,第一Pod会从该VM中调度至其他VM。这种情况下,当随着第一VM的迁移,第一Pod也被迁移至第二HOST时,调度器通过nodeAffinity调度策略,确定第一Pod不符合部署需求,从而将第一Pod调度至第一HOST的第二VM中,以使第一Pod符合部署需求。通过该方式,能够使第一Pod始终部署在第一HOST的VM中。When the scheduler implements the scheduling of the first Pod through the nodeAffinity scheduling strategy, the corresponding information can be set in the configuration file of the first Pod. This information indicates that when the VM label of the VM where the first Pod is located changes, the first Pod will start from this The VM is scheduled to other VMs. In this case, when the first Pod is migrated to the second HOST along with the migration of the first VM, the scheduler uses the nodeAffinity scheduling strategy to determine that the first Pod does not meet the deployment requirements, thereby scheduling the first Pod to the second host. In the second VM of a HOST, so that the first Pod meets the deployment requirements. In this way, the first Pod can always be deployed in the VM of the first HOST.
进一步的,在本申请实施例中,所述调度管理设备通过所述NFV架构中的虚拟化基础设施管理器VIM反馈的VM创建成功信息,获取各个VM所属的主机HOST。Further, in the embodiment of the present application, the scheduling management device obtains the host HOST to which each VM belongs through the VM creation success information fed back by the virtualization infrastructure manager VIM in the NFV architecture.
其中,VIM用于在接收到VM创建指令之后,在HOST中创建VM。在完成VM的创建之后,VIM向调度管理设备反馈VM创建成功信息,VM创建成功信息中包含各个VM所属的HOST的相关信息,该相关信息为能够确定HOST身份,且在NFV架构中具有唯一性的信息,例如,该相关信息可以为HOST的地址信息或身份标识等,从而使调度管理设备确定各个VM所属的HOST,并根据各个VM所属的HOST,为VM设置相应的VM标签,所述VM标签中包括所述VM所属的HOST的信息。Among them, VIM is used to create a VM in HOST after receiving a VM creation instruction. After completing the creation of the VM, VIM feeds back the VM creation success information to the scheduling management device. The VM creation success information contains information about the host to which each VM belongs. The relevant information can determine the identity of the host and is unique in the NFV architecture For example, the related information can be the address information or identity of the HOST, so that the scheduling management device can determine the host to which each VM belongs, and set the corresponding VM label for the VM according to the host to which each VM belongs. The label includes the information of the host to which the VM belongs.
和/或,在本申请实施例中,所述调度管理设备通过所述VIM反馈的VM迁移完成信息,确定所述第一VM从第一HOST迁移至第二HOST。And/or, in the embodiment of the present application, the scheduling management device determines that the first VM is migrated from the first HOST to the second HOST through the VM migration completion information fed back by the VIM.
其中,在NFV架构中的VM完成迁移之后,VIM会向调度管理设备反馈迁移完成信息,该迁移完成信息中包括发生迁移的VM的相关信息以及迁移后所属的HOST的相关信息,VM的相关信息为能够确定VM身份,且在NFV架构中具有唯一性的信息,例如,该相关信息可以为VM的地址信息或身份标识等,HOST的相关信息为能够确定HOST身份,且在NFV架构中具有唯一性的信息,例如,该相关信息可以为 HOST的地址信息或身份标识等。调度管理设备在接收到该迁移完成信息之后,能够确定发生迁移的VM,以及该VM迁移后所属的HOST。Among them, after the VM in the NFV architecture has completed the migration, the VIM will feed back the migration completion information to the scheduling management device. The migration completion information includes the relevant information of the migrated VM and the relevant information of the host to which the migration belongs, and the relevant information of the VM. In order to be able to determine the identity of the VM and have unique information in the NFV architecture, for example, the relevant information can be the address information or identity identification of the VM, etc. The relevant information of the HOST can determine the identity of the HOST and is unique in the NFV architecture Sexual information, for example, the related information can be the address information or identity of the HOST. After receiving the migration completion information, the scheduling management device can determine the VM where the migration occurs and the HOST to which the VM belongs after the migration.
这种情况下,在第一VM从第一HOST迁移至第二HOST之后,VIM反馈的迁移完成信息中包括第一VM的相关信息以及第二HOST的相关信息,从而能够使调度管理设备确定第一VM从第一HOST迁移至第二HOST。In this case, after the first VM is migrated from the first HOST to the second HOST, the migration completion information fed back by the VIM includes the related information of the first VM and the related information of the second HOST, so that the scheduling management device can determine the second host. A VM is migrated from the first HOST to the second HOST.
进一步的,在NFV架构中,往往包含多种网元,相应的,所述调度管理设备可为不同类型的网元。在其中一种可行的实施方式中,所述调度管理设备为虚拟化的网络功能管理器VNFM,或者,在另一种可行的实施方式中,所述调度管理设备为内置有所述调度器的平台即服务模块PaaS。Further, in the NFV architecture, multiple network elements are often included, and accordingly, the scheduling management equipment may be different types of network elements. In one of the feasible implementation manners, the scheduling management device is a virtualized network function manager VNFM, or, in another feasible implementation manner, the scheduling management device is a built-in scheduler Platform as a service module PaaS.
其中,当所述调度管理设备为VNFM时,所述调度管理设备触发所述NFV架构中的调度器,包括:Wherein, when the scheduling management device is a VNFM, the scheduling management device triggering the scheduler in the NFV architecture includes:
所述VNFM将所述第一VM的VM标签变更信息传输至所述NFV架构中的PaaS,通过所述第一VM的VM标签变更信息触发所述PaaS内置的所述调度器。The VNFM transmits the VM label change information of the first VM to the PaaS in the NFV architecture, and triggers the scheduler built in the PaaS through the VM label change information of the first VM.
当所述调度管理设备为VNFM时,VNFM在更新第一VM的VM标签之后,向PaaS传输第一VM的VM标签变更信息,所述第一VM的VM标签变更信息中,包含第一VM变更后的VM标签。PaaS在接收到所述第一VM的VM标签变更信息之后,确定第一VM的VM标签是否发生变化,并在确定发生变化的情况下,驱动自身内置的调度器,该调度器根据第一VM更新后的VM标签,确定第一Pod是否符合部署需求,并在确定不符合部署需求时,将第一Pod调度至所述第一HOST的第二VM中。When the scheduling management device is a VNFM, the VNFM transmits the VM label change information of the first VM to the PaaS after updating the VM label of the first VM, and the VM label change information of the first VM includes the first VM change After the VM label. After PaaS receives the change information of the VM label of the first VM, it determines whether the VM label of the first VM has changed, and when it is determined that the change occurs, it drives its built-in scheduler, which is based on the first VM. The updated VM label determines whether the first Pod meets the deployment requirements, and when it is determined that it does not meet the deployment requirements, the first Pod is scheduled to the second VM of the first HOST.
另外,当所述调度管理设备为PaaS时,所述调度管理设备触发所述NFV架构中的调度器,包括:In addition, when the scheduling management device is PaaS, the scheduling management device triggering the scheduler in the NFV architecture includes:
所述PaaS确定所述第一VM的VM标签发生变化之后,触发内置的所述调度器。After the PaaS determines that the VM label of the first VM has changed, it triggers the built-in scheduler.
当所述调度管理设备为PaaS时,PaaS确定第一VM的VM标签是否发生变化,当确定第一VM的VM标签发生变化时,PaaS会触发自身内置的调度器,该调度器根据第一VM更新后的VM标签,确定第一Pod是否符合部署需求,并在确定不符合部署需求时,将第一Pod调度至所述第一HOST的第二VM中。When the scheduling management device is PaaS, PaaS determines whether the VM label of the first VM has changed. When it is determined that the VM label of the first VM has changed, PaaS will trigger its built-in scheduler, which is based on the first VM. The updated VM label determines whether the first Pod meets the deployment requirements, and when it is determined that it does not meet the deployment requirements, the first Pod is scheduled to the second VM of the first HOST.
进一步的,在本申请实施例公开的方法中,当所述调度管理设备为VNFM时,在所述调度管理设备为所述VM设置相应的VM标签之后,还包括:Further, in the method disclosed in the embodiment of the present application, when the scheduling management device is a VNFM, after the scheduling management device sets a corresponding VM label for the VM, the method further includes:
所述VNFM将所述VM与VM标签的对应关系传输至所述PaaS。The VNFM transmits the correspondence between the VM and the VM tag to the PaaS.
这种情况下,PaaS能够获取VM与VM标签的对应关系,从而能够根据该对比关系确定各个VM的VM标签,并在接收到VNFM传输的第一VM的VM标签变更信息之后,根据所述第一VM的VM标签变更信息,判断第一VM的VM标签是否发生变更。In this case, PaaS can obtain the corresponding relationship between the VM and the VM label, so that the VM label of each VM can be determined according to the comparison relationship, and after receiving the VM label change information of the first VM transmitted by the VNFM, according to the first VM label change information The VM label change information of a VM is used to determine whether the VM label of the first VM has changed.
例如,当调度管理设备为VNFM时,VNFM在确定第一VM所属的HOST为第一HOST之后,为第一VM设置的VM标签包括第一HOST的信息,并将第一VM与其VM标签的对应关系传输至PaaS。在第一VM从第一HOST迁移至第二HOST之后,VNFM向PaaS传输第一VM的VM标签变更信息,所述第一VM的VM标签变更信息中包括第一VM迁移后所属的HOST(即第二HOST)的信息。PaaS在接收到第一VM的VM标签变更信息之后,确定第一VM当前的VM标签包括第二HOST的信息, 从而可以确定第一VM的VM标签发生变更。For example, when the scheduling management device is a VNFM, after the VNFM determines that the HOST to which the first VM belongs is the first HOST, the VM label set for the first VM includes the information of the first HOST, and the first VM corresponds to its VM label The relationship is transferred to PaaS. After the first VM is migrated from the first HOST to the second HOST, the VNFM transmits the VM label change information of the first VM to the PaaS. The VM label change information of the first VM includes the HOST to which the first VM belongs after the migration (ie The second HOST) information. After receiving the VM label change information of the first VM, the PaaS determines that the current VM label of the first VM includes the information of the second HOST, so as to determine that the VM label of the first VM has changed.
进一步的,在本申请实施例中,在所述调度管理设备为所述VM设置相应的VM标签之前,还包括以下操作:Further, in the embodiment of the present application, before the scheduling management device sets a corresponding VM label for the VM, the following operations are further included:
所述调度管理设备向VIM下发创建第一VM和第二VM的指令,所述VIM用于在接收到所述指令之后,创建第一VM和第二VM,并在创建成功后,向所述调度管理设备反馈第一VM和第二VM的创建成功消息。The scheduling management device issues an instruction to create a first VM and a second VM to the VIM, and the VIM is used to create the first VM and the second VM after receiving the instruction, and after the creation is successful, to The scheduling management device feeds back the creation success message of the first VM and the second VM.
当需要创建VM时,NFV架构中的调度管理设备等会向NFV架构中的VIM下发创建VM的指令,以使VIM根据该指令创建相应的VM,并且,在VM创建成功之后,VIM会向调度管理设备反馈相应的VM创建成功消息。When a VM needs to be created, the scheduling management device in the NFV architecture will issue an instruction to create a VM to the VIM in the NFV architecture, so that the VIM will create the corresponding VM according to the instruction, and after the VM is successfully created, the VIM will The scheduling management device feeds back a corresponding VM creation success message.
在所述创建VM的指令中,可包括需创建的VM所属的HOST信息,例如,当需要在第一HOST中创建第一VM时,创建第一VM的指令中可包括第一HOST的信息,这种情况下,VIM接收到创建第一VM的指令之后,可确定需要在第一HOST中创建第一VM。The instruction for creating the VM may include information about the host to which the VM to be created belongs. For example, when the first VM needs to be created in the first HOST, the instruction for creating the first VM may include information about the first HOST. In this case, after the VIM receives the instruction to create the first VM, it can determine that the first VM needs to be created in the first HOST.
另外,在所述创建VM的指令中,还可包括需创建的VM的相关参数,该相关参数可以包括该VM对中央处理器(Central Processing Unit,CPU)资源的需求,和/或对内存资源的需求,和/或亲和性和反亲和性的需求等。这种情况下,VIM会基于所述创建VM的指令中包括的需创建的VM的相关参数,查找合适的HOST,并在合适的HOST创建该VM。In addition, the instructions for creating a VM may also include related parameters of the VM to be created, and the related parameters may include the VM's requirements for central processing unit (CPU) resources and/or memory resources Needs, and/or affinity and anti-affinity needs, etc. In this case, VIM will search for a suitable HOST based on the relevant parameters of the VM to be created included in the VM creation instruction, and create the VM at the appropriate HOST.
其中,该调度管理设备可以为VNFM或PaaS。当该调度管理设备为VNFM时,VNFM下发创建VM的指令,并且,VIM向VNFM反馈VM创建成功消息;当该调度管理设备为PaaS时,PaaS下发创建VM的指令,并且,VIM向PaaS反馈VM创建成功消息。Wherein, the scheduling management device may be a VNFM or PaaS. When the scheduling management device is a VNFM, the VNFM issues an instruction to create a VM, and the VIM feedbacks a VM creation success message to the VNFM; when the scheduling management device is a PaaS, the PaaS issues an instruction to create a VM, and the VIM issues a VM creation instruction to the PaaS Feedback the VM creation success message.
另外,除了调度管理设备以外,还可以由NFV架构中的其他网元生成并下发创建VM的指令,例如,当该调度管理设备为PaaS时,可由VNFM生成并下发创建VM的指令。In addition, in addition to the scheduling management device, other network elements in the NFV architecture can also generate and issue VM creation instructions. For example, when the scheduling management device is a PaaS, the VNFM can generate and issue VM creation instructions.
进一步的,在本申请实施例中,在所述调度管理设备为所述VM设置相应的VM标签之后,还包括:Further, in this embodiment of the present application, after the scheduling management device sets a corresponding VM label for the VM, the method further includes:
所述调度管理设备下发创建第一Pod的指令,所述创建第一Pod的指令中包括所述第一Pod对应的HOST的信息。The scheduling management device issues an instruction for creating a first Pod, and the instruction for creating a first Pod includes information about the HOST corresponding to the first Pod.
在接收到创建第一Pod的指令之后,VM会确定自身的VM标签中所包括的HOST的信息,是否与创建第一Pod的指令中包括的HOST的信息是否相同,如果相同,则该VM会创建部署与自身的第一Pod。After receiving the instruction to create the first Pod, the VM will determine whether the HOST information included in its VM tag is the same as the HOST information included in the instruction to create the first Pod. If it is the same, the VM will Create the first Pod deployed with itself.
在本申请实施例中,当需要在第一HOST中部署第一Pod时,可在创建第一Pod的指令中设置第一HOST的信息。这种情况下,第一HOST中的第一VM接收到创建第一Pod的指令之后,确定自身的VM标签中包括的HOST的信息,与创建第一Pod的指令中包括的HOST的信息相同,则创建部署在自身的第一Pod。In the embodiment of the present application, when the first Pod needs to be deployed in the first HOST, the information of the first HOST can be set in the instruction for creating the first Pod. In this case, after the first VM in the first HOST receives the instruction to create the first Pod, it determines that the HOST information included in its VM tag is the same as the HOST information included in the instruction to create the first Pod. Then create the first Pod deployed on itself.
其中,当调度管理设备为VNFM时,VNFM通常将创建Pod的指令下发至PaaS,PaaS在接收到该指令之后,可根据创建Pod的指令中的HOST的信息,确定相应的VM,并在该VM中创建Pod。例如,若创建Pod的指令中包括第一HOST的信息,则 PaaS会在第一HOST中的VM中创建该Pod。Among them, when the scheduling management device is a VNFM, the VNFM usually issues the instruction to create a Pod to the PaaS. After receiving the instruction, the PaaS can determine the corresponding VM based on the HOST information in the instruction to create the Pod, and then Create a Pod in the VM. For example, if the instruction for creating a Pod includes the information of the first HOST, PaaS will create the Pod in the VM in the first HOST.
本申请的上述实施例描述了本申请的调度管理方法中,调度管理设备所需要执行的操作。为了明确NFV架构中各个网元的交互过程,本申请实施例公开图4。The foregoing embodiments of the present application describe the operations that the scheduling management device needs to perform in the scheduling management method of the present application. In order to clarify the interaction process of each network element in the NFV architecture, FIG. 4 is disclosed in the embodiment of the present application.
在图4所示的应用场景中,调度管理设备为VNFM,参见图4所示的信息交互示意图,NFV架构中各个网元的交互过程包括以下步骤:In the application scenario shown in Figure 4, the scheduling management device is a VNFM. Referring to the information interaction diagram shown in Figure 4, the interaction process of each network element in the NFV architecture includes the following steps:
步骤S21、VNFM向VIM下发创建第一VM和第二VM的指令,以使VIM根据该指令创建相应的第一VM和第二VM。Step S21: The VNFM issues an instruction to create the first VM and the second VM to the VIM, so that the VIM creates the corresponding first VM and the second VM according to the instructions.
在创建VM的指令中,可包括需创建的VM所属的HOST信息,例如,当需要在第一HOST中创建第一VM时,创建第一VM的指令中可包括第一HOST的信息,这种情况下,VIM接收到创建第一VM的指令之后,可确定需要在第一HOST中创建第一VM。The instruction for creating the VM may include the information of the host to which the VM to be created belongs. For example, when the first VM needs to be created in the first HOST, the instruction for creating the first VM may include the information of the first HOST. In this case, after receiving the instruction to create the first VM, the VIM can determine that the first VM needs to be created in the first HOST.
另外,在所述创建VM的指令中,还可包括需创建的VM的相关参数,该相关参数可以包括该VM对中央处理器(Central Processing Unit,CPU)资源的需求,和/或对内存资源的需求,和/或亲和性和反亲和性的需求等。这种情况下,VIM会基于所述创建VM的指令中包括的需创建的VM的相关参数,查找合适的HOST,并在合适的HOST创建该VM。In addition, the instructions for creating a VM may also include related parameters of the VM to be created, and the related parameters may include the VM's requirements for central processing unit (CPU) resources and/or memory resources Needs, and/or affinity and anti-affinity needs, etc. In this case, VIM will search for a suitable HOST based on the relevant parameters of the VM to be created included in the VM creation instruction, and create the VM at the appropriate HOST.
在本申请实施例中,若需要在第一HOST中创建第一VM和第二VM,则所述第一VM和第二创建VM的指令可包括第一VM和第二VM所属的HOST(即第一HOST)的相关信息,以便VIM在第一HOST中创建第一VM和第二VM。In the embodiment of the present application, if it is necessary to create the first VM and the second VM in the first HOST, the instructions for the first VM and the second VM creation may include the HOST to which the first VM and the second VM belong (ie The first HOST) related information, so that VIM creates the first VM and the second VM in the first HOST.
或者,所述创建第一VM和第二VM的指令分别包括第一VM和第二VM的相关参数,当VIM根据第一VM和第二VM的相关参数,确定第一HOST满足第一VM和第二VM的创建条件时,会在第一HOST中创建第一VM和第二VM。Alternatively, the instructions for creating the first VM and the second VM include related parameters of the first VM and the second VM, respectively, when the VIM determines that the first HOST satisfies the first VM and the second VM according to the related parameters of the first VM and the second VM. When the second VM is created, the first VM and the second VM will be created in the first HOST.
步骤S22、所述VIM接收到创建第一VM的指令之后,确定用于创建第一VM的第一HOST,并在第一HOST中创建第一VM。Step S22: After receiving the instruction to create the first VM, the VIM determines the first HOST used to create the first VM, and creates the first VM in the first HOST.
步骤S23、所述VIM接收到创建第二VM的指令之后,确定能够创建第二VM的第一HOST,并在第一HOST中创建第二VM。Step S23: After receiving the instruction to create the second VM, the VIM determines that the first HOST of the second VM can be created, and creates the second VM in the first HOST.
其中,在实际执行过程中,步骤S22和步骤S23的先后执行顺序并无严格规定,例如,还可以先执行步骤S23的操作,然后再执行步骤S22的操作。Among them, in the actual execution process, the order of execution of step S22 and step S23 is not strictly regulated. For example, the operation of step S23 may be performed first, and then the operation of step S22 may be performed.
步骤S24、在第一VM和第二VM创建成功之后,VIM向VNFM发送VM创建成功信息,该VM创建成功信息中包含第一VM和第二VM分别所属的HOST的相关信息。Step S24: After the first VM and the second VM are successfully created, the VIM sends a VM creation success message to the VNFM. The VM creation success message includes information about the host to which the first VM and the second VM belong respectively.
步骤S25、VNFM根据第一VM和第二VM分别所属的HOST的相关信息,为第一VM和第二VM设置相应的VM标签,即为第一VM设置的VM标签包括第一HOST的信息,为第二VM设置的VM标签包括第一HOST的信息。Step S25: The VNFM sets corresponding VM labels for the first VM and the second VM according to the relevant information of the HOST to which the first VM and the second VM belong respectively, that is, the VM label set for the first VM includes the information of the first HOST, The VM tag set for the second VM includes the information of the first HOST.
步骤S26、VNFM向PaaS传输VM纳管请求,以使PaaS对第一VM和第二VM进行纳管,该VM纳管请求中可以包括第一VM和第二VM分别与自身的VM标签的对应关系。或者,还可以单独产生一条通知消息,在该通知消息中包括第一VM和第二VM分别与自身的VM标签的对应关系,并向PaaS传输该通知消息。Step S26: The VNFM transmits a VM management request to the PaaS, so that the PaaS can manage the first VM and the second VM. The VM management request may include the correspondence between the first VM and the second VM and its own VM tags. relationship. Alternatively, a separate notification message may also be generated, in which the notification message includes the corresponding relationship between the first VM and the second VM and its own VM tags, and the notification message is transmitted to the PaaS.
通过该步骤,能够使PaaS纳管第一VM和第二VM,并且获取第一VM和第二 VM分别与VM标签的对应关系。Through this step, the PaaS can manage the first VM and the second VM, and obtain the corresponding relationship between the first VM and the second VM and the VM tags.
步骤S27、PaaS接收到VNFM传输的VM纳管请求之后,对第一VM和第二VM进行纳管操作。Step S27: After receiving the VM management request transmitted by the VNFM, the PaaS performs a management operation on the first VM and the second VM.
其中,在进行纳管操作时,PaaS可在第一VM和第二VM上分别部署相应的进程/组件,从而纳管第一VM和第二VM。另外,PaaS在接收到第一VM和第二VM分别与自身的VM标签的对应关系之后,还会保存该对应关系。Among them, during the hosting operation, the PaaS can deploy corresponding processes/components on the first VM and the second VM respectively, thereby hosting the first VM and the second VM. In addition, after the PaaS receives the corresponding relationship between the first VM and the second VM and its own VM label, it will also save the corresponding relationship.
上述步骤S21至步骤S27为VM的准备阶段,通过该阶段,能够创建第一VM和第二VM,并且VNFM为第一VM和第二VM设置相应的VM标签,并且由PaaS纳管该第一VM和第二VM,以及使PaaS获取第一VM和第二VM分别与自身的VM标签的对应关系。The above steps S21 to S27 are the preparation phases of the VM. Through this phase, the first VM and the second VM can be created, and the VNFM sets the corresponding VM tags for the first VM and the second VM, and the PaaS manages the first VM. VM and the second VM, and enable PaaS to obtain the corresponding relationship between the first VM and the second VM and its own VM label.
步骤S28、VNFM向PaaS下发创建第一Pod的指令,所述创建第一Pod的指令中包括所述第一Pod对应的HOST的信息。Step S28: The VNFM issues an instruction for creating a first Pod to the PaaS. The instruction for creating a first Pod includes information about the HOST corresponding to the first Pod.
其中,当需要在第一HOST中创建第一Pod时,所述VNFM向PaaS下发创建第一Pod的指令,创建第一Pod的指令中的包括第一HOST的信息。Wherein, when the first Pod needs to be created in the first HOST, the VNFM issues an instruction for creating the first Pod to the PaaS, and the instruction for creating the first Pod includes the information of the first HOST.
步骤S29、Paas接收到创建第一Pod的指令后,根据该指令中的HOST的信息,确定相应的HOST,并在该HOST中选择合适的VM,再向该VM下发创建第一Pod的指令。Step S29. After Paas receives the instruction to create the first Pod, it determines the corresponding HOST according to the HOST information in the instruction, selects the appropriate VM in the HOST, and then issues the instruction to create the first Pod to the VM .
其中,当所述创建Pod的指令中的HOST的信息为第一HOST时,可在第一HOST的第一VM中创建第一Pod,则Paas会向第一VM下发创建第一Pod的指令。Wherein, when the HOST information in the instruction for creating Pod is the first HOST, the first Pod can be created in the first VM of the first HOST, and Paas will issue the instruction for creating the first Pod to the first VM .
步骤S30、第一VM接收到创建第一Pod的指令之后,根据该指令创建第一Pod,并启动运行第一Pod。Step S30: After receiving the instruction to create the first Pod, the first VM creates the first Pod according to the instruction, and starts to run the first Pod.
上述步骤S28至步骤S30为Pod的创建启动阶段,通过该阶段,能够在第一VM中创建第一Pod。The above steps S28 to S30 are the Pod creation and startup phase, through which the first Pod can be created in the first VM.
步骤S31、VIM检测到第一VM满足迁移条件之后,对第一VM进行迁移。Step S31: After the VIM detects that the first VM meets the migration condition, the first VM is migrated.
其中,VIM检测到第一VM发生需要迁移的故障时,通常认为第一VM满足迁移条件。或者,当VIM检测到第一VM所在的HOST(即第一HOST)无法满足第一VM的运行需求(例如第一HOST发生故障等)时,也会认为第一VM满足迁移条件。Wherein, when the VIM detects that the first VM has a failure that needs to be migrated, it is generally considered that the first VM meets the migration condition. Or, when the VIM detects that the HOST where the first VM is located (ie, the first HOST) cannot meet the operating requirements of the first VM (for example, the first HOST fails, etc.), it will also consider that the first VM meets the migration condition.
步骤S32、VIM在感应到第一VM完成迁移操作之后,向VNFM反馈迁移完成信息。Step S32: After sensing that the first VM completes the migration operation, the VIM feeds back migration completion information to the VNFM.
该迁移完成信息中包括发生迁移的VM(即第一VM)的相关信息以及迁移后所属的HOST(即第二HOST)的相关信息,VM的相关信息为能够确定VM身份,且在NFV架构中具有唯一性的信息,例如,该相关信息可以为VM的地址信息或身份标识等,HOST的相关信息为能够确定HOST身份,且在NFV架构中具有唯一性的信息,例如,该相关信息可以为HOST的地址信息或身份标识等。VNFM在接收到该迁移完成信息之后,能够确定发生迁移的VM,以及该VM迁移后所属的HOST。The migration completion information includes related information about the VM that is migrated (i.e., the first VM) and related information about the HOST (i.e., the second HOST) to which it belongs after the migration. The related information of the VM can determine the identity of the VM and is in the NFV architecture Unique information, for example, the relevant information may be the address information or identity of the VM, etc. The relevant information of the HOST is information that can determine the identity of the HOST and is unique in the NFV architecture. For example, the relevant information may be HOST's address information or identification, etc. After receiving the migration completion information, the VNFM can determine the VM where the migration occurs and the HOST to which the VM belongs after the migration.
步骤S33、VNFM更新所述第一VM的VM标签,更新后的VM标签包括第二HOST的信息。Step S33: The VNFM updates the VM label of the first VM, and the updated VM label includes the information of the second HOST.
步骤S34、VNFM将所述第一VM的VM标签变更信息传输至PaaS,所述第一VM的VM标签变更信息中包含第一VM更新后的VM标签。Step S34: The VNFM transmits the VM label change information of the first VM to the PaaS, and the VM label change information of the first VM includes the updated VM label of the first VM.
步骤S35、PaaS接收到所述第一VM的VM标签变更信息之后,确定第一VM的VM标签发生变更,从而触发自身内置的调度器。该调取器根据第一VM更新后的VM标签,判断第一Pod是否符合部署需求,当确定第一Pod不符合部署需求时,则该调度器将第一Pod调度至第一HOST的第二VM中。Step S35: After the PaaS receives the VM label change information of the first VM, it determines that the VM label of the first VM has changed, thereby triggering its built-in scheduler. The caller determines whether the first Pod meets the deployment requirements based on the updated VM label of the first VM. When it is determined that the first Pod does not meet the deployment requirements, the scheduler will schedule the first Pod to the second of the first HOST. VM.
步骤S36、第一Pod被调度至第二VM中之后,第二VM根据PaaS下发的第一Pod的相关信息,启动第一Pod,使第一Pod正常运行。Step S36: After the first Pod is scheduled into the second VM, the second VM starts the first Pod according to the related information of the first Pod issued by the PaaS, so that the first Pod runs normally.
上述的步骤S31至步骤S36为Pod的调度阶段。在该阶段中,Pod所在的VM发生迁移时,仍然能够被调度到相应VM中,满足Pod在HOST级别的调度需求。The above steps S31 to S36 are the Pod scheduling stage. In this stage, when the VM where the Pod is located is migrated, it can still be scheduled to the corresponding VM to meet the Pod's scheduling requirements at the HOST level.
上述的图4以及步骤S21至步骤S37,公开了调度管理设备为VNFM的情况下,NFV架构中各个网元的交互过程。另外,调度管理设备还可以为NFV架构中的PaaS。当调度管理设备为PaaS时,参见图5所示的信息交互示意图,NFV架构中各个网元的交互过程包括以下步骤:The foregoing Fig. 4 and steps S21 to S37 disclose the interaction process of each network element in the NFV architecture when the scheduling management device is a VNFM. In addition, the scheduling management device can also be a PaaS in the NFV architecture. When the scheduling management device is PaaS, referring to the information interaction diagram shown in Figure 5, the interaction process of each network element in the NFV architecture includes the following steps:
步骤S41、PaaS向VIM下发创建第一VM和第二VM的指令,以使VIM根据该指令创建相应的第一VM和第二VM。Step S41: The PaaS issues an instruction to create the first VM and the second VM to the VIM, so that the VIM creates the corresponding first VM and the second VM according to the instructions.
在创建VM的指令中,可包括需创建的VM所属的HOST信息,例如,当需要在第一HOST中创建第一VM时,创建第一VM的指令中可包括第一HOST的信息,这种情况下,VIM接收到创建第一VM的指令之后,可确定需要在第一HOST中创建第一VM。The instruction for creating the VM may include the information of the host to which the VM to be created belongs. For example, when the first VM needs to be created in the first HOST, the instruction for creating the first VM may include the information of the first HOST. In this case, after receiving the instruction to create the first VM, the VIM can determine that the first VM needs to be created in the first HOST.
另外,在所述创建VM的指令中,还可包括需创建的VM的相关参数,该相关参数可以包括该VM对CPU资源的需求,和/或对内存资源的需求,和/或亲和性和反亲和性的需求等。这种情况下,VIM会基于所述创建VM的指令中包括的需创建的VM的相关参数,查找合适的HOST,并在合适的HOST创建该VM。In addition, the VM creation instruction may also include related parameters of the VM to be created, and the related parameters may include the VM's demand for CPU resources, and/or demand for memory resources, and/or affinity And anti-affinity needs. In this case, VIM will search for a suitable HOST based on the relevant parameters of the VM to be created included in the VM creation instruction, and create the VM at the appropriate HOST.
在本申请实施例中,若需要在第一HOST中创建第一VM和第二VM,则所述创建第一VM和第二VM的指令可包括第一VM和第二VM所属的HOST(即第一HOST)的相关信息,以便VIM在第一HOST中创建第一VM和第二VM。In the embodiment of the present application, if the first VM and the second VM need to be created in the first HOST, the instructions for creating the first VM and the second VM may include the HOST to which the first VM and the second VM belong (ie The first HOST) related information, so that VIM creates the first VM and the second VM in the first HOST.
或者,所述创建第一VM和第二VM的指令分别包括第一VM和第二VM的相关参数,当VIM根据第一VM和第二VM的相关参数,确定第一HOST满足第一VM和第二VM的创建条件时,会在第一HOST中创建第一VM和第二VM。Alternatively, the instructions for creating the first VM and the second VM include related parameters of the first VM and the second VM, respectively, when the VIM determines that the first HOST satisfies the first VM and the second VM according to the related parameters of the first VM and the second VM. When the second VM is created, the first VM and the second VM will be created in the first HOST.
步骤S42、所述VIM接收到创建第一VM的指令之后,确定用于创建第一VM的第一HOST,并在第一HOST中创建第一VM。Step S42: After receiving the instruction to create the first VM, the VIM determines the first HOST used to create the first VM, and creates the first VM in the first HOST.
步骤S43、所述VIM接收到创建第二VM的指令之后,确定能够创建第二VM的第一HOST,并在第一HOST中创建第二VM。Step S43: After receiving the instruction to create the second VM, the VIM determines that the first HOST of the second VM can be created, and creates the second VM in the first HOST.
其中,在实际执行过程中,步骤S42和步骤S43的先后执行顺序并无严格规定,例如,还可以先执行步骤S43的操作,然后再执行步骤S42的操作。Among them, in the actual execution process, the sequence of step S42 and step S43 is not strictly regulated. For example, the operation of step S43 may be performed first, and then the operation of step S42 may be performed.
步骤S44、在第一VM和第二VM创建成功之后,VIM向PaaS发送VM创建成功信息,该VM创建成功信息中包含第一VM和第二VM分别所属的HOST的相关信息。Step S44: After the first VM and the second VM are successfully created, the VIM sends VM creation success information to the PaaS. The VM creation success information includes information about the host to which the first VM and the second VM belong.
步骤S45、PaaS根据第一VM和第二VM分别所属的HOST的相关信息,为第一VM和第二VM设置相应的VM标签,即为第一VM设置的VM标签包括第一HOST 的信息,为第二VM设置的VM标签包括第一HOST的信息。Step S45: PaaS sets corresponding VM labels for the first VM and the second VM according to the relevant information of the HOST to which the first VM and the second VM belong respectively, that is, the VM label set for the first VM includes the information of the first HOST, The VM tag set for the second VM includes the information of the first HOST.
步骤S46、PaaS对第一VM和第二VM进行纳管操作。Step S46: PaaS performs a management operation on the first VM and the second VM.
其中,在进行纳管操作时,PaaS可在第一VM和第二VM上分别部署相应的进程/组件,从而纳管第一VM和第二VM。Among them, during the hosting operation, the PaaS can deploy corresponding processes/components on the first VM and the second VM respectively, thereby hosting the first VM and the second VM.
其中,在实际执行过程中,步骤S45和步骤S46的先后执行顺序并无严格规定,例如,还可以先执行步骤S46的操作,然后再执行步骤S45的操作。Among them, in the actual execution process, the sequence of step S45 and step S46 is not strictly regulated. For example, the operation of step S46 may be performed first, and then the operation of step S45 may be performed.
上述步骤S41至步骤S46为VM的准备阶段,通过该阶段,能够创建第一VM和第二VM,并且PaaS为第一VM和第二VM设置相应的VM标签,以及使PaaS获取第一VM和第二VM分别与自身的VM标签的对应关系,并且由PaaS纳管该第一VM和第二VM。The above steps S41 to S46 are the preparation phase of the VM. Through this phase, the first VM and the second VM can be created, and the PaaS can set the corresponding VM tags for the first VM and the second VM, and make the PaaS obtain the first VM and The corresponding relationship between the second VM and its own VM label, and the PaaS manages the first VM and the second VM.
步骤S47、Paas向VM下发创建Pod的指令。Step S47: Paas issues an instruction to create a Pod to the VM.
其中,Paas可确定待创建的Pod对应的HOST,并根据各个VM的VM标签,确定该HOST内部署的VM,在该HOST内部署的VM中选择合适的VM,再向该VM下发创建Pod的指令。Among them, Paas can determine the HOST corresponding to the Pod to be created, and determine the VM deployed in the HOST according to the VM label of each VM, select the appropriate VM from the VMs deployed in the HOST, and then issue the creation of the Pod to the VM Instructions.
其中,当需要在第一HOST中创建Pod时,待创建的Pod对应的HOST即为第一HOST,这种情况下,可在第一HOST的第一VM中创建第一Pod,则PaaS会向第一VM下发创建第一Pod的指令。Among them, when a Pod needs to be created in the first HOST, the HOST corresponding to the Pod to be created is the first HOST. In this case, the first Pod can be created in the first VM of the first HOST, and PaaS will The first VM issues an instruction to create the first Pod.
步骤S48、第一VM接收到创建第一Pod的指令之后,根据该指令创建第一Pod,并启动运行第一Pod。Step S48: After receiving the instruction to create the first Pod, the first VM creates the first Pod according to the instruction, and starts to run the first Pod.
上述步骤S47至步骤S48为Pod的创建启动阶段,通过该阶段,能够在第一VM中创建第一Pod。The above steps S47 to S48 are the Pod creation and startup phase, through which the first Pod can be created in the first VM.
步骤S49、VIM检测到第一VM满足迁移条件之后,对第一VM进行迁移。Step S49: After the VIM detects that the first VM meets the migration condition, the first VM is migrated.
其中,VIM检测到第一VM发生需要迁移的故障时,通常认为第一VM满足迁移条件。或者,当VIM检测到第一VM所在的HOST(即第一HOST)无法满足第一VM的运行需求(例如第一HOST发生故障等)时,也会认为第一VM满足迁移条件。Wherein, when the VIM detects that the first VM has a failure that needs to be migrated, it is generally considered that the first VM meets the migration condition. Or, when the VIM detects that the HOST where the first VM is located (ie, the first HOST) cannot meet the operating requirements of the first VM (for example, the first HOST fails, etc.), it will also consider that the first VM meets the migration condition.
步骤S50、VIM在感应到第一VM完成迁移操作之后,向PaaS反馈迁移完成信息。Step S50: After sensing that the first VM completes the migration operation, the VIM feeds back migration completion information to the PaaS.
该迁移完成信息中包括发生迁移的VM(即第一VM)的相关信息以及迁移后所属的HOST(即第二HOST)的相关信息,VM的相关信息为能够确定VM身份,且在NFV架构中具有唯一性的信息,例如,该相关信息可以为VM的地址信息或身份标识等,HOST的相关信息为能够确定HOST身份,且在NFV架构中具有唯一性的信息,例如,该相关信息可以为HOST的地址信息或身份标识等。PaaS在接收到该迁移完成信息之后,能够确定发生迁移的VM,以及该VM迁移后所属的HOST。The migration completion information includes related information about the VM that is migrated (i.e., the first VM) and related information about the HOST (i.e., the second HOST) to which it belongs after the migration. The related information of the VM can determine the identity of the VM and is in the NFV architecture Unique information, for example, the relevant information may be the address information or identity of the VM, etc. The relevant information of the HOST is information that can determine the identity of the HOST and is unique in the NFV architecture. For example, the relevant information may be HOST's address information or identification, etc. After the PaaS receives the migration completion information, it can determine the VM where the migration occurred and the host to which the VM belongs after the migration.
步骤S51、PaaS更新所述第一VM的VM标签,更新后的VM标签包括第二HOST的信息。Step S51: PaaS updates the VM label of the first VM, and the updated VM label includes the information of the second HOST.
步骤S52、在更新所述第一VM的VM标签之后,PaaS触发自身内置的调度器。该调取器根据第一VM更新后的VM标签,判断第一Pod是否符合部署需求,当确定第一Pod不符合部署需求时,则该调度器将第一Pod调度至第一HOST的第二VM中。Step S52: After updating the VM label of the first VM, PaaS triggers its built-in scheduler. The caller determines whether the first Pod meets the deployment requirements based on the updated VM label of the first VM. When it is determined that the first Pod does not meet the deployment requirements, the scheduler will schedule the first Pod to the second of the first HOST. VM.
步骤S53、第一Pod被调度至第二VM中之后,第二VM根据PaaS下发的第一Pod的相关信息,启动第一Pod,使第一Pod正常运行。Step S53: After the first Pod is scheduled into the second VM, the second VM starts the first Pod according to the related information of the first Pod issued by the PaaS, so that the first Pod runs normally.
上述的步骤S49至步骤S53为Pod的调度阶段。在该阶段中,Pod所在的VM发生迁移时,仍然能够被调度到相应VM中,满足Pod在HOST级别的调度需求。The above steps S49 to S53 are the Pod scheduling stage. In this stage, when the VM where the Pod is located is migrated, it can still be scheduled to the corresponding VM to meet the Pod's scheduling requirements at the HOST level.
上述的图5以及步骤S41至步骤S53,公开了调度管理设备为PaaS的情况下,NFV架构中各个网元的交互过程。该实施例中,由PaaS执行生成创建VM的指令、设置VM的标签以及更新VM标签等多项操作,该交互过程中,无需VNFM参与。The foregoing Fig. 5 and steps S41 to S53 disclose the interaction process of each network element in the NFV architecture when the scheduling management device is a PaaS. In this embodiment, the PaaS executes multiple operations such as generating instructions for creating a VM, setting a label of the VM, and updating a label of the VM. During this interaction, no VNFM is required.
另外,如果NFV架构中同时设置了VNFM和PaaS,并且由PaaS作为调度管理设备时,还可以由VNFM生成创建VM的指令。这种情况下,NFV架构中各个网元的交互过程可包括如下步骤:In addition, if both VNFM and PaaS are set in the NFV architecture, and PaaS is used as the scheduling management device, the VNFM can also generate instructions for creating VMs. In this case, the interaction process of each network element in the NFV architecture may include the following steps:
VNFM生成创建第一VM和第二VM的指令,并向VIM下发所述创建第一VM和第二VM的指令,用于指示创建第一VM和第二VM;The VNFM generates instructions for creating the first VM and the second VM, and issues the instructions for creating the first VM and the second VM to the VIM to instruct the creation of the first VM and the second VM;
接收到创建第一VM和第二VM的指令之后,VIM根据该指令,创建相应的第一VM和第二VM,并在完成创建之后,向VNFM反馈VM创建成功消息;After receiving the instructions for creating the first VM and the second VM, the VIM creates the corresponding first VM and the second VM according to the instructions, and after completing the creation, it returns a VM creation success message to the VNFM;
VNFM在接收到VM创建成功消息之后,向PaaS传输VM纳管请求,用于指示PaaS对第一VM和第二VM进行纳管,或者,VNFM不仅向PaaS传输VM纳管请求,还会向PaaS传输VM创建通知消息,用于通知PaaS当前创建有第一VM和第二VM;After receiving the VM creation success message, the VNFM transmits a VM management request to PaaS, which is used to instruct PaaS to take care of the first VM and the second VM, or VNFM not only transmits the VM management request to PaaS, but also to PaaS Transmission of VM creation notification messages, used to notify PaaS that the first VM and the second VM are currently created;
PaaS在接收到VM纳管请求之后,对第一VM和第二VM进行纳管,并且,基于VM纳管请求或VM创建通知消息,PaaS能够确定当前创建有第一VM和第二VM,并为第一VM和第二VM设置相应的VM标签;After PaaS receives the VM hosting request, it manages the first VM and the second VM, and based on the VM hosting request or VM creation notification message, PaaS can determine that the first VM and the second VM are currently created, and Set corresponding VM labels for the first VM and the second VM;
当需要创建第一Pod时,VNFM或PaaS生成创建第一Pod的指令,并将该指令传输至第一VM;When the first Pod needs to be created, the VNFM or PaaS generates an instruction to create the first Pod, and transmits the instruction to the first VM;
第一VM在接收到创建第一Pod的指令之后,创建第一Pod,并启动运行所述第一Pod;After receiving the instruction to create the first Pod, the first VM creates the first Pod, and starts to run the first Pod;
VIM检测到第一VM满足迁移条件之后,对第一VM进行迁移;After VIM detects that the first VM meets the migration condition, it migrates the first VM;
VIM在感应到第一VM完成迁移操作之后,可向PaaS传输迁移完成信息,或者,VIM可向VNFM传输迁移完成信息,VNFM再将迁移完成信息转发至PaaS,以使PaaS确定第一VM发生迁移;After the VIM senses that the first VM has completed the migration operation, it can transmit the migration completion information to the PaaS, or the VIM can transmit the migration completion information to the VNFM, and the VNFM forwards the migration completion information to the PaaS, so that the PaaS can determine that the first VM has migrated ;
PaaS在确定第一VM发生迁移之后,更新所述第一VM的VM标签,更新后的VM标签包括第二HOST的信息,其中,第二HOST即为第一VM迁移之后所在的HOST。After the PaaS determines that the first VM is migrated, it updates the VM label of the first VM. The updated VM label includes the information of the second HOST, where the second HOST is the HOST where the first VM is located after the migration.
在更新所述第一VM的VM标签之后,PaaS触发自身内置的调度器。该调取器根据第一VM更新后的VM标签,判断第一Pod是否符合部署需求,当确定第一Pod不符合部署需求时,则该调度器将第一Pod调度至第一HOST的第二VM中。After updating the VM label of the first VM, PaaS triggers its built-in scheduler. The caller determines whether the first Pod meets the deployment requirements based on the updated VM label of the first VM. When it is determined that the first Pod does not meet the deployment requirements, the scheduler will schedule the first Pod to the second of the first HOST. VM.
第一Pod被调度至第二VM中之后,第二VM根据PaaS下发的第一Pod的相关信息,启动第一Pod,使第一Pod正常运行。After the first Pod is scheduled into the second VM, the second VM starts the first Pod according to the related information of the first Pod issued by the PaaS to make the first Pod run normally.
上述步骤中,公开了NFV架构中同时设置有VNFM和PaaS,并且由PaaS作为调度管理设备的情况下,NFV架构中各个网元的交互过程。该交互过程中,由PaaS执行设置VM标签、更新VM标签以及触发调度器等操作,并由NFVM执行创建VM指令等操作。In the above steps, the interaction process of each network element in the NFV architecture is disclosed when the VNFM and PaaS are set in the NFV architecture at the same time, and the PaaS is used as the scheduling management device. During this interaction, PaaS performs operations such as setting VM tags, updating VM tags, and triggering the scheduler, and NFVM performs operations such as creating VM instructions.
进一步的,本申请还公开另一实施例,参见图6,该实施例中,在所述调度管理设备为所述VM设置相应的VM标签之后,还包括以下步骤:Further, this application also discloses another embodiment. See FIG. 6. In this embodiment, after the scheduling management device sets a corresponding VM label for the VM, the following steps are further included:
步骤S61、所述调度管理设备向VIM下发创建第三VM和第四VM的指令。Step S61: The scheduling management device issues an instruction to create a third VM and a fourth VM to the VIM.
所述创建第三VM和第四VM的指令中指示所述第三VM和第四VM之间具有强反亲和性,所述VIM用于根据所述创建第三VM和第四VM的指令,在不同的HOST中分别创建第三VM和第四VM。The instructions for creating the third VM and the fourth VM indicate that the third VM and the fourth VM have a strong anti-affinity, and the VIM is used to create the third VM and the fourth VM according to the instructions for creating the fourth VM , Create the third VM and the fourth VM in different HOSTs.
本申请实施例中,调度管理设备向NFV架构中的VIM下发创建第三VM和第四VM的指令,以便VIM接收到该指令之后,创建第三VM和第四VM。In the embodiment of the present application, the scheduling management device issues an instruction to create the third VM and the fourth VM to the VIM in the NFV architecture, so that the VIM can create the third VM and the fourth VM after receiving the instruction.
其中,反亲和性包括强反亲和性和弱反亲和性。具有强反亲和性的两个网元在部署时,不能部署在同一个父节点中。而具有弱反亲和性的两个网元在部署时,尽量部署在不同的父节点中,如果在当前的NFV架构下,将具有弱反亲和性的两个网元部署在不同的父节点较为困难,可将这两个网元部署在同一父节点中。Among them, anti-affinity includes strong anti-affinity and weak anti-affinity. When two network elements with strong anti-affinity are deployed, they cannot be deployed in the same parent node. When deploying two network elements with weak anti-affinity, try to deploy them in different parent nodes. Under the current NFV architecture, deploy the two network elements with weak anti-affinity on different parent nodes. Nodes are more difficult, and these two network elements can be deployed in the same parent node.
由于在本申请实施例中,所述创建第三VM和第四VM的指令中指示所述第三VM和第四VM之间具有强反亲和性,则VIM在接收到所述创建第三VM和第四VM的指令,会将第三VM和第四VM分别创建在不同的HOST中,以保障第三VM和第四VM的强反亲和性部署。Since in the embodiment of the present application, the instructions for creating the third VM and the fourth VM indicate that the third VM and the fourth VM have a strong anti-affinity, the VIM receives the creation of the third VM. The instructions of the VM and the fourth VM will create the third VM and the fourth VM in different HOSTs to ensure the strong anti-affinity deployment of the third VM and the fourth VM.
步骤S62、所述调度管理设备向所述调度器下发创建第二Pod的指令,所述调度器用于在接收到所述创建第二Pod的指令之后,当确定第二Pod与所述第三VM中的第三Pod具有强反亲和性时,在所述第四VM中创建所述第二Pod。Step S62: The scheduling management device issues an instruction to create a second Pod to the scheduler, and the scheduler is configured to, after receiving the instruction to create a second Pod, determine that the second Pod and the third Pod When the third Pod in the VM has strong anti-affinity, the second Pod is created in the fourth VM.
由于在本申请实施例中,第二Pod与第三Pod具有强反亲和性,则需要将第二Pod与第三Pod部署在不同的VM中,这种情况下,当第三VM中部署有第三Pod时,则将第二Pod部署至第四VM中,从而保障第二Pod与第三Pod之间的强反亲和性。Since in the embodiment of this application, the second Pod and the third Pod have strong anti-affinity, the second Pod and the third Pod need to be deployed in different VMs. In this case, when the third VM is deployed When there is a third Pod, the second Pod is deployed in the fourth VM to ensure strong anti-affinity between the second Pod and the third Pod.
通过步骤S61至步骤S62公开的方案,能够在两种Pod具有反亲和性的情况下,不在同一VM部署这两种Pod,从VM级别和Pod级别保障Pod的反亲和性部署。Through the solutions disclosed in step S61 to step S62, when the two Pods have anti-affinity, the two Pods can not be deployed in the same VM, and the anti-affinity deployment of Pods can be guaranteed from the VM level and the Pod level.
另外,在本申请实施例中,调度管理设备为虚拟化的网络功能管理器VNFM,其中,在VNFM中设置虚拟化的网络功能模块描述符(virtualised network function descriptor,VNFD)模块,在VNFD模板中,可设置不同VM之间的强反亲和性。In addition, in the embodiments of the present application, the scheduling management device is a virtualized network function manager VNFM, where a virtualized network function descriptor (VNFD) module is set in the VNFM, and the virtualized network function descriptor (VNFD) module is set in the VNFD template. , Can set strong anti-affinity between different VMs.
例如,在VNFD模块中,可设置在某一个HOST中创建VM的数量的最大值,当HOST中创建的VM的数量达到该最大值,则不在该HOST中创建新的VM,而是将新的VM创建至其他HOST中,从而保障该HOST的VM与新创建的VM之间的强反亲和性。在本申请实施例中,将部署有第三VM的HOST作为第三HOST,则在VNFD模板中,可设置第三HOST中创建的VM的数量的最大值为1,这种情况下,则在第三HOST中只创建第三VM,而将第四VM创建在其他的HOST中,从而保障第三VM和第四VM之间的强反亲和性。For example, in the VNFD module, you can set the maximum number of VMs created in a certain HOST. When the number of VMs created in the HOST reaches the maximum value, no new VMs will be created in the HOST, but new ones The VM is created in other HOSTs, so as to ensure the strong anti-affinity between the VM of the HOST and the newly created VM. In the embodiment of this application, the HOST where the third VM is deployed is used as the third HOST. In the VNFD template, the maximum number of VMs created in the third HOST can be set to 1. In this case, Only the third VM is created in the third host, and the fourth VM is created in other hosts, so as to ensure the strong anti-affinity between the third VM and the fourth VM.
另外,调度器可依据Pod的亲和性(即PodAffinity)调度策略和Pod的反亲和性(即PodantiAffinity)调度策略,确定两个Pod之间是否具有亲和性和反亲和性。其中,PodAffinity调度策略用于规定某一Pod可以和哪些Pod部署在同一VM中,PodantiAffinity调度策略用于规定某一Pod不可以和哪些Pod部署在同一VM中。In addition, the scheduler can determine whether there is affinity and anti-affinity between two Pods according to the Pod affinity (ie PodAffinity) scheduling strategy and Pod anti-affinity (ie PodantiAffinity) scheduling strategy. Among them, the PodAffinity scheduling policy is used to specify a Pod and which Pods can be deployed in the same VM, and the PodantiAffinity scheduling policy is used to specify a Pod and which Pods cannot be deployed in the same VM.
这种情况下,在Pod的配置文件中设置多种类型的部署信息,以便调度器根据该配置文件确定不同Pod之间的亲和性和反亲和性。例如,在某一种类型的部署信息中,要求Pod在首次部署过程中,需要VM满足一定规则,如果不满足,则该Pod不能被 部署至该VM中,这一类型的部署信息用于满足Pod的强反亲和性的需求;在另一种类型的部署信息中,要求Pod在首次部署期间,VM尽量满足一定规则,如果不满足,则该Pod也有可能被调度至该VM中,这一类型的部署信息用于满足Pod的弱反亲和性的需求;在另一种类型的部署信息中,要求Pod在首次部署期间,在首次调度期间要求满足一定规则,如果VM不能满足规则,则Pod不能被调度到该VM上,如果VM满足该规则,则Pod被调度至该VM中,并且,在之后的运行过程中,VM不再满足该规则,需要重新调度该Pod,以使Pod部署至满足该规则的VM中。In this case, multiple types of deployment information are set in the configuration file of the Pod, so that the scheduler can determine the affinity and anti-affinity between different Pods according to the configuration file. For example, in a certain type of deployment information, the Pod requires the VM to meet certain rules during the first deployment process. If not, the Pod cannot be deployed to the VM. This type of deployment information is used to satisfy Pod’s strong anti-affinity requirements; in another type of deployment information, the VM is required to meet certain rules as much as possible during the first deployment of the Pod. If it is not met, the Pod may also be scheduled to the VM. One type of deployment information is used to meet the Pod’s weak anti-affinity requirements; in the other type of deployment information, the Pod is required to meet certain rules during the first deployment period and during the first scheduling period. If the VM cannot meet the rules, Then the Pod cannot be scheduled to the VM. If the VM meets the rule, the Pod is scheduled to the VM, and in the subsequent operation process, the VM no longer meets the rule, the Pod needs to be rescheduled to make the Pod Deploy to the VM that meets the rule.
在本申请实施例中,为了满足第二Pod与第三Pod之间的强反亲和性,可在第二Pod的配置文件设置相应的部署信息,该部署信息表示当VM未部署第三Pod的情况下,确定VM满足部署第二Pod的规则。这种情况下,当调度器通过查询第二Pod的配置文件,获取该部署信息,并且确定第三VM中部署有第三Pod时,则不会在第三VM中部署第二Pod,而是将第二Pod调度至未部署有第三Pod的第四VM中。In the embodiment of the present application, in order to satisfy the strong anti-affinity between the second Pod and the third Pod, the corresponding deployment information can be set in the configuration file of the second Pod. The deployment information indicates that when the VM does not deploy the third Pod In the case of, it is determined that the VM meets the rules for deploying the second Pod. In this case, when the scheduler obtains the deployment information by querying the configuration file of the second Pod, and determines that the third Pod is deployed in the third VM, the second Pod will not be deployed in the third VM, but The second Pod is scheduled to the fourth VM where the third Pod is not deployed.
进一步的,为了明确上述实施例中,NFV架构中的各个网元的信息交互过程,公开图7,参见图7所示的信息交互示意图,该信息交互过程包括以下步骤:Further, in order to clarify the information exchange process of each network element in the NFV architecture in the above embodiment, Fig. 7 is disclosed. Referring to the schematic diagram of information exchange shown in Fig. 7, the information exchange process includes the following steps:
步骤S71、VNFM向VIM下发创建第三VM和第四VM的指令,所述创建第三VM和第四VM的指令中指示所述第三VM和第四VM之间具有强反亲和性。Step S71: The VNFM issues an instruction to create a third VM and a fourth VM to the VIM, and the instruction to create the third VM and the fourth VM indicates that the third VM and the fourth VM have strong anti-affinity .
步骤S72、VIM接收到所述创建第三VM和第四VM的指令之后,在第三HOST中创建第三VM。Step S72: After receiving the instruction to create the third VM and the fourth VM, the VIM creates the third VM in the third HOST.
步骤S73、VIM创建第四VM,由于所述创建第三VM和第四VM的指令中指示所述第三VM和第四VM之间具有强反亲和性,且第三VM被创建在第三HOST中,则VIM将第四VM创建在第四HOST中。Step S73: VIM creates a fourth VM, because the instructions for creating the third VM and the fourth VM indicate that the third VM and the fourth VM have strong anti-affinity, and the third VM is created in the first VM. In the third host, VIM will create the fourth VM in the fourth host.
步骤S74、VIM向VNFM反馈VM创建成功信息。Step S74: VIM feeds back VM creation success information to VNFM.
步骤S75、VNFM向PaaS传输VM纳管请求,以使PaaS对第三VM和第四VM进行纳管。Step S75: The VNFM transmits a VM management request to the PaaS, so that the PaaS can manage the third VM and the fourth VM.
步骤S76、PaaS接收到VNFM传输的VM纳管请求之后,对第三VM和第四VM进行纳管操作。Step S76: After receiving the VM management request transmitted by the VNFM, the PaaS performs a management operation on the third VM and the fourth VM.
其中,在进行纳管操作时,PaaS可在第三VM和第四VM上分别部署相应的进程/组件,从而纳管第三VM和第四VM。Among them, during the management operation, the PaaS can deploy corresponding processes/components on the third VM and the fourth VM, respectively, so as to manage the third VM and the fourth VM.
步骤S77、VNFM向PaaS下发创建第三Pod的指令。Step S77: The VNFM issues an instruction to create a third Pod to the PaaS.
步骤S78、Paas接收到创建第三Pod的指令后,向第三VM下发创建第三Pod的指令。Step S78: After receiving the instruction to create the third Pod, Paas issues an instruction to create the third Pod to the third VM.
步骤S79、第三VM接收到创建第三Pod的指令之后,根据该指示创建第三Pod,并启动运行第三Pod。Step S79: After receiving the instruction to create the third Pod, the third VM creates the third Pod according to the instruction, and starts to run the third Pod.
步骤S80、VNFM向PaaS下发创建第二Pod的指令。Step S80: The VNFM issues an instruction to create a second Pod to the PaaS.
步骤S81、PaaS在接收到所述创建第二Pod的指令之后,确定第二Pod与第三VM中的第三Pod具有强反亲和性,则确定需要在第四VM中创建第二Pod,并向第四VM下发创建第二Pod的指令。Step S81: After receiving the instruction to create the second Pod, the PaaS determines that the second Pod has strong anti-affinity with the third Pod in the third VM, and then determines that the second Pod needs to be created in the fourth VM, And issue an instruction to create a second Pod to the fourth VM.
步骤S82、第四VM接收到创建第二Pod的指令之后,根据该指示创建第二Pod,并启动运行第二Pod。Step S82: After receiving the instruction to create the second Pod, the fourth VM creates the second Pod according to the instruction, and starts to run the second Pod.
进一步的,有些应用场景下,需要控制HOST内允许部署的某类VM的数量。为了满足这一需求,本申请公开另一实施例中,该实施例中,所述调度管理设备为虚拟化的网络功能管理器VNFM,包括以下步骤:Furthermore, in some application scenarios, it is necessary to control the number of VMs of a certain type allowed to be deployed in the HOST. In order to meet this requirement, this application discloses another embodiment. In this embodiment, the scheduling management device is a virtualized network function manager VNFM, which includes the following steps:
当需要创建第一类型的VM时,所述调度管理设备根据预先设定的所述第一类型的VM在同一HOST的数量限制,生成创建第一类型的VM的指令。When a VM of the first type needs to be created, the scheduling management device generates an instruction to create a VM of the first type according to a preset limit on the number of the VMs of the first type in the same HOST.
所述创建第一类型的VM的指令中包含所述第一类型的VM的数量限制,所述创建第一类型的VM的指令用于指示在同一HOST中,所创建的第一类型的VM的数量不大于所述数量限制。The instruction for creating a VM of the first type includes a limit on the number of VMs of the first type, and the instruction for creating a VM of the first type is used to indicate that the VMs of the first type are created in the same HOST. The quantity is not greater than the stated quantity limit.
该实施例中,VM的类型通过预先为VM设置的标签划分,该标签可以为包括VM所属的HOST的信息的VM标签,即通过为VM所属的HOST将VM划分为不同类型。或者,当存在其他分类需求时,预先为VM设置的标签还可以为包括其他信息的标签,以实现对VM类型的划分。In this embodiment, the type of the VM is divided by a label set in advance for the VM, and the label may be a VM label that includes the information of the host to which the VM belongs, that is, the VM is classified into different types by the host to which the VM belongs. Or, when there are other classification requirements, the label set for the VM in advance may also be a label including other information, so as to realize the classification of the VM type.
上述步骤中,VM通过自身的标签进行划分,其中标签相同的VM为同一类型,当对第一类型的VM的数量限制为m(m为正整数)时,所述创建第一类型的VM的指令用于指示在同一个HOST中,创建的第一类型的VM的数量不能超过m个,即在同一个HOST中,创建的第一类型的VM的数量最多为m个。In the above steps, VMs are divided by their own labels, where VMs with the same label are of the same type, and when the number of VMs of the first type is limited to m (m is a positive integer), the creation of VMs of the first type The instruction is used to indicate that the number of VMs of the first type created in the same HOST cannot exceed m, that is, the number of VMs of the first type created in the same HOST is at most m.
PaaS在接收到所述创建第一类型的VM的指令之后,根据该指令的指示创建第一类型的VM,以保障在同一个HOST中创建的第一类型的VM的数量最多为m个。After receiving the instruction to create the first type of VM, the PaaS creates the first type of VM according to the instruction of the instruction to ensure that the number of the first type of VM created in the same HOST is at most m.
其中,在VNFM中设置有VNFD模板,当所述调度管理设备为VNFM时,在一种可行的实现方式中,可在VNFD模板中预先设定第一类型的VM在同一HOST的数量限制。Wherein, a VNFD template is set in the VNFM. When the scheduling management device is a VNFM, in a feasible implementation manner, a limit on the number of VMs of the first type in the same HOST can be preset in the VNFD template.
通过该步骤,能够控制HOST内允许部署的某一种类型的VM的数量。Through this step, the number of VMs of a certain type allowed to be deployed in the HOST can be controlled.
进一步的,在本申请实施例中,还可以控制VM内允许部署的同一类型的Pod的数量。这种情况下,预先在VNFM中设置各类型的Pod在同一VM的数量限制。当需要创建某一Pod时,VNFM生成创建Pod的指令,该指令中包括该Pod在同一VM的数量限制。Further, in the embodiment of the present application, the number of Pods of the same type that are allowed to be deployed in the VM can also be controlled. In this case, a limit on the number of Pods of various types in the same VM is set in the VNFM in advance. When a Pod needs to be created, the VNFM generates an instruction to create a Pod, and the instruction includes the limit on the number of the Pod in the same VM.
例如,当需要在某一VM中创建第一类型的Pod,并且第一类型的Pod在该VM中的数量限制为n(n为正整数)时,所述创建第类型的Pod的指令用于在同一个VM中,创建的第一类型的Pod的数量不能超过n个,即在同一个VM中,创建的第一类型的Pod的数量最多为n个。For example, when a Pod of the first type needs to be created in a certain VM, and the number of Pods of the first type in the VM is limited to n (n is a positive integer), the instruction for creating a Pod of the first type is used In the same VM, the number of created Pods of the first type cannot exceed n, that is, in the same VM, the number of created Pods of the first type is at most n.
PaaS在接收到所述创建第一类型的Pod的指令之后,根据该指令的指示创建第一类型的Pod,以保障在同一个VM中创建的第一类型的Pod的数量最多为n个。After receiving the instruction to create the first type of Pod, the PaaS creates the first type of Pod according to the instruction of the instruction to ensure that the number of the first type of Pod created in the same VM is at most n.
其中,在VNFM中设置有VNFD模板,当所述调度管理设备为VNFM时,在一种可行的实现方式中,可在VNFD模板中预先设定第一类型的VM在同一VM的数量限制。Wherein, a VNFD template is set in the VNFM. When the scheduling management device is a VNFM, in a feasible implementation manner, a limit on the number of VMs of the first type in the same VM can be preset in the VNFD template.
通过该步骤,能够控制VM内允许部署的某一种类型的Pod的数量。Through this step, the number of a certain type of Pod allowed to be deployed in the VM can be controlled.
进一步的,上述方案还可以进一步控制同一HOST内允许部署的某一类型的Pod的数量。例如,当通过上述方案控制HOST内允许部署的第一VM的数量最多为m个,并且控制第一VM中允许部署的第一Pod的数量最多为n个,则该HOST内部署的第 一Pod的数量不大于(m*n)个,从而控制HOST内允许部署的某一类型的Pod的数量。Furthermore, the above solution can further control the number of Pods of a certain type allowed to be deployed in the same HOST. For example, when the number of first VMs allowed to be deployed in the HOST is controlled to be at most m and the number of first Pods allowed to be deployed in the first VM is controlled to at most n, the first Pod deployed in the HOST is controlled. The number is not more than (m*n), so as to control the number of Pods of a certain type allowed to be deployed in the HOST.
与上述网络功能虚拟化NFV架构的调度管理方法相对应的,在本申请另一实施例中,还公开一种网络功能虚拟化NFV架构的调度装置。参见图8所示的结构示意图,本申请实施例公开的网络功能虚拟化NFV架构的调度装置包括:Corresponding to the aforementioned scheduling management method of the network function virtualization NFV architecture, in another embodiment of the present application, a scheduling device of the network function virtualization NFV architecture is also disclosed. Referring to the schematic structural diagram shown in FIG. 8, the scheduling apparatus of the network function virtualization NFV architecture disclosed in the embodiment of the present application includes:
收发单元110,用于获取各个虚拟机VM所属的主机HOST;The transceiver unit 110 is configured to obtain the host HOST to which each virtual machine VM belongs;
处理单元120,用于为所述VM设置相应的VM标签,所述VM标签包括所述VM所属的HOST的信息,在确定第一VM从第一HOST迁移至第二HOST之后,根据所述第一VM迁移后所属的HOST,更新所述第一VM的VM标签,并且,触发所述NFV架构中的调度器,所述调度器用于当根据所述第一VM更新后的VM标签,确定所述第一VM中的第一最小部署单元Pod不符合部署需求时,将所述第一Pod调度至所述第一HOST的第二VM中。The processing unit 120 is configured to set a corresponding VM label for the VM, where the VM label includes information about the HOST to which the VM belongs, and after determining that the first VM migrates from the first HOST to the second HOST, according to the first After a VM is migrated, the VM label of the first VM is updated, and the scheduler in the NFV architecture is triggered. The scheduler is used to determine the VM label after the update of the first VM. When the first minimum deployment unit Pod in the first VM does not meet the deployment requirements, the first Pod is scheduled to the second VM of the first HOST.
其中,所述调度器可以设置在NFV架构中的PaaS中,例如,该调度器可以为PaaS中设置的Google开源的容器编排引擎Kubernetes。Wherein, the scheduler may be set in PaaS in the NFV architecture, for example, the scheduler may be Google's open source container orchestration engine Kubernetes set in PaaS.
所述调度管理设备在更新第一VM的VM标签之后,触发调度器。所述调度器被触发之后,根据所述第一VM更新后的VM标签,确定第一VM中的第一最小部署单元Pod是否符合部署需求。其中,调度器确定第一Pod是否符合部署需求时,是根据第一Pod的亲和性/反亲和性的需求。如果第一Pod的亲和性/反亲和性的需求表明,第一Pod需要设置在第一HOST的VM中,则根据第一VM更新后的VM标签,调度器会确定第一Pod部署在第二HOST中,进一步确定第一Pod不符合部署需求,从而将第一Pod调度至第一HOST的第二VM中。由于第二VM设置在第一HOST中,则第二VM的VM标签为第一HOST,在第一Pod被调度至第二VM中之后,可以满足第一Pod的亲和性/反亲和性的需求,从而使第一Pod部署在第一HOST,满足第一Pod的部署需求。The scheduling management device triggers the scheduler after updating the VM label of the first VM. After the scheduler is triggered, according to the updated VM tag of the first VM, it is determined whether the first minimum deployment unit Pod in the first VM meets the deployment requirement. Wherein, when the scheduler determines whether the first Pod meets the deployment requirements, it is based on the affinity/anti-affinity requirements of the first Pod. If the affinity/anti-affinity requirement of the first Pod indicates that the first Pod needs to be set in the VM of the first HOST, then according to the updated VM label of the first VM, the scheduler will determine that the first Pod is deployed in In the second HOST, it is further determined that the first Pod does not meet the deployment requirements, so that the first Pod is scheduled to the second VM of the first HOST. Since the second VM is set in the first HOST, the VM label of the second VM is the first HOST. After the first Pod is scheduled to the second VM, the affinity/anti-affinity of the first Pod can be satisfied Therefore, the first Pod is deployed on the first HOST to meet the deployment requirements of the first Pod.
本申请实施例公开的调度管理装置中,能够根据各个VM所属的HOST,为VM设置相应的VM标签,通过VM的VM标签,实现对VM的划分,这种情况下,位于同一个HOST内的VM为同一类型;然后,在确定第一VM从第一HOST迁移至第二HOST之后,将所述第一VM的VM标签更新为所述第二HOST,再触发NFV架构中的调度器,所述调度器确定第一VM中的第一Pod是否符合部署需求,若不符合,则调度器会将第一Pod调度至第一HOST的第二VM中,从而在第一VM发生迁移之后,仍然使第一Pod部署在第一HOST中,满足第一Pod的部署需求。In the scheduling management device disclosed in the embodiment of the present application, corresponding VM labels can be set for the VMs according to the HOST to which each VM belongs, and the VMs can be divided through the VM labels of the VMs. In this case, the VMs located in the same HOST VMs are of the same type; then, after determining that the first VM migrates from the first HOST to the second HOST, the VM label of the first VM is updated to the second HOST, and then the scheduler in the NFV architecture is triggered. The scheduler determines whether the first Pod in the first VM meets the deployment requirements. If not, the scheduler will schedule the first Pod to the second VM of the first HOST, so that after the migration of the first VM, The first Pod is deployed in the first HOST to meet the deployment requirements of the first Pod.
在现有技术中,只能将某一种Pod部署在特定类型的VM中,无法满足Pod在HOST的调度需求。而通过本申请实施例公开的方案,能够使某一种Pod部署在特定的HOST中,从而满足Pod在HOST的调度需求,解决现有技术的问题。In the prior art, only a certain type of Pod can be deployed in a specific type of VM, which cannot meet the scheduling requirements of the Pod on the HOST. With the solution disclosed in the embodiments of the present application, a certain type of Pod can be deployed in a specific HOST, so as to meet the scheduling requirements of the Pod on the HOST and solve the problems of the prior art.
进一步的,在本申请实施例中,所述处理单元用于通过所述NFV架构中的虚拟化基础设施管理器VIM反馈的VM创建成功信息,获取各个VM所属的主机HOST。Further, in the embodiment of the present application, the processing unit is configured to obtain the host HOST to which each VM belongs through the VM creation success information fed back by the virtualization infrastructure manager VIM in the NFV architecture.
其中,VIM用于在接收到VM创建指令之后,在HOST中创建VM。在完成VM的创建之后,VIM向调度管理设备反馈VM创建成功信息,VM创建成功信息中包含 各个VM所属的HOST的相关信息,该相关信息为能够确定HOST身份,且在NFV架构中具有唯一性的信息,例如,该相关信息可以为HOST的地址信息或身份标识等,从而使调度管理设备确定各个VM所属的HOST,并根据各个VM所属的HOST,为VM设置相应的VM标签,所述VM标签中包括所述VM所属的HOST的信息。Among them, VIM is used to create a VM in HOST after receiving a VM creation instruction. After completing the creation of the VM, VIM feeds back the VM creation success information to the scheduling management device. The VM creation success information contains information about the host to which each VM belongs. The relevant information can determine the identity of the host and is unique in the NFV architecture For example, the related information can be the address information or identity of the HOST, so that the scheduling management device can determine the host to which each VM belongs, and set the corresponding VM label for the VM according to the host to which each VM belongs. The label includes the information of the host to which the VM belongs.
和/或,在本申请实施例中,所述处理单元用于通过所述VIM反馈的VM迁移完成信息,确定所述第一VM从第一HOST迁移至第二HOST。And/or, in the embodiment of the present application, the processing unit is configured to determine the migration of the first VM from the first HOST to the second HOST through the VM migration completion information fed back by the VIM.
其中,在NFV架构中的VM完成迁移之后,VIM会向调度管理设备反馈迁移完成信息,该迁移完成信息中包括发生迁移的VM的相关信息以及迁移后所属的HOST的相关信息,VM的相关信息为能够确定VM身份,且在NFV架构中具有唯一性的信息,例如,该相关信息可以为VM的地址信息或身份标识等,HOST的相关信息为能够确定HOST身份,且在NFV架构中具有唯一性的信息,例如,该相关信息可以为HOST的地址信息或身份标识等。调度管理设备在接收到该迁移完成信息之后,能够确定发生迁移的VM,以及该VM迁移后所属的HOST。Among them, after the VM in the NFV architecture has completed the migration, the VIM will feed back the migration completion information to the scheduling management device. The migration completion information includes the relevant information of the migrated VM and the relevant information of the host to which the migration belongs, and the relevant information of the VM. In order to be able to determine the identity of the VM and have unique information in the NFV architecture, for example, the relevant information can be the address information or identity identification of the VM, etc. The relevant information of the HOST can determine the identity of the HOST and is unique in the NFV architecture Sexual information, for example, the related information can be the address information or identity of the HOST. After receiving the migration completion information, the scheduling management device can determine the VM where the migration occurs and the HOST to which the VM belongs after the migration.
进一步的,在NFV架构中,往往包含多种网元,相应的,所述调度管理设备可为不同类型的网元。在其中一种可行的实施方式中,所述调度管理设备为虚拟化的网络功能管理器VNFM,或者,在另一种可行的实施方式中,所述调度管理设备为内置有所述调度器的平台即服务模块PaaS。Further, in the NFV architecture, multiple network elements are often included, and accordingly, the scheduling management equipment may be different types of network elements. In one of the feasible implementation manners, the scheduling management device is a virtualized network function manager VNFM, or, in another feasible implementation manner, the scheduling management device is a built-in scheduler Platform as a service module PaaS.
其中,当所述调度管理设备为VNFM时,所述处理单元用于将所述第一VM的VM标签变更信息传输至所述NFV架构中的PaaS,通过所述第一VM的VM标签变更信息触发所述PaaS内置的所述调度器;Wherein, when the scheduling management device is a VNFM, the processing unit is configured to transmit the VM label change information of the first VM to the PaaS in the NFV architecture, and change the information through the VM label of the first VM Trigger the scheduler built in the PaaS;
当所述调度管理设备为PaaS时,所述处理单元用于确定所述第一VM的VM标签发生变化之后,触发内置的所述调度器。When the scheduling management device is PaaS, the processing unit is configured to trigger the built-in scheduler after determining that the VM label of the first VM has changed.
进一步的,当所述调度管理设备为VNFM时,在所述处理单元为所述VM设置相应的VM标签之后,所述收发单元还用于将所述VM与VM标签的对应关系传输至所述PaaS。Further, when the scheduling management device is a VNFM, after the processing unit sets a corresponding VM label for the VM, the transceiving unit is further configured to transmit the correspondence relationship between the VM and the VM label to the PaaS.
这种情况下,PaaS能够获取VM与VM标签的对应关系,从而能够根据该对比关系确定各个VM的VM标签,并在接收到VNFM传输的第一VM的VM标签变更信息之后,根据所述第一VM的VM标签变更信息,判断第一VM的VM标签是否发生变更。In this case, PaaS can obtain the corresponding relationship between the VM and the VM label, so that the VM label of each VM can be determined according to the comparison relationship, and after receiving the VM label change information of the first VM transmitted by the VNFM, according to the first VM label change information The VM label change information of a VM is used to determine whether the VM label of the first VM has changed.
进一步的,在为所述VM设置相应的VM标签之前,所述处理单元还用于通过所述收发单元,向VIM下发创建第一VM和第二VM的指令,所述VIM用于在接收到所述指令之后,创建第一VM和第二VM,并在创建成功后,向所述调度管理设备反馈第一VM和第二VM的创建成功消息;Further, before setting a corresponding VM label for the VM, the processing unit is further configured to issue an instruction to create a first VM and a second VM to the VIM through the transceiver unit, and the VIM is used for receiving After the instruction is reached, create the first VM and the second VM, and after the creation is successful, feedback the creation success message of the first VM and the second VM to the scheduling management device;
当需要创建VM时,NFV架构中的调度管理设备等会向NFV架构中的VIM下发创建VM的指令,以使VIM根据该指令创建相应的VM,并且,在VM创建成功之后,VIM会向调度管理设备反馈相应的VM创建成功消息。When a VM needs to be created, the scheduling management device in the NFV architecture will issue an instruction to create a VM to the VIM in the NFV architecture, so that the VIM will create the corresponding VM according to the instruction, and after the VM is successfully created, the VIM will The scheduling management device feeds back a corresponding VM creation success message.
在为所述VM设置相应的VM标签之后,所述处理单元还用于通过所述收发单元,下发创建第一Pod的指令,所述创建第一Pod的指令中包括所述第一Pod对应的HOST的信息。After setting the corresponding VM tag for the VM, the processing unit is further configured to issue an instruction to create a first Pod through the transceiver unit, and the instruction to create the first Pod includes the corresponding first Pod HOST information.
在接收到创建第一Pod的指令之后,VM会确定自身的VM标签中所包括的HOST的信息,是否与创建第一Pod的指令中包括的HOST的信息是否相同,如果相同,则该VM会创建部署与自身的第一Pod。After receiving the instruction to create the first Pod, the VM will determine whether the HOST information included in its VM tag is the same as the HOST information included in the instruction to create the first Pod. If it is the same, the VM will Create the first Pod deployed with itself.
进一步的,在所述处理单元为所述VM设置相应的VM标签之后,所述处理单元还用于通过所述收发单元,向VIM下发创建第三VM和第四VM的指令,所述创建第三VM和第四VM的指令中指示所述第三VM和第四VM之间具有强反亲和性,所述VIM用于根据所述创建第三VM和第四VM的指令,在不同的HOST中分别创建第三VM和第四VM;Further, after the processing unit sets a corresponding VM label for the VM, the processing unit is further configured to issue instructions to create a third VM and a fourth VM to the VIM through the transceiver unit, and the creation The instructions of the third VM and the fourth VM indicate that there is a strong anti-affinity between the third VM and the fourth VM. The VIM is used to create the third VM and the fourth VM according to the instructions for creating the third VM and the fourth VM. Create the third VM and the fourth VM in the HOST of.
所述处理单元还用于通过所述收发单元,向所述调度器下发创建第二Pod的指令,所述调度器用于在接收到所述创建第二Pod的指令之后,当确定第二Pod与所述第三VM中的第三Pod具有强反亲和性时,在所述第四VM中创建所述第二Pod。The processing unit is further configured to issue an instruction to create a second Pod to the scheduler through the transceiver unit, and the scheduler is configured to determine the second Pod after receiving the instruction to create the second Pod. When it has a strong anti-affinity with the third Pod in the third VM, the second Pod is created in the fourth VM.
其中,反亲和性包括强反亲和性和弱反亲和性。具有强反亲和性的两个网元在部署时,不能部署在同一个父节点中。而具有弱反亲和性的两个网元在部署时,尽量部署在不同的父节点中,如果在当前的NFV架构下,将具有弱反亲和性的两个网元部署在不同的父节点较为困难,可将这两个网元部署在同一父节点中。Among them, anti-affinity includes strong anti-affinity and weak anti-affinity. When two network elements with strong anti-affinity are deployed, they cannot be deployed in the same parent node. When deploying two network elements with weak anti-affinity, try to deploy them in different parent nodes. Under the current NFV architecture, deploy the two network elements with weak anti-affinity on different parent nodes. Nodes are more difficult, and these two network elements can be deployed in the same parent node.
由于在本申请实施例中,所述创建第三VM和第四VM的指令中指示所述第三VM和第四VM之间具有强反亲和性,则VIM在接收到所述创建第三VM和第四VM的指令,会将第三VM和第四VM分别创建在不同的HOST中,以保障第三VM和第四VM的强反亲和性部署。Since in the embodiment of the present application, the instructions for creating the third VM and the fourth VM indicate that the third VM and the fourth VM have a strong anti-affinity, the VIM receives the creation of the third VM. The instructions of the VM and the fourth VM will create the third VM and the fourth VM in different HOSTs to ensure the strong anti-affinity deployment of the third VM and the fourth VM.
由于在本申请实施例中,第二Pod与第三Pod具有强反亲和性,则需要将第二Pod与第三Pod部署在不同的VM中,这种情况下,当第三VM中部署有第三Pod时,则将第二Pod部署至第四VM中,从而保障第二Pod与第三Pod之间的强反亲和性。Since in the embodiment of this application, the second Pod and the third Pod have strong anti-affinity, the second Pod and the third Pod need to be deployed in different VMs. In this case, when the third VM is deployed When there is a third Pod, the second Pod is deployed in the fourth VM to ensure strong anti-affinity between the second Pod and the third Pod.
进一步的,在为所述VM设置相应的VM标签之后,当需要创建第一类型的VM时,所述处理单元还用于,根据预先设定的所述第一类型的VM在同一HOST的数量限制,生成创建第一类型的VM的指令;Further, after setting the corresponding VM label for the VM, when the VM of the first type needs to be created, the processing unit is further configured to: according to the preset number of the VMs of the first type on the same HOST Limit, generate instructions to create the first type of VM;
所述创建第一类型的VM的指令中包含所述第一类型的VM的数量限制,所述创建第一类型的VM的指令用于指示在同一HOST中,所创建的第一类型的VM的数量不大于所述数量限制。The instruction for creating a VM of the first type includes a limit on the number of VMs of the first type, and the instruction for creating a VM of the first type is used to indicate that the VMs of the first type are created in the same HOST. The quantity is not greater than the stated quantity limit.
该实施例中,VM的类型通过预先为VM设置的标签划分,该标签可以为包括VM所属的HOST的信息的VM标签,即通过为VM所属的HOST将VM划分为不同类型。或者,当存在其他分类需求时,预先为VM设置的标签还可以为包括其他信息的标签,以实现对VM类型的划分。In this embodiment, the type of the VM is divided by a label set in advance for the VM, and the label may be a VM label that includes the information of the host to which the VM belongs, that is, the VM is classified into different types by the host to which the VM belongs. Or, when there are other classification requirements, the label set for the VM in advance may also be a label including other information, so as to realize the classification of the VM type.
通过本实施例,能够控制HOST内允许部署的某一种类型的VM的数量。Through this embodiment, the number of VMs of a certain type allowed to be deployed in the HOST can be controlled.
进一步的,上述方案还可以进一步控制同一HOST内允许部署的某一类型的Pod的数量。例如,当通过上述方案控制HOST内允许部署的第一VM的数量最多为m个,并且控制第一VM中允许部署的第一Pod的数量最多为n个,则该HOST内部署的第一Pod的数量不大于(m*n)个,从而控制HOST内允许部署的某一类型的Pod的数量。Furthermore, the above solution can further control the number of Pods of a certain type allowed to be deployed in the same HOST. For example, when the number of first VMs allowed to be deployed in the HOST is controlled to be at most m and the number of first Pods allowed to be deployed in the first VM is controlled to at most n, the first Pod deployed in the HOST is controlled. The number is not more than (m*n), so as to control the number of Pods of a certain type allowed to be deployed in the HOST.
与上述网络功能虚拟化NFV架构的调度管理方法相对应的,在本申请另一实施例中,还公开一种网络功能虚拟化NFV架构的调度管理设备。参见图9所示的结构示意图,所述网络功能虚拟化NFV架构的调度管理设备包括:Corresponding to the aforementioned scheduling management method of the network function virtualization NFV architecture, in another embodiment of the present application, a scheduling management device of the network function virtualization NFV architecture is also disclosed. Referring to the schematic structural diagram shown in FIG. 9, the scheduling management device of the network function virtualization NFV architecture includes:
处理器1101和存储器, Processor 1101 and memory,
其中,所述存储器,用于存储程序指令;Wherein, the memory is used to store program instructions;
所述处理器,用于调用并执行所述存储器中存储的程序指令,以使所述调度管理设备执行图2至图6对应的实施例中的全部或部分步骤。The processor is configured to call and execute program instructions stored in the memory, so that the scheduling management device executes all or part of the steps in the embodiments corresponding to FIGS. 2 to 6.
进一步的,该设备还可以包括:该网络设备包括:收发器1102和总线1103,所述存储器包括随机存取存储器1104和只读存储器1105。Further, the device may also include: the network device includes a transceiver 1102 and a bus 1103, and the memory includes a random access memory 1104 and a read-only memory 1105.
其中,处理器通过总线分别耦接收发器、随机存取存储器以及只读存储器。其中,当需要运行该网络设备时,通过固化在只读存储器中的基本输入输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导该设备进入正常运行状态。在该设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,从而使所述调度管理设备执行图2至图6对应的实施例中的全部或部分步骤。Among them, the processor is respectively coupled to the receiver, transmitter, random access memory, and read-only memory through the bus. Wherein, when the network device needs to be operated, the basic input output system solidified in the read-only memory or the bootloader in the embedded system is used to boot the system to guide the device into a normal operating state. After the device enters the normal operating state, the application program and the operating system are run in the random access memory, so that the scheduling management device executes all or part of the steps in the embodiments corresponding to FIGS. 2 to 6.
本发明实施例的网络设备可对应于上述图2至图6所对应的实施例中的NFV架构的调度管理设备,并且,该调度管理设备中的处理器等可以实现图2至图6所对应的实施例中的调度管理设备所具有的功能和/或所实施的各种步骤和方法,为了简洁,在此不再赘述。The network device of the embodiment of the present invention may correspond to the scheduling management device of the NFV architecture in the embodiment corresponding to FIG. 2 to FIG. 6, and the processor, etc. in the scheduling management device may implement the scheduling management device corresponding to FIG. 2 to FIG. For the sake of brevity, the functions and/or various steps and methods implemented by the scheduling management device in the embodiment are not repeated here.
需要说明的是,本实施例也可以基于通用的物理服务器结合网络功能虚拟化(英文:Network Function Virtualization,NFV)技术实现的网络设备,所述网络设备为虚拟网络设备(如,虚拟主机、虚拟路由器或虚拟交换机)。所述虚拟网络设备可以是运行有用于发送通告报文功能的程序的虚拟机(英文:Virtual Machine,VM),所述虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。本领域技术人员通过阅读本申请即可在通用物理服务器上虚拟出具有上述功能的多个网络设备。此处不再赘述。It should be noted that this embodiment may also be based on a network device implemented by a general physical server combined with network function virtualization (English: Network Function Virtualization, NFV) technology. The network device is a virtual network device (eg, virtual host, virtual Router or virtual switch). The virtual network device may be a virtual machine (English: Virtual Machine, VM) running a program for sending notification messages, and the virtual machine is deployed on a hardware device (for example, a physical server). Virtual machine refers to a complete computer system with complete hardware system functions that is simulated by software and runs in a completely isolated environment. Those skilled in the art can virtualize multiple network devices with the above-mentioned functions on a general physical server by reading this application. I won't repeat them here.
具体实现中,本申请实施例还提供一种计算机可读介质,该计算机可读介质包括指令。其中,设置在任意设备中计算机可读介质其在计算机上运行时,可实施包括图2至图6对应的实施例中的全部或部分步骤。所述计算机可读介质的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。In specific implementation, an embodiment of the present application further provides a computer-readable medium, and the computer-readable medium includes instructions. Wherein, when the computer-readable medium is installed in any device and runs on a computer, it can implement all or part of the steps in the embodiments corresponding to FIGS. 2 to 6. The storage medium of the computer readable medium may be a magnetic disk, an optical disc, a read-only memory (English: read-only memory, abbreviated as ROM) or a random access memory (English: random access memory, abbreviated as: RAM), etc. .
本领域技术任何还可以了解到本申请实施例列出的各种说明性逻辑块(illustrative logical block)和步骤(step)可以通过电子硬件、电脑软件,或两者的结合进行实现。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本申请实施例保护的范围。Anyone skilled in the art can also understand that the various illustrative logical blocks and steps listed in the embodiments of this application can be implemented by electronic hardware, computer software, or a combination of the two. Whether such a function is realized by hardware or software depends on the specific application and the design requirements of the entire system. Those skilled in the art can use various methods to implement the described functions for each specific application, but such implementation should not be understood as going beyond the protection scope of the embodiments of the present application.
本申请实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数 字信号处理器,专用集成电路(ASIC),现场可编程门阵列(FPGA)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。The various illustrative logic units and circuits described in the embodiments of this application can be implemented by general-purpose processors, digital signal processors, application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, Discrete gate or transistor logic, discrete hardware components, or any combination of the above are designed to implement or operate the described functions. The general-purpose processor may be a microprocessor. Optionally, the general-purpose processor may also be any traditional processor, controller, microcontroller, or state machine. The processor can also be implemented by a combination of computing devices, such as a digital signal processor and a microprocessor, multiple microprocessors, one or more microprocessors combined with a digital signal processor core, or any other similar configuration achieve.
本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于UE中。可选地,处理器和存储媒介也可以设置于UE中的不同的部件中。The steps of the method or algorithm described in the embodiments of the present application can be directly embedded in hardware, a software unit executed by a processor, or a combination of the two. The software unit can be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM, or any other storage medium in the art. Exemplarily, the storage medium may be connected to the processor, so that the processor can read information from the storage medium, and can store and write information to the storage medium. Optionally, the storage medium may also be integrated into the processor. The processor and the storage medium may be set in the ASIC, and the ASIC may be set in the UE. Optionally, the processor and the storage medium may also be provided in different components in the UE.
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。It should be understood that, in various embodiments of the present application, the size of the sequence number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not correspond to the difference in the embodiments of the present application. The implementation process constitutes any limitation.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented by software, it can be implemented in the form of a computer program product in whole or in part. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center. Transmission to another website, computer, server or data center via wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.). The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center integrated with one or more available media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)).
本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。Each part of this specification is described in a progressive manner, and the same or similar parts between the various embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device and system embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the description of the method embodiments.
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。Although the preferred embodiments of the present application have been described, those skilled in the art can make additional changes and modifications to these embodiments once they learn the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of this application.
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品 可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。Those skilled in the art can clearly understand that the technology in the embodiments of the present invention can be implemented by means of software plus a necessary general hardware platform. Based on this understanding, the technical solutions in the embodiments of the present invention can be embodied in the form of software products, which can be stored in a storage medium, such as ROM/RAM. , Magnetic disks, optical disks, etc., including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute the methods described in each embodiment or some parts of the embodiment of the present invention.
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于本申请装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。The same or similar parts in the various embodiments in this specification can be referred to each other. In particular, for the device embodiment of the present application, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can refer to the description in the method embodiment.
以上所述的本发明实施方式并不构成对本发明保护范围的限定。The foregoing embodiments of the present invention do not constitute a limitation on the protection scope of the present invention.

Claims (18)

  1. 一种网络功能虚拟化NFV架构的调度管理方法,其特征在于,包括:A scheduling management method for network function virtualization NFV architecture, which is characterized in that it includes:
    NFV架构中的调度管理设备获取各个虚拟机VM所属的主机HOST,并为所述VM设置相应的VM标签,所述VM标签包括所述VM所属的HOST的信息;The scheduling management device in the NFV architecture obtains the host HOST to which each virtual machine VM belongs, and sets a corresponding VM label for the VM, where the VM label includes information about the host to which the VM belongs;
    所述调度管理设备在确定第一VM从第一HOST迁移至第二HOST之后,根据所述第一VM迁移后所属的HOST,更新所述第一VM的VM标签;After determining that the first VM is migrated from the first HOST to the second HOST, the scheduling management device updates the VM label of the first VM according to the HOST to which the first VM belongs after the migration;
    所述调度管理设备触发所述NFV架构中的调度器,所述调度器用于当根据所述第一VM更新后的VM标签,确定所述第一VM中的第一最小部署单元Pod不符合部署需求时,将所述第一Pod调度至所述第一HOST的第二VM中。The scheduling management device triggers a scheduler in the NFV architecture, and the scheduler is used to determine that the first minimum deployment unit Pod in the first VM does not conform to deployment according to the updated VM label of the first VM When required, the first Pod is scheduled to the second VM of the first HOST.
  2. 根据权利要求1所述的方法,其特征在于,The method according to claim 1, wherein:
    所述调度管理设备通过所述NFV架构中的虚拟化基础设施管理器VIM反馈的VM创建成功信息,获取各个VM所属的主机HOST;The scheduling management device obtains the host HOST to which each VM belongs through the VM creation success information fed back by the virtualization infrastructure manager VIM in the NFV architecture;
    和/或,and / or,
    所述调度管理设备通过所述VIM反馈的VM迁移完成信息,确定所述第一VM从第一HOST迁移至第二HOST。The scheduling management device determines that the first VM is migrated from the first HOST to the second HOST through the VM migration completion information fed back by the VIM.
  3. 根据权利要求1或2所述的方法,其特征在于,The method of claim 1 or 2, wherein:
    所述调度管理设备为虚拟化的网络功能管理器VNFM;The scheduling management device is a virtualized network function manager VNFM;
    或者,所述调度管理设备为内置有所述调度器的平台即服务模块PaaS。Alternatively, the dispatch management device is a platform that is a service module PaaS with the dispatcher built-in.
  4. 根据权利要求3所述的方法,其特征在于,The method of claim 3, wherein:
    当所述调度管理设备为VNFM时,所述调度管理设备触发所述NFV架构中的调度器,包括:When the scheduling management device is a VNFM, the scheduling management device triggering the scheduler in the NFV architecture includes:
    所述VNFM将所述第一VM的VM标签变更信息传输至所述NFV架构中的PaaS,通过所述第一VM的VM标签变更信息触发所述PaaS内置的所述调度器;The VNFM transmits the VM label change information of the first VM to the PaaS in the NFV architecture, and triggers the scheduler built in the PaaS through the VM label change information of the first VM;
    当所述调度管理设备为PaaS时,所述调度管理设备触发所述NFV架构中的调度器,包括:When the scheduling management device is PaaS, the scheduling management device triggering the scheduler in the NFV architecture includes:
    所述PaaS确定所述第一VM的VM标签发生变化之后,触发内置的所述调度器。After the PaaS determines that the VM label of the first VM has changed, it triggers the built-in scheduler.
  5. 根据权利要求3所述的方法,其特征在于,当所述调度管理设备为VNFM时,在所述调度管理设备为所述VM设置相应的VM标签之后,还包括:The method according to claim 3, wherein when the scheduling management device is a VNFM, after the scheduling management device sets a corresponding VM label for the VM, the method further comprises:
    所述VNFM将所述VM与VM标签的对应关系传输至所述PaaS。The VNFM transmits the correspondence between the VM and the VM tag to the PaaS.
  6. 根据权利要求1至5任一项所述的方法,其特征在于,The method according to any one of claims 1 to 5, characterized in that:
    在所述调度管理设备为所述VM设置相应的VM标签之前,还包括:Before the scheduling management device sets a corresponding VM label for the VM, the method further includes:
    所述调度管理设备向VIM下发创建第一VM和第二VM的指令,所述VIM用于在接收到所述指令之后,创建第一VM和第二VM,并在创建成功后,向所述调度管理设备反馈第一VM和第二VM的创建成功消息;The scheduling management device issues an instruction to create a first VM and a second VM to the VIM, and the VIM is used to create the first VM and the second VM after receiving the instruction, and after the creation is successful, to The scheduling management device feeds back the creation success message of the first VM and the second VM;
    在所述调度管理设备为所述VM设置相应的VM标签之后,还包括:After the scheduling management device sets the corresponding VM label for the VM, the method further includes:
    所述调度管理设备下发创建第一Pod的指令,所述创建第一Pod的指令中包括所述第一Pod对应的HOST的信息。The scheduling management device issues an instruction for creating a first Pod, and the instruction for creating a first Pod includes information about the HOST corresponding to the first Pod.
  7. 根据权利要求1至6任一项所述的方法,其特征在于,在所述调度管理设备为所述VM设置相应的VM标签之后,还包括:The method according to any one of claims 1 to 6, characterized in that, after the scheduling management device sets a corresponding VM label for the VM, the method further comprises:
    所述调度管理设备向VIM下发创建第三VM和第四VM的指令,所述创建第三VM和第四VM的指令中指示所述第三VM和第四VM之间具有强反亲和性,所述VIM用于根据所述创建第三VM和第四VM的指令,在不同的HOST中分别创建第三VM和第四VM;The scheduling management device issues instructions for creating a third VM and a fourth VM to the VIM, and the instructions for creating the third VM and the fourth VM indicate that the third VM and the fourth VM have a strong anti-affinity The VIM is used to create the third VM and the fourth VM in different HOSTs according to the instructions for creating the third VM and the fourth VM;
    所述调度管理设备向所述调度器下发创建第二Pod的指令,所述调度器用于在接收到所述创建第二Pod的指令之后,当确定第二Pod与所述第三VM中的第三Pod具有强反亲和性时,在所述第四VM中创建所述第二Pod。The scheduling management device issues an instruction to create a second Pod to the scheduler, and the scheduler is configured to, after receiving the instruction to create a second Pod, determine whether the second Pod and the third VM are When the third Pod has strong anti-affinity, the second Pod is created in the fourth VM.
  8. 根据权利要求1至7任一项所述的方法,其特征在于,在所述调度管理设备为所述VM设置相应的VM标签之后,还包括:The method according to any one of claims 1 to 7, characterized in that, after the scheduling management device sets a corresponding VM label for the VM, the method further comprises:
    当需要创建第一类型的VM时,所述调度管理设备根据预先设定的所述第一类型的VM在同一HOST的数量限制,生成创建第一类型的VM的指令;When a VM of the first type needs to be created, the scheduling management device generates an instruction to create a VM of the first type according to a preset limit on the number of VMs of the first type in the same HOST;
    所述创建第一类型的VM的指令中包含所述第一类型的VM的数量限制,所述创建第一类型的VM的指令用于指示在同一HOST中,所创建的第一类型的VM的数量不大于所述数量限制。The instruction for creating a VM of the first type includes a limit on the number of VMs of the first type, and the instruction for creating a VM of the first type is used to indicate that the VMs of the first type are created in the same HOST. The quantity is not greater than the stated quantity limit.
  9. 一种网络功能虚拟化NFV架构的调度装置,其特征在于,应用于调度管理设备中,包括:A scheduling device with network function virtualization NFV architecture is characterized in that it is applied to a scheduling management device and includes:
    收发单元,用于获取各个虚拟机VM所属的主机HOST;The transceiver unit is used to obtain the host HOST to which each virtual machine VM belongs;
    处理单元,用于为所述VM设置相应的VM标签,所述VM标签包括所述VM所属的HOST的信息,在确定第一VM从第一HOST迁移至第二HOST之后,根据所述第一VM迁移后所属的HOST,更新所述第一VM的VM标签,并且,触发所述NFV架构中的调度器,所述调度器用于当根据所述第一VM更新后的VM标签,确定所述第一VM中的第一最小部署单元Pod不符合部署需求时,将所述第一Pod调度至所述第一HOST的第二VM中。The processing unit is configured to set a corresponding VM label for the VM, where the VM label includes information about the HOST to which the VM belongs, and after determining that the first VM migrates from the first HOST to the second HOST, according to the first The host to which the VM belongs after migration updates the VM label of the first VM, and triggers the scheduler in the NFV architecture. The scheduler is used to determine the VM label according to the updated VM label of the first VM. When the first minimum deployment unit Pod in the first VM does not meet the deployment requirements, the first Pod is scheduled to the second VM of the first HOST.
  10. 根据权利要求9所述的装置,其特征在于,The device according to claim 9, wherein:
    所述处理单元用于通过所述NFV架构中的虚拟化基础设施管理器VIM反馈的VM创建成功信息,获取各个VM所属的主机HOST;The processing unit is used to obtain the host HOST to which each VM belongs through the VM creation success information fed back by the virtualization infrastructure manager VIM in the NFV architecture;
    和/或,and / or,
    所述处理单元用于通过所述VIM反馈的VM迁移完成信息,确定所述第一VM从第一HOST迁移至第二HOST。The processing unit is configured to determine the migration of the first VM from the first HOST to the second HOST through the VM migration completion information fed back by the VIM.
  11. 根据权利要求9或10所述的装置,其特征在于,The device according to claim 9 or 10, wherein:
    所述调度管理设备为虚拟化的网络功能管理器VNFM;The scheduling management device is a virtualized network function manager VNFM;
    或者,所述调度管理设备为内置有所述调度器的平台即服务模块PaaS。Alternatively, the dispatch management device is a platform that is a service module PaaS with the dispatcher built-in.
  12. 根据权利要求11所述的装置,其特征在于,The device according to claim 11, wherein:
    当所述调度管理设备为VNFM时,所述处理单元用于将所述第一VM的VM标签变更信息传输至所述NFV架构中的PaaS,通过所述第一VM的VM标签变更信息触发所述PaaS内置的所述调度器;When the scheduling management device is a VNFM, the processing unit is configured to transmit the VM label change information of the first VM to the PaaS in the NFV architecture, and trigger the VM label change information of the first VM. The scheduler built into the PaaS;
    当所述调度管理设备为PaaS时,所述处理单元用于确定所述第一VM的VM标签发生变化之后,触发内置的所述调度器。When the scheduling management device is PaaS, the processing unit is configured to trigger the built-in scheduler after determining that the VM label of the first VM has changed.
  13. 根据权利要求10所述的装置,其特征在于,当所述调度管理设备为VNFM 时,在所述处理单元为所述VM设置相应的VM标签之后,所述收发单元还用于将所述VM与VM标签的对应关系传输至所述PaaS。The apparatus according to claim 10, wherein when the scheduling management device is a VNFM, after the processing unit sets a corresponding VM tag for the VM, the transceiver unit is further configured to transfer the VM The correspondence relationship with the VM tag is transmitted to the PaaS.
  14. 根据权利要求10至13任一项所述的装置,其特征在于,The device according to any one of claims 10 to 13, wherein:
    在为所述VM设置相应的VM标签之前,所述处理单元还用于通过所述收发单元,向VIM下发创建第一VM和第二VM的指令,所述VIM用于在接收到所述指令之后,创建第一VM和第二VM,并在创建成功后,向所述调度管理设备反馈第一VM和第二VM的创建成功消息;Before setting the corresponding VM label for the VM, the processing unit is further configured to issue an instruction to create a first VM and a second VM to the VIM through the transceiver unit, and the VIM is used for receiving the After the instruction, create the first VM and the second VM, and after the creation is successful, feedback the creation success message of the first VM and the second VM to the scheduling management device;
    在为所述VM设置相应的VM标签之后,所述处理单元还用于通过所述收发单元,下发创建第一Pod的指令,所述创建第一Pod的指令中包括所述第一Pod对应的HOST的信息。After setting the corresponding VM tag for the VM, the processing unit is further configured to issue an instruction to create a first Pod through the transceiver unit, and the instruction to create the first Pod includes the corresponding first Pod HOST information.
  15. 根据权利要求10至14任一项所述的装置,其特征在于,The device according to any one of claims 10 to 14, wherein:
    在所述处理单元为所述VM设置相应的VM标签之后,所述处理单元还用于通过所述收发单元,向VIM下发创建第三VM和第四VM的指令,所述创建第三VM和第四VM的指令中指示所述第三VM和第四VM之间具有强反亲和性,所述VIM用于根据所述创建第三VM和第四VM的指令,在不同的HOST中分别创建第三VM和第四VM;After the processing unit sets a corresponding VM label for the VM, the processing unit is further configured to issue instructions to create a third VM and a fourth VM to the VIM through the transceiver unit, and the create third VM The instructions of the fourth VM and the fourth VM indicate that there is a strong anti-affinity between the third VM and the fourth VM, and the VIM is used to create the third VM and the fourth VM according to the instructions for creating the third VM and the fourth VM in different HOSTs. Create the third VM and the fourth VM respectively;
    所述处理单元还用于通过所述收发单元,向所述调度器下发创建第二Pod的指令,所述调度器用于在接收到所述创建第二Pod的指令之后,当确定第二Pod与所述第三VM中的第三Pod具有强反亲和性时,在所述第四VM中创建所述第二Pod。The processing unit is further configured to issue an instruction to create a second Pod to the scheduler through the transceiver unit, and the scheduler is configured to determine the second Pod after receiving the instruction to create the second Pod. When it has a strong anti-affinity with the third Pod in the third VM, the second Pod is created in the fourth VM.
  16. 根据权利要求10至15任一项所述的装置,其特征在于,The device according to any one of claims 10 to 15, wherein:
    在为所述VM设置相应的VM标签之后,当需要创建第一类型的VM时,所述处理单元还用于,根据预先设定的所述第一类型的VM在同一HOST的数量限制,生成创建第一类型的VM的指令;After setting the corresponding VM label for the VM, when the VM of the first type needs to be created, the processing unit is further configured to generate according to the preset number limit of the VM of the first type on the same HOST Instructions to create the first type of VM;
    所述创建第一类型的VM的指令中包含所述第一类型的VM的数量限制,所述创建第一类型的VM的指令用于指示在同一HOST中,所创建的第一类型的VM的数量不大于所述数量限制。The instruction for creating a VM of the first type includes a limit on the number of VMs of the first type, and the instruction for creating a VM of the first type is used to indicate that the VMs of the first type are created in the same HOST. The quantity is not greater than the stated quantity limit.
  17. 一种网络功能虚拟化NFV架构的调度管理设备,其特征在于,包括:A scheduling management device of network function virtualization NFV architecture, which is characterized in that it includes:
    处理器和存储器;Processor and memory;
    其中,所述存储器,用于存储程序指令;Wherein, the memory is used to store program instructions;
    所述处理器,用于调用并执行所述存储器中存储的程序指令,以使所述调度管理设备执行权利要求1至权利要求8任一项所述的方法。The processor is configured to call and execute the program instructions stored in the memory, so that the scheduling management device executes the method according to any one of claims 1 to 8.
  18. 一种计算机可读介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至权利要求8中任意一项所述的方法。A computer-readable medium, including instructions, which when run on a computer, causes the computer to execute the method according to any one of claims 1 to 8.
PCT/CN2019/129247 2019-02-01 2019-12-27 Scheduling management method and apparatus for network function virtualization nfv architecture WO2020155987A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910104725.8 2019-02-01
CN201910104725.8A CN111526168B (en) 2019-02-01 2019-02-01 Scheduling management method and device for Network Function Virtualization (NFV) architecture

Publications (1)

Publication Number Publication Date
WO2020155987A1 true WO2020155987A1 (en) 2020-08-06

Family

ID=71841593

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/129247 WO2020155987A1 (en) 2019-02-01 2019-12-27 Scheduling management method and apparatus for network function virtualization nfv architecture

Country Status (2)

Country Link
CN (1) CN111526168B (en)
WO (1) WO2020155987A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799775A (en) * 2020-12-29 2021-05-14 杭州涂鸦信息技术有限公司 Node attribute transmission method and related device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617070A (en) * 2013-11-27 2014-03-05 华为技术有限公司 Virtual machine migration method and device
US20160103699A1 (en) * 2014-10-13 2016-04-14 Vmware, Inc. Cloud virtual machine defragmentation for hybrid cloud infrastructure
CN109032806A (en) * 2018-07-30 2018-12-18 华为技术有限公司 The service scheduling method and device of container
US10191778B1 (en) * 2015-11-16 2019-01-29 Turbonomic, Inc. Systems, apparatus and methods for management of software containers

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105376303B (en) * 2015-10-23 2018-11-06 深圳前海达闼云端智能科技有限公司 Docker implementation system and communication method thereof
CN105354076B (en) * 2015-10-23 2019-01-25 北京云端光科技术有限公司 Application deployment method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617070A (en) * 2013-11-27 2014-03-05 华为技术有限公司 Virtual machine migration method and device
US20160103699A1 (en) * 2014-10-13 2016-04-14 Vmware, Inc. Cloud virtual machine defragmentation for hybrid cloud infrastructure
US10191778B1 (en) * 2015-11-16 2019-01-29 Turbonomic, Inc. Systems, apparatus and methods for management of software containers
CN109032806A (en) * 2018-07-30 2018-12-18 华为技术有限公司 The service scheduling method and device of container

Also Published As

Publication number Publication date
CN111526168B (en) 2021-09-07
CN111526168A (en) 2020-08-11

Similar Documents

Publication Publication Date Title
EP3340057B1 (en) Container monitoring method and apparatus
WO2018032770A1 (en) Application component deployment method and deployment node
US10742502B2 (en) Software modification initiation method, and metadata release method and apparatus
EP3200393B1 (en) Method and device for virtual network function management
JP6680901B2 (en) Management method and device
US10541862B2 (en) VNF processing policy determining method, apparatus, and system
CN110520844A (en) Cloud management platform, virtual machine management method and its system
KR102524540B1 (en) Apparatus and method for multi-cloud service platform
CN107534577B (en) Method and equipment for instantiating network service
CN104750554A (en) Inter-virtual machine data migration method and device
JP6801776B2 (en) Virtual network function management device, virtual infrastructure management device, and virtual network function construction method
TWI668634B (en) Software container based systems and methods for providing cloud services
WO2020155987A1 (en) Scheduling management method and apparatus for network function virtualization nfv architecture
CN110569104A (en) Management method and computer storage medium for task training in deep learning system
JP2024501005A (en) Management method and device for container clusters
CN111221620B (en) Storage method, device and storage medium
US20220365822A1 (en) Data Processing Method and Computer Device
CN111880905B (en) Method for migrating virtual machines across cells by using openstack
WO2017206092A1 (en) Life cycle management method and management unit
CN112015515A (en) Virtual network function instantiation method and device
WO2023050947A1 (en) Network upgrade method, electronic device and storage medium
CN110545193B (en) Virtual resource management method, virtual resource management equipment and server
CN113098705B (en) Authorization method and device for life cycle management of network service
CN113032141B (en) AI platform resource switching method, system and medium
WO2018107860A1 (en) Service operating method and device, and cloud computing system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19912619

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19912619

Country of ref document: EP

Kind code of ref document: A1