一种网络服务对象的部署方法及装置与流程

    专利2022-07-07  130


    本申请涉及互联网
    技术领域
    ,特别是涉及一种网络服务对象的部署方法及装置。
    背景技术
    :openstack是一个流行的开源云计算管理平台。neutron是openstack网络的虚拟化网络组件,为用户提供虚拟化网络服务,如虚拟路由和虚拟负载均衡等。openstack网络中,neutron服务端服务部署在控制节点中,虚拟路由器和虚拟负载均衡设备等网络服务对象部署在网络节点上。目前,openstack网络主要通过keepalived(交换机制软件)来实现openstack网络的高可用性。具体为:控制节点采用一主多备的方式,在部署一个网络服务对象时,部署一个主网络服务对象和多个备网络服务对象。其中,主网络服务对象处于工作状态,多个备网络服务对象处于备用状态。当主网络服务对象故障时,一个备网络服务对象切换为工作状态。上述网络服务对象的部署方式,虽然实现了openstack网络的高可用性,但是却会带来网络节点资源的浪费。另外,由于一个网络服务对象,却需要部署一个主网络服务对象和多个备网络服务对象,使得网络服务对象的部署实现复杂,且会带来新的故障点,不易定位维护。再者,采用一主多备的方式,会带来集群脑裂的问题,导致虚拟化网络服务不可用。技术实现要素:本申请实施例的目的在于提供一种网络服务对象的部署方法及装置,以在实现openstack网络的高可用性的同时,降低网络节点资源的浪费,简化网络服务对象的部署实现,提高定位维护的简易性,且预防openstack网络的集群脑裂问题,提高虚拟化网络服务的可用性。具体技术方案如下:第一方面,本申请实施例提供了一种网络服务对象的部署方法,应用于控制节点,所述控制节点中存储了节点对象绑定表,所述节点对象绑定表包括:与所述控制节点连接的各个网络节点的权重和所述各个网络节点上部署的网络服务对象;所述方法包括:根据所述节点对象绑定表包括的所述各个网络节点的权重和所述各个网络节点上部署的网络服务对象,确定资源利用率最小的第一网络节点;在所述第一网络节点上部署待部署的第一网络服务对象,并在所述节点对象绑定表中记录所述第一网络节点部署的所述第一网络服务对象;当所述第一网络节点故障时,根据所述节点对象绑定表包括的所述各个网络节点上部署的网络服务对象,确定所述第一网络节点上部署的第二网络服务对象,所述第二网络服务对象包括所述第一网络服务对象;根据所述节点对象绑定表包括的所述各个网络节点的权重和所述各个网络节点上部署的网络服务对象,从除所述第一网络节点外的网络节点中,确定资源利用率最小的第二网络节点;在所述第二网络节点上部署所述第二网络服务对象,并在所述节点对象绑定表中记录所述第二网络节点部署的所述第二网络服务对象,并删除所述节点对象绑定表中记录的所述第一网络节点部署的所述第二网络服务对象。第二方面,本申请实施例提供了一种网络服务对象的部署装置,应用于控制节点,所述控制节点中存储了节点对象绑定表,所述节点对象绑定表包括:与所述控制节点连接的各个网络节点的权重和所述各个网络节点上部署的网络服务对象;所述装置包括:第一确定单元,用于根据所述节点对象绑定表包括的所述各个网络节点的权重和所述各个网络节点上部署的网络服务对象,确定资源利用率最小的第一网络节点;部署单元,用于在所述第一网络节点上部署待部署的第一网络服务对象,并在所述节点对象绑定表中记录所述第一网络节点部署的所述第一网络服务对象;第二确定单元,用于当所述第一网络节点故障时,根据所述节点对象绑定表包括的所述各个网络节点上部署的网络服务对象,确定所述第一网络节点上部署的第二网络服务对象,所述第二网络服务对象包括所述第一网络服务对象;所述第一确定单元,还用于根据所述节点对象绑定表包括的所述各个网络节点的权重和所述各个网络节点上部署的网络服务对象,从除所述第一网络节点外的网络节点中,确定资源利用率最小的第二网络节点;所述部署单元,还用于在所述第二网络节点上部署所述第二网络服务对象,并在所述节点对象绑定表中记录所述第二网络节点部署的所述第二网络服务对象,并删除所述节点对象绑定表中记录的所述第一网络节点部署的所述第二网络服务对象。第三方面,本申请实施例提供了一种控制节点,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行程序,所述处理器被所述机器可执行程序促使:实现上述任一所述的方法步骤。第四方面,本申请实施例提供了一种机器可读存储介质,所述机器可读存储介质存储有能够被处理器执行的机器可执行程序,所述机器可执行程序促使所述处理器:实现上述任一所述的方法步骤。本申请实施例提供的技术方案中,控制节点中维护节点对象绑定表。该节点对象绑定表中包括:与控制节点连接的各个网络节点的权重和各个网络节点上部署的网络服务对象。基于该节点对象绑定表,控制节点只需要在一个网络节点部署需要部署的网络服务对象。而当网络节点故障时,只需要基于节点对象绑定表,将该故障的网络节点上部署的网络服务对象转移至其他网络节点,实现了openstack网络的高可用性。本申请实施例中,基于节点对象绑定表,在实现openstack网络的高可用性的同时,并未采用一主多备的方式,只需要在一个网络节点部署需要部署的网络服务对象,进而降低了网络节点资源的浪费,简化了网络服务对象的部署实现,提高了定位维护的简易性,且有效预防openstack网络的集群脑裂问题,提高了虚拟化网络服务的可用性。当然,实施本申请的任一产品或方法必不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的网络服务对象的部署方法的一种流程示意图;图2为本申请实施例提供的网络节点控制方法的一种流程示意图;图3为本申请实施例提供的网络服务对象的部署装置的一种结构示意图;图4为本申请实施例提供的网络服务对象的部署装置的另一种结构示意图;图5为本申请实施例提供的控制节点的一种结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。网络服务对象包括虚拟路由器和虚拟负载均衡设备。neutron服务端服务部署在控制节点中,网络服务对象部署在网络节点上。网络服务对象又可以称为网络服务实例。目前,网络服务对象的部署采用一主多备的方式。这种部署方式,虽然实现了openstack网络的高可用性,但是却会带来网络节点资源的浪费,网络服务对象的部署实现复杂,且会带来新的故障点,不易定位维护,并且会带来集群脑裂的问题,导致虚拟化网络服务不可用。为解决上述问题,本申请实施例提供了一种网络服务对象的部署方法。该方法中,控制节点中维护节点对象绑定表。该节点对象绑定表中包括:与控制节点连接的各个网络节点的权重和各个网络节点上部署的网络服务对象,如表1所示的节点对象绑定表。表1表1中,节点1、节点2和节点3为与控制节点连接的网络节点,节点对象绑定表包括:节点1的权重为2,节点1上部署的网络服务对象包括虚拟路由器1和虚拟负载均衡设备1;节点2的权重为3,节点2上部署的网络服务对象包括虚拟路由器2、虚拟负载均衡设备2和虚拟路由器3;节点3的权重为1,节点3上部署的网络服务对象包括虚拟负载均衡设备3。本申请实施例中,网络节点的权重根据网络节点的cpu性能、内存大小等资源情况确定。网络节点的资源越好,该网络节点的权重越大。一个示例中,可以根据网络节点的资源比例,确定网络节点的权重。例如,网络节点a的资源为10,网络节点b的资源为8,10:8=5:4,则可确定网络节点a的权重为5,网络节点b的权重为4。这样,既可以最大限度利旧,又能根据各个网络节点的实际情况来部署网络服务负载。基于节点对象绑定表,控制节点只需要在一个网络节点部署需要部署的网络服务对象。而当网络节点故障时,只需要基于节点对象绑定表,将该故障的网络节点上部署的网络服务对象转移至其他网络节点,实现了openstack网络的高可用性。本申请实施例中,基于节点对象绑定表,在实现openstack网络的高可用性的同时,并未采用一主多备的方式部署网络服务对象,只需要在一个网络节点部署需要部署的网络服务对象,进而降低了网络节点资源的浪费,简化了网络服务对象的部署实现,提高了定位维护的简易性,且有效预防openstack网络的集群脑裂问题,提高了虚拟化网络服务的可用性。下面通过具体实施例,对本申请实施例提供的网络服务对象的部署方法进行详细说明。参见图1,图1为本申请实施例提供的网络服务对象的部署方法的一种流程示意图。该方法应用于openstack网络的控制节点,控制节点中存储了节点对象绑定表,节点对象绑定表包括:与控制节点连接的各个网络节点的权重和各个网络节点上部署的网络服务对象,如上述表1所示。该网络服务对象的部署方法包括如下步骤。步骤s11,根据节点对象绑定表包括的各个网络节点的权重和各个网络节点上部署的网络服务对象,确定资源利用率最小的第一网络节点。本申请实施例中,节点对象绑定表包括的网络节点的权重指示网络节点的资源情况。控制节点根据节点对象绑定表包括的各个网络节点的权重和各个网络节点上部署的网络服务对象,确定各个网络节点的资源利用率,进而确定出资源利用率最小的网络节点,作为第一网络节点。本申请实施例中,控制节点可以实时的确定资源利用率最小的第一网络节点,也可以在接收到用户输入的部署指令后,确定资源利用率最小的第一网络节点。具体如下:当用户需要部署一个网络服务对象(如第一网络服务对象)时,用户向控制节点输入部署指令,指示部署第一网络服务对象。其中,第一网络服务对象可以为虚拟路由器,也可以为虚拟负载均衡设备;控制节点根据部署指令确定资源利用率最小的第一网络节点。本申请实施例中,若确定资源利用率最小的网络节点为一个,则将该网络节点作为第一网络节点。若确定资源利用率最小的网络节点为多个,则可从这多个网络节点中随机选择一个网络节点作为第一网络节点。不同的网络服务对象所占用的资源是实时变化的,受用户使用情况、cpu调用情况、内存占用情况等多种因素的影响,难以量化统计不同的网络服务对象所占用的资源的情况,无法准确的确定网络节点的资源利用率。而由于用户部署的虚拟路由器和虚拟负载均衡设备都是由网络节点的网络命名空间(netnamespace)来承载实现的,因此本申请实施例中,把部署一个虚拟路由器和部署一个虚拟负载均衡设备所占用的资源近似地看成相同,部署虚拟路由器和虚拟负载均衡设备可以统筹起来考虑,便于对网络节点资源的管理,实现了对网络节点的资源利用率量化统计。步骤s12,在第一网络节点上部署待部署的第一网络服务对象,并在节点对象绑定表中记录第一网络节点部署的第一网络服务对象。在确定资源利用率最小的第一网络节点后,控制节点在第一网络节点上部署待部署的第一网络服务对象,并在节点对象绑定表中记录第一网络节点部署的第一网络服务对象。例如,控制节点中存储的节点对象绑定表如表2所示。表2网络节点权重网络服务对象节点112虚拟路由器11节点123虚拟路由器12节点131虚拟负载均衡设备11基于表2,确定节点12为资源利用率最小的网络节点。待部署的网络服务对象为虚拟负载均衡设备12(即第一网络服务对象),则将虚拟负载均衡设备12部署在节点12上,并在节点对象绑定表中记录节点12部署的虚拟负载均衡设备12,如表3所示。表3网络节点权重网络服务对象节点112虚拟路由器11节点123虚拟路由器12,虚拟负载均衡设备12节点131虚拟负载均衡设备11步骤s13,当第一网络节点故障时,根据节点对象绑定表包括的各个网络节点上部署的网络服务对象,确定第一网络节点上部署的第二网络服务对象,第二网络服务对象包括第一网络服务对象。本申请实施例中,控制节点实时检测各个网络节点是否故障。以第一网络节点为例,当检测到第一网络节点故障时,控制节点根据节点对象绑定表包括的各个网络节点上部署的网络服务对象,确定第一网络节点上部署的第二网络服务对象,第二网络服务对象包括上述部署在第一网络节点上的第一网络服务对象。仍以上述步骤s12中的例子进行说明。当检测到节点12故障后,控制节点根据节点对象绑定表(如表3所示),可确定节点12上部署的第二网络服务对象包括虚拟路由器12和虚拟负载均衡设备13。步骤s14,根据节点对象绑定表包括的各个网络节点的权重和各个网络节点上部署的网络服务对象,从除第一网络节点外的网络节点中,确定资源利用率最小的第二网络节点。在确定第二网络服务对象后,控制节点根据节点对象绑定表包括的各个网络节点的权重和各个网络节点上部署的网络服务对象,从除第一网络节点外的网络节点中,再次确定资源利用率最小的网络节点,作为第二网络节点。该第二网络节点就是步骤s14中确定第二网络节点的方式,具体可参考上述步骤s12确定第一网络节点的方式。此处不再赘述。步骤s15,在第二网络节点上部署第二网络服务对象,并在节点对象绑定表中记录第二网络节点部署的第二网络服务对象,并删除节点对象绑定表中记录的第一网络节点部署的第二网络服务对象。在确定第二网络节点后,控制节点在第二网络节点上部署第二网络服务对象,并更新节点对象绑定表,即在节点对象绑定表中记录第二网络节点部署的第二网络服务对象,并删除节点对象绑定表中记录的第一网络节点部署的第二网络服务对象。本申请实施例中,若第一网络节点上只部署的一个第二网络服务对象,则确定一个第二网络节点,并在该第二网络节点上部署该第二网络服务对象。例如,控制节点中存储的节点对象绑定表如上表3所示。若确定节点13故障,节点13上只部署的虚拟负载均衡设备11,此时,控制节点从除节点13外的节点11和节点12中确定第二网络节点,如确定第二网络节点为节点11,则在节点11上部署虚拟负载均衡设备11,并更新节点对象绑定表,如表4所示。表4网络节点权重网络服务对象节点112虚拟路由器11,虚拟负载均衡设备11节点123虚拟路由器12,虚拟负载均衡设备12一个示例中,若第一网络节点上部署了多个第二网络服务对象,控制节点可以依据负载均衡规则部署第二网络服务对象,如一个一个分别部署第二网络服务对象,且针对每个第二网络服务对象,控制节点可以分别执行上述步骤s14-s15,来部署该第二网络服务对象。实现网络节点的负载均衡。例如,控制节点中存储的节点对象绑定表如上表3所示。若确定节点12故障,节点12上只部署了虚拟路由器12和虚拟负载均衡设备12,此时,控制节点从除节点12外的节点11和节点13中确定第二网络节点,如确定第二网络节点为节点11,则在节点11上部署虚拟路由器12,并更新节点对象绑定表,如表5所示。表5网络节点权重网络服务对象节点112虚拟路由器11,虚拟路由器12节点131虚拟负载均衡设备11之后,控制节点从除节点12外的节点11和节点13中再次确定第二网络节点,如确定第二网络节点为节点13,则在节点13上部署虚拟负载均衡设备12,并更新节点对象绑定表,如表6所示。表6网络节点权重网络服务对象节点112虚拟路由器11,虚拟路由器12节点131虚拟负载均衡设备11,虚拟负载均衡设备12一个示例中,若第一网络节点上部署了多个第二网络服务对象,控制节点确定第二网络节点,并这多个第二网络服务对象均部署在该第二网络节点上。例如,控制节点中存储的节点对象绑定表如上表3所示。若确定节点12故障,节点12上只部署了虚拟路由器12和虚拟负载均衡设备12,此时,控制节点从除节点12外的节点11和节点13中确定第二网络节点,如确定第二网络节点为节点11,则在节点11上部署虚拟路由器12和虚拟负载均衡设备12,并更新节点对象绑定表,如表7所示。表7本申请实施例提供的技术方案中,控制节点中维护节点对象绑定表。该节点对象绑定表中包括:与控制节点连接的各个网络节点的权重和各个网络节点上部署的网络服务对象。基于该节点对象绑定表,控制节点只需要在一个网络节点部署需要部署的网络服务对象。而当网络节点故障时,只需要基于节点对象绑定表,将该故障的网络节点上部署的网络服务对象转移至其他网络节点,实现了openstack网络的高可用性。本申请实施例中,基于节点对象绑定表,在实现openstack网络的高可用性的同时,并未采用一主多备的方式,只需要在一个网络节点部署需要部署的网络服务对象,进而降低了网络节点资源的浪费,简化了网络服务对象的部署实现,提高了定位维护的简易性,且有效预防openstack网络的集群脑裂问题,提高了虚拟化网络服务的可用性。在本申请的一个实施例中,上述步骤s12可以包括:根据节点对象绑定表包括的各个网络节点上部署的网络服务对象,确定每个网络节点上部署的网络服务对象的数量;针对每个网络节点,计算该网络节点上部署的网络服务对象的数量与该网络节点的权重的比值,作为该网络节点的资源利用率;将资源利用率最小的网络节点作为第一网络节点。以上述表3所示的节点对象绑定表为例,控制节点根据节点对象绑定表包括的信息,确定节点11上部署的网络服务对象的数量为1,节点12上部署的网络服务对象的数量为2,节点13上部署的网络服务对象的数量为1。控制节点计算节点11上部署的网络服务对象的数量与节点11的权重的比值为1/2,控制节点计算节点12上部署的网络服务对象的数量与节点12的权重的比值为2/3,控制节点计算节点13上部署的网络服务对象的数量与节点13的权重的比值为1/1=1,其中,1/2<2/3<1。1/2对应节点11,因此,控制节点可确定节点11为第一网络节点。本申请实施例中,上述步骤s12还可以通过其他方式实现,如针对每个网络节点,计算该网络节点的权重与该网络节点上部署的网络服务对象的数量的比值,将比值最大的网络节点作为第一网络节点。只要确定的第一网络节点为资源利用率最小即可。本申请实施例中,步骤s14的实现方式与上述步骤s12的实现方式相应。例如,步骤s14可以包括:根据节点对象绑定表包括的各个网络节点上部署的网络服务对象,确定每个网络节点上部署的网络服务对象的数量;针对每个网络节点,计算该网络节点上部署的网络服务对象的数量与该网络节点的权重的比值,作为该网络节点的资源利用率;从除所述第一网络节点外的网络节点中,将资源利用率最小的网络节点作为第二网络节点。在本申请的一个实施例中,为了便于对openstack网络中的网络节点进行管理,控制节点上可以存储节点资源池的信息,该节点资源池包括多个网络节点,这多个网络节点的权重和网络节点上部署的网络服务对象均记录在了节点对象绑定表中,节点资源池的信息包括:节点资源池包括的多个网络节点的标识信息、。控制节点可根据节点资源池的信息,周期性检测节点资源池包括的每个网络节点是否故障。若检测到第一网络节点故障,则可以执行步骤s13,根据节点对象绑定表包括的各个网络节点上部署的网络服务对象,确定第一网络节点上部署的第二网络服务对象。本申请实施例中,控制节点可以通过ping的方式检测每个网络节点是否故障,也可以通过检查每个网络节点的neutron代理服务状态,来检测每个网络节点是否故障。对此不做限定。在本申请的一个实施例中,为了进一步便于对openstack网络中的网络节点进行管理,避免网络服务对象部署在故障的网络节点上,节点对象绑定表还可以包括网络节点的健康状态,如表8所示。表8网络节点健康状态权重网络服务对象节点11yes2虚拟路由器11节点12yes3虚拟路由器12,虚拟负载均衡设备12节点13yes1虚拟负载均衡设备11表8中,健康状态为yes,表示网络节点的健康状态为健康,若网络节点故障,则该网络节点的健康状态为no。基于节点对象绑定表包括的各个网络节点的健康状态,若检测到第一网络节点故障,则将节点对象绑定表中第一网络节点的健康状态设置为故障。在将第一网络节点的健康状态设置为故障后,当检测到第一网络节点健康时,则将节点对象绑定表中第一网络节点的健康状态重新设置为健康。以便于仅需后续向该第一网络节点上部署网络服务对象,提高网络节点的利用率。例如,节点对象绑定表如表8所示。当检测到节点13故障时,控制节点将节点13的健康状态设置为no,如表9所示。表9网络节点健康状态权重网络服务对象节点11yes2虚拟路由器11节点12yes3虚拟路由器12,虚拟负载均衡设备12节点13no1虚拟负载均衡设备11之后,若检测到节点13恢复健康,则将节点13的健康状态设置为yes,如表8所示。基于节点对象绑定表包括的网络节点的健康状态,上述步骤s12具体可以为:根据节点对象绑定表包括的各个网络节点的权重和各个网络节点上部署的网络服务对象,在健康状态为健康的网络节点中,确定资源利用率最小的第一网络节点。上述步骤s14具体可以为:根据节点对象绑定表包括的各个网络节点的权重和各个网络节点上部署的网络服务对象,从除第一网络节点外健康状态为健康的网络节点中,确定资源利用率最小的第二网络节点。可见,本申请实施例中,基于节点对象绑定表包括的各个网络节点的健康状态,可以有效的将故障网络节点上的网络服务对象调度到健康的网络节点,进一步提高了openstack网络的高可用性。在本申请的一个实施例中,为了灵活地进行网络节点的动态资源扩展,提高网络节点的资源利用率,本申请实施例还提供了一种网络节点控制方法,参见图2,该方法可以包括如下步骤。步骤s21,检测节点资源池包括各个网络节点的总负载率是否大于第一预设阈值,并检测节点资源池包括各个网络节点的总负载率是否小于第二预设阈值。如果二者均为是否,则重新执行步骤s21。如果节点资源池包括各个网络节点的总负载率大于第一预设阈值,则执行步骤s22。如果节点资源池包括各个网络节点的总负载率小于第二预设阈值,则执行步骤s23。步骤s22,在节点资源池中增加第一预设数量个网络节点,并在节点对象绑定表中增加该第一预设数量个网络节点。步骤s23,删除节点资源池中的第二预设数量个网络节点,并删除节点对象绑定表中的该第二预设数量个网络节点。上述第一预设阈值和第二预设阈值、第一预设数量和第二预设数量可以根据实际需求进行设定。第一预设阈值大于第二预设阈值,第一预设数量可以与第二预设数量相同,也可以不同。本申请实施例中,控制节点可周期性检测节点资源池包括各个网络节点的总负载率是否大于第一预设阈值,并检测节点资源池包括各个网络节点的总负载率是否小于第二预设阈值。如果节点资源池包括多个网络节点的负载率大于第一预设阈值,则确定当前与控制节点连接的网络节点负载过大,不能满足服务需求,控制节点在节点资源池中增加第一预设数量个网络节点,并在节点对象绑定表中增加该第一预设数量个网络节点,对节点资源池进行扩容。如果节点资源池包括各个网络节点的总负载率小于第二预设阈值,则确定当前与控制节点连接的网络节点负载过小,资源利用率过低,控制节点删除节点资源池中的第二预设数量个网络节点,并删除节点对象绑定表中的该第二预设数量个网络节点,对节点资源池进行缩容,以节约网络节点资源。与上述网络服务对象的部署方法对应,本申请实施例还提供了一种网络服务对象的部署装置,参考图3,应用于控制节点,控制节点中存储了节点对象绑定表,节点对象绑定表包括:与控制节点连接的各个网络节点的权重和各个网络节点上部署的网络服务对象,该装置包括:第一确定单元31,用于根据节点对象绑定表包括的各个网络节点的权重和各个网络节点上部署的网络服务对象,确定资源利用率最小的第一网络节点;部署单元32,用于在第一网络节点上部署待部署的第一网络服务对象,并在节点对象绑定表中记录第一网络节点部署的第一网络服务对象;第二确定单元33,用于当第一网络节点故障时,根据节点对象绑定表包括的各个网络节点上部署的网络服务对象,确定第一网络节点上部署的第二网络服务对象,第二网络服务对象包括第一网络服务对象;第一确定单元31,还用于根据节点对象绑定表包括的各个网络节点的权重和各个网络节点上部署的网络服务对象,从除第一网络节点外的网络节点中,确定资源利用率最小的第二网络节点;部署单元32,还用于在第二网络节点上部署第二网络服务对象,并在节点对象绑定表中记录第二网络节点部署的第二网络服务对象,并删除节点对象绑定表中记录的第一网络节点部署的第二网络服务对象。一个可选的实施例中,第一确定单元31,具体可以用于:根据节点对象绑定表包括的各个网络节点上部署的网络服务对象,确定每个网络节点上部署的网络服务对象的数量;针对每个网络节点,计算该网络节点上部署的网络服务对象的数量与该网络节点的权重的比值,作为该网络节点的资源利用率;将资源利用率最小的网络节点作为第一网络节点。一个可选的实施例中,控制节点中存储了节点资源池的信息,节点资源池包括各个网络节点;第二确定单元33,具体可以用于:根据节点资源池的信息,周期性检测节点资源池包括的每个网络节点是否故障;若检测到第一网络节点故障,则根据节点对象绑定表包括的网络节点上部署的网络服务对象,确定第一网络节点上部署的第二网络服务对象。一个可选的实施例中,节点对象绑定表还包括网络节点的健康状态;上述网络服务对象的部署装置还可以包括:设置单元,用于若检测到第一网络节点故障,则将节点对象绑定表中第一网络节点的健康状态设置为故障;当检测到第一网络节点健康时,则将节点对象绑定表中第一网络节点的健康状态设置为健康;这种情况下,第一确定单元31,具体可以用于:根据节点对象绑定表包括的各个网络节点的权重和各个网络节点上部署的网络服务对象,在健康状态为健康的网络节点中,确定资源利用率最小的第一网络节点;根据节点对象绑定表包括的各个网络节点的权重和各个网络节点上部署的网络服务对象,从除第一网络节点外健康状态为健康的网络节点中,确定资源利用率最小的第二网络节点。一个可选的实施例中,上述网络服务对象的部署装置还可以包括:控制单元,用于当节点资源池包括的各个网络节点的总负载率大于第一预设阈值时,在节点资源池中增加第一预设数量个网络节点;当节点资源池包括的各个网络节点的总负载率小于第二预设阈值时,删除节点资源池中的第二预设数量个网络节点。本申请实施例提供的技术方案中,控制节点中维护节点对象绑定表。该节点对象绑定表中包括:与控制节点连接的各个网络节点的权重和各个网络节点上部署的网络服务对象。基于该节点对象绑定表,控制节点只需要在一个网络节点部署需要部署的网络服务对象。而当网络节点故障时,只需要基于节点对象绑定表,将该故障的网络节点上部署的网络服务对象转移至其他网络节点,实现了openstack网络的高可用性。本申请实施例中,基于节点对象绑定表,在实现openstack网络的高可用性的同时,并未采用一主多备的方式,只需要在一个网络节点部署需要部署的网络服务对象,进而降低了网络节点资源的浪费,简化了网络服务对象的部署实现,提高了定位维护的简易性,且有效预防openstack网络的集群脑裂问题,提高了虚拟化网络服务的可用性。与上述网络服务对象的部署方法对应,本申请实施例还提供了一种网络服务对象的部署装置,参考图4,包括均衡调度器41、健康检查器42和节点资源池43。节点对象绑定表包括网络节点的权重、网络节点上部署的网络服务对象和网络节点的健康状态。图4中,网络节点的长度表示网络节点的资源充沛程度,即网络节点的权重。均衡调度器41用于,根据节点对象绑定表包括的各个网络节点的权重和各个网络节点上部署的网络服务对象,从健康的网络节点中,确定资源利用率最小的第一网络节点;在第一网络节点上部署待部署的第一网络服务对象,并在节点对象绑定表中记录第一网络节点部署的第一网络服务对象;健康检查器42用于,周期性检测节点资源池43包括的每个网络节点是否故障;当检测到第一网络节点故障时,将节点对象绑定表中第一网络节点的健康状态设置为故障,并通知均衡调度器41第一网络节点故障;均衡调度器41还用于,当接收到健康检查器42通知的第一网络节点故障后,根据节点对象绑定表包括的各个网络节点上部署的网络服务对象,确定第一网络节点上部署的第二网络服务对象,第二网络服务对象包括第一网络服务对象;根据节点对象绑定表包括的各个网络节点的权重和各个网络节点上部署的网络服务对象,从健康的网络节点中,确定资源利用率最小的第二网络节点;在第二网络节点上部署第二网络服务对象,并在节点对象绑定表中记录第二网络节点部署的第二网络服务对象,并删除节点对象绑定表中记录的第一网络节点部署的第二网络服务对象。健康检查器42还用于,当检测到第一网络节点恢复健康时,将节点对象绑定表中第一网络节点的健康状态设置为健康。在本申请实施例中,上述均衡调度器41、健康检查器42和节点资源池43可以通过neutron插件的方式,来实现负载均衡的高可用性。本申请实施例中,基于节点对象绑定表,在实现openstack网络的高可用性的同时,并未采用一主多备的方式,只需要在一个网络节点部署需要部署的网络服务对象,进而降低了网络节点资源的浪费,简化了网络服务对象的部署实现,提高了定位维护的简易性,且有效预防openstack网络的集群脑裂问题,提高了虚拟化网络服务的可用性。与上述网络服务对象的部署方法对应,本申请实施例还提供了一种控制节点,如图5所示,包括处理器51和机器可读存储介质52,机器可读存储介质52存储有能够被处理器51执行的机器可执行程序。处理器51被机器可执行程序促使实现上述图1-图2所示的任一步骤。与上述网络服务对象的部署方法对应,本申请实施例还提供了一种机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行程序。处理器被机器可执行程序促使实现上述图1-图2所示的任一步骤。上述机器可读存储介质可以包括ram(randomaccessmemory,随机存取存储器),也可以包括nvm(non-volatilememory,非易失性存储器),例如至少一个磁盘存储器。另外,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。上述处理器可以是通用处理器,包括cpu(centralprocessingunit,中央处理器)、np(networkprocessor,网络处理器)等;还可以是dsp(digitalsignalprocessing,数字信号处理器)、asic(applicationspecificintegratedcircuit,专用集成电路)、fpga(field-programmablegatearray,现场可编程门阵列)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于网络服务对象的部署装置、控制节点、机器可读存储介质实施例而言,由于其基本相似于网络服务对象的部署方法实施例,所以描述的比较简单,相关之处参见网络服务对象的部署方法实施例的部分说明即可。以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。当前第1页1 2 3 
    技术特征:

    1.一种网络服务对象的部署方法,其特征在于,应用于控制节点,所述控制节点中存储了节点对象绑定表,所述节点对象绑定表包括:与所述控制节点连接的各个网络节点的权重和所述各个网络节点上部署的网络服务对象;所述方法包括:

    根据所述节点对象绑定表包括的所述各个网络节点的权重和所述各个网络节点上部署的网络服务对象,确定资源利用率最小的第一网络节点;

    在所述第一网络节点上部署待部署的第一网络服务对象,并在所述节点对象绑定表中记录所述第一网络节点部署的所述第一网络服务对象;

    当所述第一网络节点故障时,根据所述节点对象绑定表包括的所述各个网络节点上部署的网络服务对象,确定所述第一网络节点上部署的第二网络服务对象,所述第二网络服务对象包括所述第一网络服务对象;

    根据所述节点对象绑定表包括的所述各个网络节点的权重和所述各个网络节点上部署的网络服务对象,从除所述第一网络节点外的网络节点中,确定资源利用率最小的第二网络节点;

    在所述第二网络节点上部署所述第二网络服务对象,并在所述节点对象绑定表中记录所述第二网络节点部署的所述第二网络服务对象,并删除所述节点对象绑定表中记录的所述第一网络节点部署的所述第二网络服务对象。

    2.根据权利要求1所述的方法,其特征在于,所述根据所述节点对象绑定表包括的所述各个网络节点的权重和所述各个网络节点上部署的网络服务对象,确定资源利用率最小的第一网络节点的步骤,包括:

    根据所述节点对象绑定表包括的所述各个网络节点上部署的网络服务对象,确定每个网络节点上部署的网络服务对象的数量;

    针对每个网络节点,计算该网络节点上部署的网络服务对象的数量与该网络节点的权重的比值,作为该网络节点的资源利用率;

    将资源利用率最小的网络节点作为第一网络节点。

    3.根据权利要求1所述的方法,其特征在于,所述控制节点中存储了节点资源池的信息,所述节点资源池包括所述各个网络节点;

    所述当所述第一网络节点故障时,根据所述节点对象绑定表包括的所述各个网络节点上部署的网络服务对象,确定所述第一网络节点上部署的第二网络服务对象的步骤,包括:

    根据所述节点资源池的信息,周期性检测所述节点资源池包括的每个网络节点是否故障;

    若检测到所述第一网络节点故障,则根据所述节点对象绑定表包括的所述各个网络节点上部署的网络服务对象,确定所述第一网络节点上部署的第二网络服务对象。

    4.根据权利要求3所述的方法,其特征在于,所述节点对象绑定表还包括网络节点的健康状态;所述方法还包括:

    若检测到所述第一网络节点故障,则将所述节点对象绑定表中所述第一网络节点的健康状态设置为故障;当检测到所述第一网络节点健康时,则将所述节点对象绑定表中所述第一网络节点的健康状态设置为健康;

    所述根据所述节点对象绑定表包括的所述各个网络节点的权重和所述各个网络节点上部署的网络服务对象,确定资源利用率最小的第一网络节点的步骤,包括:

    根据所述节点对象绑定表包括的所述各个网络节点的权重和所述各个网络节点上部署的网络服务对象,在健康状态为健康的网络节点中,确定资源利用率最小的第一网络节点;

    所述根据所述节点对象绑定表包括的所述各个网络节点的权重和所述各个网络节点上部署的网络服务对象,从除所述第一网络节点外的网络节点中,确定资源利用率最小的第二网络节点的步骤,包括:

    根据所述节点对象绑定表包括的所述各个网络节点的权重和所述各个网络节点上部署的网络服务对象,从除所述第一网络节点外健康状态为健康的网络节点中,确定资源利用率最小的第二网络节点。

    5.根据权利要求3所述的方法,其特征在于,所述方法还包括:

    当所述节点资源池包括的所述各个网络节点的总负载率大于第一预设阈值时,在所述节点资源池中增加第一预设数量个网络节点,并在所述节点对象绑定表中增加所述第一预设数量个网络节点;

    当所述节点资源池包括的所述各个网络节点的总负载率小于第二预设阈值时,删除所述节点资源池中的第二预设数量个网络节点,并删除所述节点对象绑定表中的所述第二预设数量个网络节点。

    6.一种网络服务对象的部署装置,其特征在于,应用于控制节点,所述控制节点中存储了节点对象绑定表,所述节点对象绑定表包括:与所述控制节点连接的各个网络节点的权重和所述各个网络节点上部署的网络服务对象;所述装置包括:

    第一确定单元,用于根据所述节点对象绑定表包括的所述各个网络节点的权重和所述各个网络节点上部署的网络服务对象,确定资源利用率最小的第一网络节点;

    部署单元,用于在所述第一网络节点上部署待部署的第一网络服务对象,并在所述节点对象绑定表中记录所述第一网络节点部署的所述第一网络服务对象;

    第二确定单元,用于当所述第一网络节点故障时,根据所述节点对象绑定表包括的所述各个网络节点上部署的网络服务对象,确定所述第一网络节点上部署的第二网络服务对象,所述第二网络服务对象包括所述第一网络服务对象;

    所述第一确定单元,还用于根据所述节点对象绑定表包括的所述各个网络节点的权重和所述各个网络节点上部署的网络服务对象,从除所述第一网络节点外的网络节点中,确定资源利用率最小的第二网络节点;

    所述部署单元,还用于在所述第二网络节点上部署所述第二网络服务对象,并在所述节点对象绑定表中记录所述第二网络节点部署的所述第二网络服务对象,并删除所述节点对象绑定表中记录的所述第一网络节点部署的所述第二网络服务对象。

    7.根据权利要求6所述的装置,其特征在于,所述第一确定单元,具体用于:

    根据所述节点对象绑定表包括的所述各个网络节点上部署的网络服务对象,确定每个网络节点上部署的网络服务对象的数量;

    针对每个网络节点,计算该网络节点上部署的网络服务对象的数量与该网络节点的权重的比值,作为该网络节点的资源利用率;

    将资源利用率最小的网络节点作为第一网络节点。

    8.根据权利要求6所述的装置,其特征在于,所述控制节点中存储了节点资源池的信息,所述节点资源池包括所述各个网络节点;

    所述第二确定单元,具体用于:

    根据所述节点资源池的信息,周期性检测所述节点资源池包括的每个网络节点是否故障;

    若检测到所述第一网络节点故障,则根据所述节点对象绑定表包括的所述各个网络节点上部署的网络服务对象,确定所述第一网络节点上部署的第二网络服务对象。

    9.根据权利要求8所述的装置,其特征在于,所述节点对象绑定表还包括网络节点的健康状态;所述装置还包括:

    设置单元,用于若检测到所述第一网络节点故障,则将所述节点对象绑定表中所述第一网络节点的健康状态设置为故障;当检测到所述第一网络节点健康时,则将所述节点对象绑定表中所述第一网络节点的健康状态设置为健康;

    所述第一确定单元,具体用于:

    根据所述节点对象绑定表包括的所述各个网络节点的权重和所述各个网络节点上部署的网络服务对象,在健康状态为健康的网络节点中,确定资源利用率最小的第一网络节点;

    根据所述节点对象绑定表包括的所述各个网络节点的权重和所述各个网络节点上部署的网络服务对象,从除所述第一网络节点外健康状态为健康的网络节点中,确定资源利用率最小的第二网络节点。

    10.根据权利要求8所述的装置,其特征在于,所述装置还包括:

    控制单元,用于当所述节点资源池包括的所述各个网络节点的总负载率大于第一预设阈值时,在所述节点资源池中增加第一预设数量个网络节点;当所述节点资源池包括的所述各个网络节点的总负载率小于第二预设阈值时,删除所述节点资源池中的第二预设数量个网络节点。

    技术总结
    本申请实施例提供了一种网络服务对象的部署方法及装置,控制节点中存储了节点对象绑定表,节点对象绑定表包括网络节点的权重和网络节点上部署的网络服务对象,当第一网络节点故障时,根据节点对象绑定表包括的信息,确定第一网络节点上部署的第二网络服务对象;根据节点对象绑定表包括的信息,从除第一网络节点外的网络节点中,确定资源利用率最小的第二网络节点;在第二网络节点上部署第二网络服务对象。应用本申请实施例提供的技术方案,在实现OpenStack网络的高可用性的同时,降低网络节点资源的浪费,简化网络服务对象的部署实现,提高定位维护的简易性,且预防OpenStack网络的集群脑裂问题,提高虚拟化网络服务的可用性。

    技术研发人员:张锐
    受保护的技术使用者:新华三大数据技术有限公司
    技术研发日:2020.11.13
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-8699.html

    最新回复(0)