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

一种负载均衡的方法及装置与流程

2022-02-22 07:18:03 来源:中国专利 TAG:


1.本技术涉及计算机领域,特别是涉及一种负载均衡的方法及装置。


背景技术:

2.kubernetes(k8s)是一种开源容器编排系统,可以对容器集群进行管理,例如对容器集群进行自动化部署、自动扩缩容以及升级等。随着k8s的飞速发展,越来越多的应用程序通过k8s部署到容器集群中。
3.应用程序通过k8s部署到容器集群中之后,需要开放服务到容器集群外部,以便于容器集群外部的设备访问部署到容器集群中的应用程序。其中:前述利用k8s部署有应用程序的容器集群,也可以被称为“k8s应用集群”。
4.k8s应用集群外部的设备可以利用负载均衡器(loadbalancer)访问k8s应用集群中的应用程序。目前,k8s应用集群外部的设备利用loadbalancer访问k8s应用集群中的应用程序时,会存在k8s应用集群性能低下的问题。
5.因此,需要一种方案,可以解决或改善上述问题。


技术实现要素:

6.本技术所要解决的技术问题是k8s应用集群外部的设备利用loadbalancer访问k8s应用集群中的应用程序时、存在的k8s应用集群性能低下的问题,提供一种负载均衡的方法及装置。
7.第一方面,本技术实施例提供了一种负载均衡的方法,所述方法应用于kubernetes应用集群中,所述kubernetes应用集群包括多个节点,所述方法包括:
8.确定运行目标应用程序的节点;
9.将所述运行目标应用程序的节点注册于负载均衡器中,其中,所述负载均衡器用于对所述运行目标应用程序的节点进行访问调度。
10.在一种实现方式中,所述方法还包括:
11.将未运行有目标应用程序的第一预设个数节点,注册于所述负载均衡器中,以使所述负载均衡器中包括有运行目标应用程序的节点和未运行有目标应用程序的第一预设个数的节点的注册信息。
12.在一种实现方式中,所述将未运行有目标应用程序的第一预设个数节点,注册于所述负载均衡器中,包括:
13.确定所述多个节点的总个数;
14.根据所述多个节点的总个数确定所述第一预设个数;
15.从所述未运行有目标应用程序的节点中确定出所述第一预设个数节点;
16.将确定出的所述第一预设个数节点注册至所述负载均衡器中。
17.在一种实现方式中,所述方法还包括:
18.若新增节点,确定所述新增的节点是否运行所述目标应用程序;
19.若所述新增的节点运行所述目标应用程序,则将所述新增的节点注册至所述负载均衡器中;
20.若所述新增的节点不运行所述目标应用程序,则不执行将所述新增的节点注册至所述负载均衡器中的步骤。
21.在一种实现方式中,所述方法还包括:
22.从所述多个节点中确定出待删除节点;
23.确定所述待删除节点是否运行所述目标应用程序;
24.若所述被删除的节点运行所述目标应用程序,则将所述被删除的节点从所述负载均衡器中解除注册,以删除所待删除节点。
25.在一种实现方式中,所述方法还包括:
26.从未注册至所述负载均衡器中的节点中确定目标节点;
27.将所述待删除节点中运行的目标应用程度被调度至所述目标节点上运行。
28.在一种实现方式中,所述方法还包括:
29.将所述目标节点注册至所述负载均衡器中。
30.在一种实现方式中,所述方法还包括:
31.从所述负载均衡器中注册的所述未运行有目标应用程序的第一预设个数节点中确定出目标节点;
32.将所述待删除节点中运行的目标应用程序调度至所述目标节点上。
33.在一种实现方式中,在确定运行目标应用程序的节点之前,所述方法还包括:
34.接收请求消息,所述请求消息用于请求获得访问所述目标应用程序的权限。
35.在一种实现方式中,
36.若所述多个节点的总个数小于第二预设个数,则注册至所述负载均衡器中的节点数量,等于所述kubernetes应用集群包括的节点数量;
37.若所述kubernetes应用集群包括的节点数量大于或者等于所述第二预设个数,则注册至所述负载均衡器中的节点数量,大于或者等于所述第二预设个数。
38.第二方面,本技术实施例提供了一种负载均衡的装置,所述装置应用于kubernetes应用集群中,所述kubernetes应用集群包括多个节点,所述装置包括:
39.第一确定单元,用于确定运行目标应用程序的节点;
40.第一注册单元,用于将所述运行目标应用程序的节点注册于负载均衡器中,其中,所述负载均衡器用于对所述运行目标应用程序的节点进行访问调度。
41.在一种实现方式中,所述装置还包括:
42.第二注册单元,用于将未运行有目标应用程序的第一预设个数节点,注册于所述负载均衡器中,以使所述负载均衡器中包括有运行目标应用程序的节点和未运行有目标应用程序的第一预设个数的节点的注册信息。
43.在一种实现方式中,所述第二注册单元,用于:
44.确定所述多个节点的总个数;
45.根据所述多个节点的总个数确定所述第一预设个数;
46.从所述未运行有目标应用程序的节点中确定出所述第一预设个数节点;
47.将确定出的所述第一预设个数节点注册至所述负载均衡器中。
48.在一种实现方式中,所述装置还包括:
49.第二确定单元,用于若新增节点,确定所述新增的节点是否运行所述目标应用程序;
50.第三注册单元,用于:
51.若所述新增的节点运行所述目标应用程序,则将所述新增的节点注册至所述负载均衡器中;
52.若所述新增的节点不运行所述目标应用程序,则不执行将所述新增的节点注册至所述负载均衡器中的步骤。
53.在一种实现方式中,所述装置还包括:
54.第三确定单元,用于从所述多个节点中确定出待删除节点;
55.第四确定单元,用于确定所述待删除节点是否运行所述目标应用程序;
56.解除注册单元,用于若所述被删除的节点运行所述目标应用程序,则将所述被删除的节点从所述负载均衡器中解除注册,以删除所待删除节点。
57.在一种实现方式中,所述装置还包括:
58.第五确定单元,用于从未注册至所述负载均衡器中的节点中确定目标节点;
59.第一调度单元,用于将所述待删除节点中运行的目标应用程度被调度至所述目标节点上运行。
60.在一种实现方式中,所述装置还包括:
61.第四注册单元,用于将所述目标节点注册至所述负载均衡器中。
62.在一种实现方式中,所述装置还包括:
63.第六确定单元,用于从所述负载均衡器中注册的所述未运行有目标应用程序的第一预设个数节点中确定出目标节点;
64.第二调度单元,用于将所述待删除节点中运行的目标应用程序调度至所述目标节点上。
65.在一种实现方式中,所述装置还包括:
66.接收单元,用于在确定运行目标应用程序的节点之前,接收请求消息,所述请求消息用于请求获得访问所述目标应用程序的权限。
67.在一种实现方式中,
68.若所述多个节点的总个数小于第二预设个数,则注册至所述负载均衡器中的节点数量,等于所述kubernetes应用集群包括的节点数量;
69.若所述kubernetes应用集群包括的节点数量大于或者等于所述第二预设个数,则注册至所述负载均衡器中的节点数量,大于或者等于所述第二预设个数。
70.第三方面,本技术实施例提供了一种设备,所述设备包括:处理器以及存储器:
71.所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
72.所述处理器用于根据所述计算机程序,执行以上第一方面任一项所述的方法。
73.第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行以上第一方面任一项所述的方法。
74.与现有技术相比,本技术实施例具有以下优点:
75.在本技术实施例中,k8s应用集群外部的设备利用负载均衡器访问k8s应用集群中
的应用程序时,可以不必将k8s应用集群中的所有节点均注册至该负载均衡器中,而是将部分节点注册制负载均衡器中,该部分节点包括运行目标应用程序的节点。这样一来,由于该负载均衡器注册了运行目标应用程序的节点,因此,k8s应用集群外部的设备即可利用负载均衡器访问目标程序。在本技术实施例中,由于注册至负载均衡器中的节点数量变少了,因此,调用iaas接口的频率也相应降低了。而且,由于并不是将所有的节点均注册至负载均衡器中,因此,当k8s应用集群新增或者删除节点时,也可以不必对该负载均衡器中注册的节点进行相应的操作,从而减少了对iaas接口的调用。由此可见,利用本技术实施例的方案,可以减少对iaas接口的调用,从而减少由于调用iaas接口带来的资源消耗,从而提升k8s应用集群的整体性能。
附图说明
76.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
77.图1为本技术实施例提供的一种k8s应用集群的结构示意图;
78.图2为本技术实施例提供的一种负载均衡的方法的流程示意图;
79.图3为本技术实施例提供的一种负载均衡的方法的流程示意图;
80.图4为本技术实施例提供的一种负载均衡的装置的结构示意图;
81.图5为本技术实施例提供的一种设备的结构示意图。
具体实施方式
82.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
83.本技术的发明人经过研究发现,传统技术中,k8s应用集群外部的设备可以利用负载均衡器访问k8s应用集群中的应用程序。具体地,k8s应用集群可以为第一设备创建负载均衡器,并且将k8s应用集群中的所有节点均注册至该负载均衡器中,这样一来,k8s应用集群外部的设备即可利用该负载均衡器访问k8s应用集群中的目标应用程序。
84.但是,对于这种方式,一旦k8s应用集群中新增节点或者删除节点,则需要对负载均衡器中注册的节点进行对应的操作。具体地,当k8s应用集群新增节点时,需要将该新增的节点注册至负载均衡器中。当k8s应用集群删除节点时,则需要对该节点执行解除注册的操作。
85.需要说明的是,以上提及的“注册”,指的是将节点的相关资源信息,例如节点的对外接口等记录至负载均衡器中,以使得负载均衡器可以调用该节点的资源,从而实现对节点的访问。相应的,“解除注册”指的是将节点的相关信息从负载均衡器中删除。上述“注册”以及“解除注册”的过程都需要调用iaas接口,而调用iaas接口需要占用k8s应用集群的资源。
86.通过以上描述可知,在传统技术中,一旦k8s应用集群中新增节点或者删除节点,则需要调用iaas接口将新增节点注册至负载均衡器中,并将删除的节点解除注册,从而保证k8s应用集群中的所有节点均注册至k8s应用集群中。而这将会导致iaas接口被频繁调用,从而使得占用大量k8s应用集群的资源,从而使得k8s应用集群性能低下。
87.为了解决上述问题,本技术实施例提供了一种负载均衡的方法,以下结合附图介绍该方法。
88.示例性方法
89.为方便理解,首先对k8s应用集群进行简单介绍。
90.在k8s应用集群中,所有的应用程序都在豆荚(pod)中运行。k8s应用集群可以包括多个豆荚(pod),一个pod中可以包括一个或者多个应用程序。pod可以运行在节点上,此处提及的节点指的是物理设备,例如,节点可以是服务器或者终端设备。pod具备对外交互的接口(port),k8s应用集群外的设备可以利用该接口访问pod及运行在pod上的应用程序。
91.参见图1,图1为本技术实施例提供的一种k8s应用集群的结构示意图。
92.如图1所示,k8s应用集群100包括2个pod,分别是pod 110和pod 120。pod 110上运行有应用程序111和应用程序112,pod 110还具备接口113。pod120上运行有应用程序121和应用程序122,pod 110还具备接口123。k8s应用集群100包括节点130和节点140。pod 110运行在节点130上,pod 120运行在节点140上。k8s应用集群外的设备可以利用接口113访问pod 110,从而访问pod 110上运行的应用程序111和应用程序112。k8s应用集群外的设备可以利用接口123访问pod 120,从而访问pod 120上运行的应用程序121和应用程序122。
93.需要说明的是,图1只是为了方便理解而示出,其并不构成对本技术实施例的限定。实际上,k8s应用集群中包括的节点数量不限于图1所示的两个,k8s应用集群中包括的节点数量可以很多,例如高达几十个甚至上百个。k8s应用集群中包括的pod的数量也不限于图1所示的两个。另外,虽然图1所示的结构示意图中,一个节点上运行一个pod,但是在实际中,一个节点上也可以运行多个pod。
94.参见图2,该图为本技术实施例提供的一种负载均衡的方法的流程示意图。
95.图2所示的负载均衡的方法,可以由k8s应用集群执行,具体地,可以由k8s应用集群中的服务端(service)执行,其中,service是k8s应用集群中的一个功能模块。图2所示的方法,例如可以通过如下s201-s202实现。
96.s201:k8s应用集群确定运行目标应用程序的节点。
97.通过上文对图1的描述可知,目标应用程序可以运行在k8s应用集群的pod中,运行目标应用程序的节点,即为运行目标应用程序所在的pod的节点。
98.在本技术实施例中,k8s应用集群可以利用endpoint来确定运行目标应用程序的节点。其中,endpoint是k8s应用集群中的一个资源对象,endpoint可以知晓k8s应用集群中的pod运行在哪个节点上。
99.此处提及的目标应用程序,可以是部署在k8s应用集群中的应用程序中的其中一个或者多个应用程序。
100.s202:将所述运行目标应用程序的节点注册于负载均衡器中,其中,所述负载均衡器用于对所述运行目标应用程序的节点进行访问调度。
101.在本技术实施例中,为了避免一旦k8s应用集群新增节点或者删除节点则需要对
负载均衡器中注册的节点进行对应的操作,从而避免频繁调用iaas接口的问题,在本技术实施例中,可以不必将k8s应用集群中的所有节点均注册至该负载均衡器中,而是将部分节点注册制负载均衡器中,该部分节点包括运行目标应用程序的节点。这样一来,由于该负载均衡器注册了运行目标应用程序的节点,因此,第一设备即可利用负载均衡器访问目标程序。而且,由于注册至负载均衡器中的节点数量变少了,因此,调用iaas接口的频率也相应降低了。另外,由于并不是将所有的节点均注册至负载均衡器中,因此,当k8s应用集群新增或者删除节点时,也可以不必对该负载均衡器中注册的节点进行相应的操作,从而减少了对iaas接口的调用。
102.在本技术实施例中,k8s应用集群包括的节点数量,大于运行目标应用程序的节点的数量。换言之,运行目标应用程序的节点,是k8s应用集群中包括的节点的一部分。
103.在本技术实施例中,前述注册至负载均衡器中的节点,可以仅包括运行有目标应用程序的节点,而不包括其它节点。
104.在一些实施例中,前述注册至负载均衡器中的节点,除了包括运行有目标应用程序的节点之外,也可以还包括若干个未运行目标应用程序的节点。作为一个示例,可以将未运行有目标应用程序的第一预设个数节点,注册于所述负载均衡器中。这样一来,可以使得所述负载均衡器中包括运行目标应用程序的节点和未运行有目标应用程序的第一预设个数节点的注册信息。这样一来,k8s应用集群外部的设备除了可以利用该负载均衡器访问运行了目标应用程序的节点之外,还可以访问节点。从而使得k8s应用集群外部的设备可以利用该负载均衡器访问k8s应用集群中的更多节点。
105.在本技术实施例中,将为运行有目标应用程序的第一预设个数节点注册于所述辅助均衡器中在具体实现时,可以首先确定所述k8s应用集群中包括的节点的总个数,然后根据所述总个数确定第一预设个数。确定第一预设个数之后,可以从未运行所述目标应用程序的节点中确定出所述第一预设个数节点,并将所述第一预设个数节点注册至所述负载均衡器中。关于第一预设个数的具体取值,可以根据实际情况确定,本技术实施例不做具体限定。
106.关于第一预设个数,需要说明的是,在本技术实施例中,为了保证所述负载均衡器所提供的访问节点的能力,在本技术实施例中,注册至所述辅助均衡器中的节点的数量大于或者等于第二预设个数。其中,第二预设个数是一个预先确定的值,作为一个示例,第二预设个数可以等于5。换言之,负载均衡器至少能够提供访问5个节点的能力。
107.在本技术实施例中,k8s应用集群中包括的节点的总个数可能小于第二预设个数,也可能大于或者等于第二预设个数。
108.当k8s应用集群中包括的节点的总个数小于第二预设个数时,为了使得所述负载均衡器尽可能提供更多的访问节点的能力,则注册至所述负载均衡器中的节点数量,等于所述kubernetes应用集群包括的节点数量。举例说明,第二预设个数为5,k8s应用集群中包括的节点的总个数为4,则注册至所述负载均衡器中的节点数量为4。
109.当k8s应用集群中包括的节点的总个数大于或者等于第二预设个数时,注册至所述负载均衡器中的节点数量,大于或者等于所述第二预设个数。对于这种情况,注册至负载均衡器中的节点的数量,可以根据所述k8s应用集群中包括的节点的总个数确定。例如,注册至负载均衡器中的节点的数量可以为k*(k8s应用集群中包括的节点的总个数)和第二预
设个数中的较大值。举例说明,第二预设个数为5,k8s应用集群中包括的节点的总个数为60,则注册至负载均衡器中的节点的数量可以为6。又如,注册至负载均衡器中的节点的数量可以为k*(k8s应用集群中包括的节点的总个数)和第二预设个数中的较大值。举例说明,第二预设个数为5,k8s应用集群中包括的节点的总个数为40,则注册至负载均衡器中的节点的数量可以为5。
110.当然,在一些实施例中,为了兼顾k8s应用集群的整体性能和/或负载均衡器提供的访问节点的能力,可以限定注册至负载均衡器中的节点的数量,例如可以限制注册至负载均衡器中的节点的数量在一定的范围内,例如,可以限定注册至负载均衡器中的节点的数量大于等于5,假设运行有目标应用程序的节点数量为2,则可以另外选择其它3个节点注册至负载均衡器中。又如,可以限定注册至负载均衡器中的节点的数量小于或者等于8,此处不再一一列举说明。
111.在本技术实施例的一种实现方式中,若k8s应用集群新增节点,则k8s应用集群可以进一步判断该新增的节点是否运行目标应用程序,具体地,k8s应用集群可以利用endpoint确定新增的节点是否运行目标应用程序。若新增节点运行目标应用程序,则k8s应用集群可以将该新增的节点注册至负载均衡器中,若新增节点不运行目标应用程序,则k8s应用集群可以不将新增的节点注册至负载均衡器中。
112.由此可见,在本技术实施例中,不是如传统技术中那样,一旦k8s应用集群新增节点,则需要将新增的节点注册至负载均衡器中,而是在该新增节点运行目标应用程序时才将该新增节点注册至负载均衡器中。与传统技术相比,本技术实施例的方案,可以减少对iaas接口的调用,从而提升k8s应用集群的整体性能。
113.在本技术实施例的一种实现方式中,k8s应用集群删除节点时,则k8s应用集群首先可以确定出待删除的节点,而后可以进一步判断该待删除的节点是否运行目标应用程序。如果是,则k8s应用集群可以对该待删除的节点解除注册,即将该待删除节点的相关资源信息从负载均衡器中解除,从而删除该待删除节点。
114.由此可见,由于在本技术实施例中,不是将k8s应用集群中的所有节点均注册至负载均衡器中,因此,当k8s应用集群删除待删除节点时,也不是必须要执行前述解除注册的步骤。因为,若该待删除的节点未运行目标应用程序,则该待删除的节点原本可能就没有被注册至负载均衡器中,也就无需执行前述解除注册的步骤了。因此,与传统技术相比,本技术实施例的方案,可以减少对iaas接口的调用,从而提升k8s应用集群的整体性能。
115.在本技术实施例中,若前述待删除节点是运行目标应用程序的节点,则当该待删除节点被删除之后,为了使得目标应用程序正常运行。在一个实施例中,可以从未注册至所述辅助均衡器中的节点中确定目标节点,并将目标应用程序调度至目标节点上运行。具体地,目标应用程序被调度至目标节点上运行,指的是运行目标应用程序的pod会被重新调度到目标节点上运行。对于这种情况,为了保证k8s应用集群外部的设备可以利用该负载均衡器访问目标应用程序,还可以将目标节点注册至负载均衡器中。
116.需要说明的是,在本技术实施例中,可以先将目标应用程序调度至目标节点上运行,再将目标节点注册至负载均衡器中,也可以先将目标节点注册至负载均衡器中,再将目标应用程序调度至目标节点上运行,本技术实施例不做具体限定。
117.如前文,前述注册至负载均衡器中的节点,除了包括运行有目标应用程序的节点
之外,也可以还包括第一预设个数未运行目标应用程序的节点。因此,在本技术实施例的又一种实现方式中,可以从所述负载均衡器中注册的所述未运行有目标应用程序的第一预设个数节点中确定出目标节点,并将目标应用程序调度至所述目标节点上运行。这样一来,即使运行目标应用程序的节点被删除,目标应用程序也可以正常运行,相应的,由于该目标节点已经被注册至负载均衡器中,故而k8s应用集群外部的设备可以利用该负载均衡器正常访问目标应用程序。
118.在本技术实施例的一种实现方式中,在k8s应用集群外部的设备首次请求获得访问目标应用程序的权限时,k8s应用集群外部的设备可以向k8s应用集群发送请求消息,该请求消息用于请求获得访问目标应用程序的权限。对于这种情况,k8s应用集群接收到该请求消息之后,可以触发图2所示的负载均衡的方法。本技术实施例不具体限定请求消息中包括的具体内容,作为一种实例,请求消息中例如可以包括目标应用程序的标识。
119.需要说明的是,k8s应用集群在运行的过程中可以周期性执行以上方法实施例提供的方法。
120.通过以上描述可知,利用本技术实施例的方案,可以减少对iaas接口的调用,从而提升k8s应用集群的整体性能。
121.以下结合图3所示的示意图,介绍本技术实施例提供的负载均衡的方法。如图3所示,k8s应用集群200包括3个节点(英文:node),分别为节点210、节点220和节点230。节点210包括接口211和pod 212,节点220包括接口221和pod 222,节点230包括接口231和pod 232。k8s应用集群200还包括服务端240和负载均衡器250。关于pod和接口,可以参考上文对于图1的描述部分,此处不再详述。
122.在图3所示的场景中,服务端240可以用于执行以上实施例提供的负载均衡方法。在一个示例中,服务端240可以创建负载均衡器250。为了尽可能提升k8s应用集群200的整体性能,服务端240可以执行以上实施例提供的负载均衡方法。在一个示例中,服务端240可以确定运行目标应用程序的节点,并将运行目标应用程序的节点注册于负载均衡器250中。当然,负载均衡器240还可以用于执行以上负载均衡的方法的其它步骤,此处不再一一列举说明。
123.需要说明的是,图3只是为了方便理解而示出,在实际中,k8s应用集群包括的节点的数量不限于图3所示的3个,相应的,负载均衡器250能够进行访问调度的节点的数量也不限于图3所示的节点211、节点212和节点213。
124.示例性设备
125.基于以上实施例提供的方法,本技术实施例还提供了一种装置,以下结合附图介绍该装置。
126.参见图4,该图为本技术实施例提供的一种负载均衡的装置的结构示意图。图4所示的装置400应用于kubernetes应用集群中,所述kubernetes应用集群包括多个节点。所述装置400例如可以具体包括:第一确定单元401和第一注册单元402。
127.第一确定单元401,用于确定运行目标应用程序的节点;
128.第一注册单元402,用于将所述运行目标应用程序的节点注册于负载均衡器中,其中,所述负载均衡器用于对所述运行目标应用程序的节点进行访问调度。
129.在一种实现方式中,所述装置还包括:
130.第二注册单元,用于将未运行有目标应用程序的第一预设个数节点,注册于所述负载均衡器中,以使所述负载均衡器中包括有运行目标应用程序的节点和未运行有目标应用程序的第一预设个数的节点的注册信息。
131.在一种实现方式中,所述第二注册单元,用于:
132.确定所述多个节点的总个数;
133.根据所述多个节点的总个数确定所述第一预设个数;
134.从所述未运行有目标应用程序的节点中确定出所述第一预设个数节点;
135.将确定出的所述第一预设个数节点注册至所述负载均衡器中。
136.在一种实现方式中,所述装置还包括:
137.第二确定单元,用于若新增节点,确定所述新增的节点是否运行所述目标应用程序;
138.第三注册单元,用于:
139.若所述新增的节点运行所述目标应用程序,则将所述新增的节点注册至所述负载均衡器中;
140.若所述新增的节点不运行所述目标应用程序,则不执行将所述新增的节点注册至所述负载均衡器中的步骤。
141.在一种实现方式中,所述装置还包括:
142.第三确定单元,用于从所述多个节点中确定出待删除节点;
143.第四确定单元,用于确定所述待删除节点是否运行所述目标应用程序;
144.解除注册单元,用于若所述被删除的节点运行所述目标应用程序,则将所述被删除的节点从所述负载均衡器中解除注册,以删除所待删除节点。
145.在一种实现方式中,所述装置还包括:
146.第五确定单元,用于从未注册至所述负载均衡器中的节点中确定目标节点;
147.第一调度单元,用于将所述待删除节点中运行的目标应用程度被调度至所述目标节点上运行。
148.在一种实现方式中,所述装置还包括:
149.第四注册单元,用于将所述目标节点注册至所述负载均衡器中。
150.在一种实现方式中,所述装置还包括:
151.第六确定单元,用于从所述负载均衡器中注册的所述未运行有目标应用程序的第一预设个数节点中确定出目标节点;
152.第二调度单元,用于将所述待删除节点中运行的目标应用程序调度至所述目标节点上。
153.在一种实现方式中,所述装置还包括:
154.接收单元,用于在确定运行目标应用程序的节点之前,接收请求消息,所述请求消息用于请求获得访问所述目标应用程序的权限。
155.在一种实现方式中,
156.若所述多个节点的总个数小于第二预设个数,则注册至所述负载均衡器中的节点数量,等于所述kubernetes应用集群包括的节点数量;
157.若所述kubernetes应用集群包括的节点数量大于或者等于所述第二预设个数,则
注册至所述负载均衡器中的节点数量,大于或者等于所述第二预设个数。
158.由于所述装置400是与以上方法实施例提供的方法对应的装置,所述装置400的各个单元的具体实现,均与以上方法实施例为同一构思,因此,关于所述装置400的各个单元的具体实现,可以参考以上方法实施例的相关描述部分,此处不再赘述。
159.本技术实施例还提供了一种设备,该设备可以用于执行以上实施例提供的负载均衡的方法,接下来对该设备进行简单介绍。
160.参见图5,该图为本技术实施例提供的一种设备的结构示意图。
161.如图5所示,该设备包括处理器50和存储器51,该存储器51存储有能够被处理器50执行的机器可执行指令,该处理器50执行机器可执行指令以实现上述负载均衡的方法。
162.进一步地,图5所示的设备还包括总线52和通信接口53,处理器50、通信接口53和存储器51通过总线52连接。
163.其中,存储器51可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口53(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线52可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
164.处理器50可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器50中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器50可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器51,处理器50读取存储器51中的信息,结合其硬件完成前述实施例的方法的步骤。
165.本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行以上方法实施例提供的负载均衡的方法。
166.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求指出。
167.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制
168.以上所述仅为本技术的较佳实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献