CN116886777B - 一种容器编排平台服务流量分配方法和装置 - Google Patents
一种容器编排平台服务流量分配方法和装置 Download PDFInfo
- Publication number
- CN116886777B CN116886777B CN202311141835.4A CN202311141835A CN116886777B CN 116886777 B CN116886777 B CN 116886777B CN 202311141835 A CN202311141835 A CN 202311141835A CN 116886777 B CN116886777 B CN 116886777B
- Authority
- CN
- China
- Prior art keywords
- service
- specific gravity
- services
- state value
- virtual router
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000009826 distribution Methods 0.000 title claims abstract description 30
- 230000005484 gravity Effects 0.000 claims abstract description 151
- 238000003860 storage Methods 0.000 claims abstract description 15
- 230000004044 response Effects 0.000 claims description 68
- 230000008859 change Effects 0.000 claims description 52
- 238000013507 mapping Methods 0.000 claims description 41
- 238000004590 computer program Methods 0.000 claims description 17
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000001186 cumulative effect Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1019—Random or heuristic server selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种容器编排平台服务流量分配方法和装置,涉及计算机系统及存储技术领域;包括:在容器编排平台中创建虚拟路由器资源,所述虚拟路由器资源中设置多种服务对应的流量比重;接收服务请求;基于所述多种服务对应的流量比重,确定所述服务请求在所述多种服务中对应的随机重定向路由;将所述服务请求分配至所述随机重定向路由。通过本发明实施例可以解决容器编排平台集群中流量自定义分配的场景,通过配置流量比重的方式来自动化的处理流量分配场景,解决了容器编排平台中服务流量分配的痛点问题。
Description
技术领域
本发明涉及计算机系统及存储生产技术领域,特别是涉及一种容器编排平台服务流量分配方法、一种容器编排平台服务流量分配装置、一种电子设备和一种存储介质。
背景技术
目前,SaaS(Software-as-a-Service)服务开始蓬勃发展,提供的服务是运营商运行在云计算基础设施上的应用程序,用户可以在各种设备上通过客户端界面访问。每一次的迭代升级,都会有大量的技术创新,并创造出很多新的使用场景需求,不断推动的云技术的发展。
但是目前,依托于kubernetes(容器编排平台)优秀的特性,可以对服务进行平滑滚动升级,同时可以很好的应对节点宕机等意外场景。然而,kubernetes对于访问流量控制的并没有原生的支持,只能通过service(网络服务)进行单一的负载均衡处理。对于一些需要将流量切分的场景并不支持。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种容器编排平台服务流量分配方法、一种容器编排平台服务流量分配装置、一种电子设备和一种存储介质。
为了解决上述问题,在本发明的第一个方面,本发明实施例公开了一种容器编排平台服务流量分配方法,包括:
在容器编排平台中创建虚拟路由器资源,所述虚拟路由器资源中设置多种服务对应的流量比重;
接收服务请求;
基于所述多种服务对应的流量比重,确定所述服务请求在所述多种服务中对应的随机重定向路由;
将所述服务请求分配至所述随机重定向路由。
可选地,所述方法还包括:
监听所述虚拟路由器资源的事件;
基于所述事件的类型,创建所述虚拟路由器资源的路由服务,所述虚拟路由器资源的路由服务用于代理所述容器编排平台的网络服务。
可选地,所述方法还包括:
响应于所述容器编排平台的服务变化,重计算所述多种服务对应的流量比重,生成更新比重;
基于所述更新比重更新所述多种服务对应的流量比重。
可选地,所述在容器编排平台中创建虚拟路由器资源的步骤包括:
定义所述虚拟路由器资源的规范属性;
根据预设创建数据,对所述规范属性进行赋值,生成所述虚拟路由器资源。
可选地,所述在容器编排平台中创建虚拟路由器资源的步骤还包括:
创建所述虚拟路由器资源的控制器,所述控制器用于管理所述虚拟路由器资源。
可选地,所述定义所述虚拟路由器资源的规范属性的步骤包括:
在所述规范属性中创建路由器属性,所述路由器属性与所述流量比重对应。
可选地,所述根据预设创建数据,对所述规范属性进行赋值,生成所述虚拟路由器资源的步骤包括:
根据预设创建数据,对所述路由器属性进行填充生成所述多种服务及其对应的流量比重;
约束所述流量比重之和为一。
可选地,所述基于所述多种服务对应的流量比重,确定所述服务请求在所述多种服务中对应的随机重定向路由的步骤包括:
依据所述多种服务对应的流量比重,转换为多个轮盘概率,每个轮盘概率对应不同的服务路由;
依据所述多个轮盘概率,确定目标轮盘概率;
确定所述目标轮盘概率对应的服务路由为所述随机重定向路由。
可选地,所述依据所述多种服务对应的流量比重,转换为多个轮盘概率的步骤包括:
将所述多种服务逐一转换为所述多个轮盘概率。
可选地,所述依据所述多个轮盘概率,确定目标轮盘概率的步骤包括:
将所述多个轮盘概率转换为多个累计概率;
将所述多个累计概率映射至对应的区间映射;
生成随机数;
基于所述随机数和所述区间映射确定目标区间映射;
将目标区间映射对应的轮盘概率为所述目标轮盘概率。
可选地,所述随机数的生成范围与所述区间映射的映射范围匹配;所述基于所述随机数和所述区间映射确定目标区间映射的步骤包括:
确定所述随机数在所述区间映射中的位置;
将包含所述位置的区间映射确定为所述目标区间映射。
可选地,所述基于所述事件的类型,创建所述虚拟路由器资源的路由服务的步骤包括:
解析所述事件,生成实例状态,所述实例状态具有第一状态值;
判断所述第一状态值是否为空值;
响应于所述第一状态值为空值,创建所述虚拟路由器资源的容器实例,以创建所述虚拟路由器资源的路由服务;
响应于所述第一状态值不为空值,执行所述第一状态值对应的操作。
可选地,所述执行所述第一状态值对应的操作的步骤包括:
判断所述第一状态值是否为预设第一运行状态值;
响应于所述第一状态值为所述预设第一运行状态值,校验所述容器编排平台的服务变化数据;
响应于所述第一状态值不为所述预设第一运行状态值,检测所述虚拟路由器资源的容器实例的第二状态值。
可选地,所述检测所述虚拟路由器资源的容器实例的第二状态值的步骤包括:
判断所述第二状态值是否为预设第二运行状态值;
响应于所述第二状态值为所述预设第二运行状态值,将所述第一状态值设置为所述预设第一运行状态值;
响应于所述第二状态值不为所述预设第二运行状态值,执行所述校验所述容器编排平台的服务变化数据的步骤。
可选地,所述方法还包括:
响应于所述容器编排平台的服务变化数据与上一次的容器编排平台的服务变化数据不相同时,确定所述容器编排平台的服务变化。
可选地,所述响应于所述容器编排平台的服务变化,重计算所述多种服务对应的流量比重,生成更新比重的步骤包括:
响应于所述容器编排平台的服务减少,从所述多种服务中确定剩余服务,所述剩余服务对应有总流量比重;
针对所述剩余服务中的任一服务,计算其流量比重与所述总流量比重的比值,将所述比值确定为所述更新比重。
可选地,所述响应于所述容器编排平台的服务变化,重计算所述多种服务对应的流量比重,生成更新比重的步骤包括:
响应于所述容器编排平台的服务增加,将增加的服务对应的流量比重设置为零;
将所述增加的服务对应的流量比重与所述多种服务对应的流量比重进行结合,生成所述更新比重。
在本发明的第二个方面,本发明实施例还公开了一种容器编排平台服务流量分配装置,包括:
第一创建模块,用于在容器编排平台中创建虚拟路由器资源,所述虚拟路由器资源中设置多种服务对应的流量比重;
接收模块,用于接收服务请求;
请求流量确定模块,用于依据所述服务请求确定请求流量;
重定向模块,用于基于所述多种服务对应的流量比重,确定所述服务请求在所述多种服务中对应的随机重定向路由;
响应模块,用于将所述服务请求分配至所述随机重定向路由。
在本发明的第三个方面,本发明实施例公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的容器编排平台服务流量分配方法的步骤。
在本发明的第四个方面,本发明实施例公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的容器编排平台服务流量分配方法的步骤。
本发明实施例包括以下优点:
本发明实施例通过在容器编排平台中创建虚拟路由器资源,所述虚拟路由器资源中设置多种服务对应的流量比重;接收服务请求;基于所述多种服务对应的流量比重,确定所述服务请求在所述多种服务中对应的随机重定向路由;将所述服务请求分配至所述随机重定向路由;通过创建虚拟路由器资源,依据虚拟路由器资源中服务对应的流量比重,配置不同的分配比重,并且进行随机重定向路由,将外部流量请求重定向到被选取的底层真实服务,可以自动化的处理流量分配场景,解决了容器编排平台中服务流量分配的痛点问题。
附图说明
图1是本发明的一种容器编排平台服务流量分配方法实施例的步骤流程图;
图2是本发明的另一种容器编排平台服务流量分配方法实施例的步骤流程图;
图3是本发明的一种容器编排平台服务流量分配方法示例的监听事件创建虚拟路由器资源的路由服务的步骤流程图;
图4是本发明的一种容器编排平台服务流量分配方法示例的服务的流量比重示意图;
图5是本发明的一种容器编排平台服务流量分配方法示例的服务的随机重定向路由确定示意图;
图6是是本发明的一种容器编排平台服务流量分配方法示例的流量比重重算的步骤流程图;
图7是本发明的一种容器编排平台服务流量分配方法示例的示意图;
图8是本发明的一种容器编排平台服务流量分配装置实施例的结构框图;
图9是本发明实施例提供的一种电子设备的结构框图;
图10是本发明实施例提供的一种存储介质的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种容器编排平台服务流量分配方法实施例的步骤流程图,所述容器编排平台服务流量分配方法具体可以包括如下步骤:
步骤101,在容器编排平台中创建虚拟路由器资源,所述虚拟路由器资源中设置多种服务对应的流量比重;
首先可以在容器编排平台中创建一个自定义资源,虚拟路由器资源。该虚拟路由器资源中设置有多种服务对应的流量比重,该流量比重可以采用百分比标识,也可以采用分数标识,本发明实施例对此不作限定。多种服务是指在容器编排平台中可以运行的多种作业对应的服务。对于具体地服务类型本发明实施例不作限定。
步骤102,接收服务请求;
在用户发起服务请求时,可以接收用户发起的服务请求,对该服务请求进服务分配。
步骤103,基于所述多种服务对应的流量比重,确定所述服务请求在所述多种服务中对应的随机重定向路由;
然后对服务请求,基于多种服务对应的流量比重,进行轮盘随机选取其中一个服务为集群处理的真实服务,将该真实服务的路由确定为随机重定向路由,以请求可以转发到真实服务中。
步骤104,将所述服务请求分配至所述随机重定向路由。
可以采用随机重定向路由,将服务器请求转发到真实服务中,由真实服务对服务请求进行响应,从而实现流量的自动分配。
通过在容器编排平台中创建虚拟路由器资源,所述虚拟路由器资源中设置多种服务对应的流量比重;接收服务请求;基于所述多种服务对应的流量比重,确定所述服务请求在所述多种服务中对应的随机重定向路由;将所述服务请求分配至所述随机重定向路由;通过创建虚拟路由器资源,依据虚拟路由器资源中服务对应的流量比重,配置不同的分配比重,并且进行随机重定向路由,将外部流量请求重定向到被选取的底层真实服务,可以自动化的处理流量分配场景,解决了容器编排平台中服务流量分配的痛点问题。
参照图2,示出了本发明的另一种容器编排平台服务流量分配方法实施例的步骤流程图,所述容器编排平台服务流量分配方法具体可以包括如下步骤:
步骤201,在容器编排平台中创建虚拟路由器资源,所述虚拟路由器资源中设置多种服务对应的流量比重。
可以在容器编排平台中创建出虚拟路由器资源,通过该虚拟路由器资源控制流量分配的策略。该虚拟路由器资源中甚至有多种服务 对应的流量比重。
本发明的一可选实施例中,所述在容器编排平台中创建虚拟路由器资源的步骤包括:
子步骤S2011,定义所述虚拟路由器资源的规范属性;
对于虚拟路由器资源的创建,可以先对虚拟路由器资源的规范属性进行定义,以确定虚拟路由器资源的结构。
具体地,所述定义所述虚拟路由器资源的规范属性的步骤包括:在所述规范属性中创建路由器属性,所述路由器属性与所述流量比重对应。
通过路由器属性对虚拟路由器资源进行定义,路由器属性与流量比重对应,从而以确定各个服务的流量比重。
子步骤S2012,根据预设创建数据,对所述规范属性进行赋值,生成所述虚拟路由器资源。
再根据预设创建数据,对规范属性进行赋值,将虚拟路由器资源进行配置,生成虚拟路由器资源。预设创建数据可以为相关人员预先设置后存储到指定位置,由该指定位置中读取得到。
具体地,所述根据预设创建数据,对所述规范属性进行赋值,生成所述虚拟路由器资源的步骤包括:根据预设创建数据,对所述路由器属性进行填充生成所述多种服务及其对应的流量比重;约束所述流量比重之和为一。
以一个算法示例,对一种虚拟路由器资源(VirturalRouter)创建进行说明:
kind: "VirturalRouter"
metadata:
name: $name
spec:
routers:
- name: $kubernetes_servicename1
weight: $weight1
- name: $kubernetes_servicename2
weight: $weight2
步骤1.1:在spec(规范)属性下定义一个routers(路由器)属性,该属性的值是一个列表,其中每个元素包含着kubernetes service服务名和其对应的流量比重。
步骤1.2:routers列表中的name属性表示kubernetes service服务名,weight属性表示这个服务对应的流量比重。
步骤1.3:设置约束条件,routers下的所有weight(流量比重)之和等于100%。
在本发明的一可选实施例中,所述在容器编排平台中创建虚拟路由器资源的步骤还包括:
子步骤S203,创建所述虚拟路由器资源的控制器,所述控制器用于管理所述虚拟路由器资源。
在本发明实施例中,可以创建虚拟路由器资源的控制器,通过该控制器对虚拟路由器资源进行管理,以合理使用虚拟路由器资源。
步骤202,监听所述虚拟路由器资源的事件。
可以采用控制器对虚拟路由器资源的事件进行监听,具体是资源事件进行监听。
步骤203,基于所述事件的类型,创建所述虚拟路由器资源的路由服务,所述虚拟路由器资源的路由服务用于代理所述容器编排平台的网络服务。
可以根据监听到的事件类型,根据事件触发相应的处理逻辑,创建出虚拟路由器资源的路由服务,通过虚拟路由器资源的路由服务代理容器编排平台的网络服务,即采用一个虚拟路由器资源的路由服务,代理容器编排平台后端的网络服务。
具体地,所述基于所述事件的类型,创建所述虚拟路由器资源的路由服务的步骤包括:解析所述事件,生成实例状态,所述实例状态具有第一状态值;判断所述第一状态值是否为空值;响应于所述第一状态值为空值,创建所述虚拟路由器资源的容器实例,以创建所述虚拟路由器资源的路由服务;响应于所述第一状态值不为空值,执行所述第一状态值对应的操作。
进一步地,所述执行所述第一状态值对应的操作的步骤包括:判断所述第一状态值是否为预设第一运行状态值;响应于所述第一状态值为所述预设第一运行状态值,校验所述容器编排平台的服务变化数据;响应于所述第一状态值不为所述预设第一运行状态值,检测所述虚拟路由器资源的容器实例的第二状态值。
再进一步地,所述检测所述虚拟路由器资源的容器实例的第二状态值的步骤包括:判断所述第二状态值是否为预设第二运行状态值;响应于所述第二状态值为所述预设第二运行状态值,将所述第一状态值设置为所述预设第一运行状态值;响应于所述第二状态值不为所述预设第二运行状态值,执行所述校验所述容器编排平台的服务变化数据的步骤。
以一示例对步骤203的具体执行过程进行说明,参照图3,
开始reconcile(监听)操作,并执行后续步骤:
1、从事件中解析出VirturalRouter实例的状态即实例状态;
2、判断VirturalRouter实例的状态;
3、如果其第一状态值为空,设置VirturalRouter实例的状态为prepare(准备)。创建VirturalRouter实例即创建虚拟路由器资源的容器实例,以创建虚拟路由器资源的路由服务。
4、如果其第一状态值不为空,则判断第一状态值是否为running(预设第一运行状态值)。
5、如果第一状态值不是running,检验VirturalRouter实例对应pod的状态,即校验所述容器编排平台的服务变化数据。如果pod状态(第二状态值)为running(预设第二运行状态值),则更新VirturalRouter实例状态为running。
6、如果第一状态值是running,检验VirturalRouter实例中记载的服务与底层实际的kubernetes service是否一致(检验对应的kubernetes service是否有增减),如果没有变化,则继续等待下一次操作
如果检验VirturalRouter实例中记载的服务与底层实际的kubernetes service不一致,重算并更新VirturalRouter实例中的流量比重。
步骤204,接收服务请求。
在用户发起服务请求时,接收服务请求。
步骤205,基于所述多种服务对应的流量比重,确定所述服务请求在所述多种服务中对应的随机重定向路由。
在本发明实施例中,可以基于服务请求,在多种服务对应的流量比重随机选取其中一个服务,确定对应的随机重定向路由。
在本发明的一可选实施例中,所述基于所述多种服务对应的流量比重,确定所述服务请求在所述多种服务中对应的随机重定向路由的步骤包括:
子步骤S2051,依据所述多种服务对应的流量比重,转换为多个轮盘概率,每个轮盘概率对应不同的服务路由;
可以基于多种服务对应的流量比重转换为多个与每个服务对应的轮盘概率,每个轮盘概率对应不同的服务路由。
具体地,所述依据所述多种服务对应的流量比重,转换为多个轮盘概率的步骤包括:将所述多种服务逐一转换为所述多个轮盘概率。
子步骤S2052,依据所述多个轮盘概率,确定目标轮盘概率;
可以基于多个轮盘概率中选取去其中一个轮盘概率为目标轮盘概率。
具体地,所述依据所述多个轮盘概率,确定目标轮盘概率的步骤包括:将所述多个轮盘概率转换为多个累计概率;将所述多个累计概率映射至对应的区间映射;生成随机数;基于所述随机数和所述区间映射确定目标区间映射;将目标区间映射对应的轮盘概率为所述目标轮盘概率。
子步骤S2053,确定所述目标轮盘概率对应的服务路由为所述随机重定向路由。
将目标轮盘概率对应的服务路由确定为随机重定向路由。
基于此,以一个示例进行说明,多种服务对应的流量比重具体为三种服务,其中,如图4所示,服务1的流量比重为50%;服务2的流量比重为37.5%;服务3的流量比重为12.5%。
重随机重定向过程如图5,1、用户发起请求。
2、匹配VirturalRouter结果对应的请求流量。
3、将三个服务的流量比重格式化为轮盘概率,即服务1为50%、服务2为37.5%、服务3为12.5%。
4、再将轮盘概率格式化累计概率,即服务1为50%、服务2为87.5%、服务3为1。
5、基于累计概率,生成了三个区间映射。分别是[0, 50%)映射服务1;[50%,87.5%)映射服务2;[87.5%, 100%]映射服务3。
6、先用随机产成一个[0, 1]之间的]随机数,判定这个随机数落在上述三个区间的位置。
7、将随机数落入的区间对应的服务路由为所述随机重定向路由。
步骤206,将所述服务请求分配至所述随机重定向路由。
可以采用确定的随机重定向路由确定底层的服务,通过该服务响应服务请求,以实现将请求进行分配的过程。
步骤207,响应于所述容器编排平台的服务变化,重计算所述多种服务对应的流量比重,生成更新比重。
当容器编排平台的服务发生变化时,可以响应于容器编排平台的服务变化,对虚拟路由器资源中的多种服务对应的流量比重进行重计算,以适应变化后的服务,确定对应的流量比重,即更新比重。
具体地,所述响应于所述容器编排平台的服务变化,重计算所述多种服务对应的流量比重,生成更新比重的步骤包括:响应于所述容器编排平台的服务减少,从所述多种服务中确定剩余服务,所述剩余服务对应有总流量比重;针对所述剩余服务中的任一服务,计算其流量比重与所述总流量比重的比值,将所述比值确定为所述更新比重。
当虚拟路由器资源实例中记录的服务多于对应的底层容器编排平台的服务,则容器编排平台的服务减少,需要将虚拟路由器资源中记录多余项删除,然后重新计算剩下虚拟路由器资源实例服务记录的流量比重。可以计算计算剩下的任一服务流量比重与总流量比重的比值,将该比值确定为更新比重。参照图6,例如底层容器编排平台服务3被删除了,则在虚拟路由器资源中的服务1和服务2的流量比重记录需要更新。服务1流量比重:50%/(50%+37.5%)*100%=57%; 服务2流量比重:37.5%/(50%+37.5%)*100%=43%。
具体地,所述响应于所述容器编排平台的服务变化,重计算所述多种服务对应的流量比重,生成更新比重的步骤包括:响应于所述容器编排平台的服务增加,将增加的服务对应的流量比重设置为零;将所述增加的服务对应的流量比重与所述多种服务对应的流量比重进行结合,生成所述更新比重。
如果虚拟路由器资源实例中记录的服务少于对应的底层容器编排平台的服务,即容器编排平台的服务增加,需要往虚拟路由器资源中新添加服务流量比重,将增加的服务对应的流量比重为零,将增加的服务对应的流量比重与多种服务对应的流量比重进行结合,多种服务对应的流量比重不变,新增服务对应的流量比重为零,生成更新比重。并且可以通知服务创建者,给增加的服务添加一个具体的流量比重。
此外,在本发明的一可选实施例中,所述方法还包括:
步骤S1,响应于所述容器编排平台的服务变化数据与上一次的容器编排平台的服务变化数据不相同时,确定所述容器编排平台的服务变化。
在实际应用中,当控制器监测到容器编排平台的服务变化数据与上一次的容器编排平台的服务变化数据不同时,可以确定当前的容器编排平台的服务发生了变化,进而触发流量比重的重算。
步骤208,基于所述更新比重更新所述多种服务对应的流量比重。
然后采用新的更新比重替换原本在虚拟路由器资源中的多种服务对应的流量比重,以将更新比重作为虚拟路由器资源中的多种服务对应的流量比重进行后续的流量分配。
综上,在本发明的一示例中,展示上述实施过程,如图7所示,用户请求在通过apiserver(接口)网关后将被virtural router(虚拟路由器资源)拦截,virtural router根据配置中服务的流量比重数据,将访问请求依据对应的比例分配到不同的底层kubernetes(容器编排平台)服务中,并将底层服务的响应返回给用户。
通过在容器编排平台中创建虚拟路由器资源,所述虚拟路由器资源中设置多种服务对应的流量比重;接收服务请求;基于所述多种服务对应的流量比重,确定所述服务请求在所述多种服务中对应的随机重定向路由;将所述服务请求分配至所述随机重定向路由;响应于所述容器编排平台的服务变化,重计算所述多种服务对应的流量比重,生成更新比重;基于所述更新比重更新所述多种服务对应的流量比重通过创建虚拟路由器资源,依据虚拟路由器资源中服务对应的流量比重,配置不同的分配比重,并且进行随机重定向路由,将外部流量请求重定向到被选取的底层真实服务,通过流量比重的重算机制,在添加或者删除一些服务后,可以自动重算虚拟路由器资源中的比重数值并进行更新;基于这些特性,可以自动化的处理流量分配场景,解决了容器编排平台中服务流量分配的痛点问题。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图8,示出了本发明的一种容器编排平台服务流量分配装置实施例的结构框图,所述容器编排平台服务流量分配装置具体可以包括如下模块:
第一创建模块801,用于在容器编排平台中创建虚拟路由器资源,所述虚拟路由器资源中设置多种服务对应的流量比重;
接收模块802,用于接收服务请求;
重定向模块803,用于基于所述多种服务对应的流量比重,确定所述服务请求在所述多种服务中对应的随机重定向路由;
响应模块804,用于将所述服务请求分配至所述随机重定向路由。
在本发明的一可选实施例中,所述装置还包括:
监听模块,用于监听所述虚拟路由器资源的事件;
第二创建模块,用于基于所述事件的类型,创建所述虚拟路由器资源的路由服务,所述虚拟路由器资源的路由服务用于代理所述容器编排平台的网络服务。
在本发明的一可选实施例中,所述装置还包括:
重计算模块,用于响应于所述容器编排平台的服务变化,重计算所述多种服务对应的流量比重,生成更新比重;
更新模块,用于基于所述更新比重更新所述多种服务对应的流量比重。
在本发明的一可选实施例中,所述第一创建模块801包括:
定义子模块,用于定义所述虚拟路由器资源的规范属性;
赋值子模块,用于根据预设创建数据,对所述规范属性进行赋值,生成所述虚拟路由器资源。
在本发明的一可选实施例中,所述第一创建模块801还包括:
第一创建子模块,用于创建所述虚拟路由器资源的控制器,所述控制器用于管理所述虚拟路由器资源。
在本发明的一可选实施例中,所述定义子模块包括:
属性创建单元,用于在所述规范属性中创建路由器属性,所述路由器属性与所述流量比重对应。
在本发明的一可选实施例中,所述赋值子模块包括:
填充单元,用于根据预设创建数据,对所述路由器属性进行填充生成所述多种服务及其对应的流量比重;
约束单元,用于约束所述流量比重之和为一。
在本发明的一可选实施例中,所述重定向模块803包括:
第一转换子模块,用于依据所述多种服务对应的流量比重,转换为多个轮盘概率,每个轮盘概率对应不同的服务路由;
轮盘子模块,用于依据所述多个轮盘概率,确定目标轮盘概率;
重定向子模块,用于确定所述目标轮盘概率对应的服务路由为所述随机重定向路由。
在本发明的一可选实施例中,所述第一转换子模块包括:
轮盘概率转换单元,用于将所述多种服务逐一转换为所述多个轮盘概率。
在本发明的一可选实施例中,所述轮盘子模块包括:
转换单元,用于将所述多个轮盘概率转换为多个累计概率;
映射单元,用于将所述多个累计概率映射至对应的区间映射;
随机数生成单元,用于生成随机数;
目标映射单元,用于基于所述随机数和所述区间映射确定目标区间映射;
轮盘单元,用于将目标区间映射对应的轮盘概率为所述目标轮盘概率。
在本发明的一可选实施例中,所述随机数的生成范围与所述区间映射的映射范围匹配;所述目标映射单元包括:
位置确定子单元,用于确定所述随机数在所述区间映射中的位置;
目标映射子单元,用于将包含所述位置的区间映射确定为所述目标区间映射。
在本发明的一可选实施例中,所述第二创建模块包括:
解析子模块,用于解析所述事件,生成实例状态,所述实例状态具有第一状态值;
第一判断子模块,用于判断所述第一状态值是否为空值;
第一响应子模块,用于响应于所述第一状态值为空值,创建所述虚拟路由器资源的容器实例,以创建所述虚拟路由器资源的路由服务;
第二响应子模块,用于响应于所述第一状态值不为空值,执行所述第一状态值对应的操作。
在本发明的一可选实施例中,所述第二响应子模块包括:
第二判断单元,用于判断所述第一状态值是否为预设第一运行状态值;
第三响应单元,用于响应于所述第一状态值为所述预设第一运行状态值,校验所述容器编排平台的服务变化数据;
第四响应单元,用于响应于所述第一状态值不为所述预设第一运行状态值,检测所述虚拟路由器资源的容器实例的第二状态值。
在本发明的一可选实施例中,所述第四响应单元包括:
第三子单元,用于判断所述第二状态值是否为预设第二运行状态值;
第五子单元,用于响应于所述第二状态值为所述预设第二运行状态值,将所述第一状态值设置为所述预设第一运行状态值;
第六子单元,用于响应于所述第二状态值不为所述预设第二运行状态值,执行所述校验所述容器编排平台的服务变化数据的步骤。
在本发明的一可选实施例中,所述装置还包括:
变化确定模块,用于响应于所述容器编排平台的服务变化数据与上一次的容器编排平台的服务变化数据不相同时,确定所述容器编排平台的服务变化。
在本发明的一可选实施例中,所述重计算模块包括:
第一重计算子模块,用于响应于所述容器编排平台的服务减少,从所述多种服务中确定剩余服务,所述剩余服务对应有总流量比重;
第二重计算子模块,用于针对所述剩余服务中的任一服务,计算其流量比重与所述总流量比重的比值,将所述比值确定为所述更新比重。
在本发明的一可选实施例中,所述重计算模块包括:
第三重计算子模块,用于响应于所述容器编排平台的服务增加,将增加的服务对应的流量比重设置为零;
第四重计算子模块,用于将所述增加的服务对应的流量比重与所述多种服务对应的流量比重进行结合,生成所述更新比重。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图9,本发明实施例还提供了一种电子设备,包括:
处理器901和存储介质902,所述存储介质902存储有所述处理器901可执行的计算机程序,当电子设备运行时,所述处理器901执行所述计算机程序,以执行如本发明实施例任一项所述的容器编排平台服务流量分配方法。所述容器编排平台服务流量分配方法,包括:
在容器编排平台中创建虚拟路由器资源,所述虚拟路由器资源中设置多种服务对应的流量比重;
接收服务请求;
基于所述多种服务对应的流量比重,确定所述服务请求在所述多种服务中对应的随机重定向路由;
将所述服务请求分配至所述随机重定向路由。
可选地,所述方法还包括:
监听所述虚拟路由器资源的事件;
基于所述事件的类型,创建所述虚拟路由器资源的路由服务,所述虚拟路由器资源的路由服务用于代理所述容器编排平台的网络服务。
可选地,所述方法还包括:
响应于所述容器编排平台的服务变化,重计算所述多种服务对应的流量比重,生成更新比重;
基于所述更新比重更新所述多种服务对应的流量比重。
可选地,所述在容器编排平台中创建虚拟路由器资源的步骤包括:
定义所述虚拟路由器资源的规范属性;
根据预设创建数据,对所述规范属性进行赋值,生成所述虚拟路由器资源。
可选地,所述在容器编排平台中创建虚拟路由器资源的步骤还包括:
创建所述虚拟路由器资源的控制器,所述控制器用于管理所述虚拟路由器资源。
可选地,所述定义所述虚拟路由器资源的规范属性的步骤包括:
在所述规范属性中创建路由器属性,所述路由器属性与所述流量比重对应。
可选地,所述根据预设创建数据,对所述规范属性进行赋值,生成所述虚拟路由器资源的步骤包括:
根据预设创建数据,对所述路由器属性进行填充生成所述多种服务及其对应的流量比重;
约束所述流量比重之和为一。
可选地,所述基于所述多种服务对应的流量比重,确定所述服务请求在所述多种服务中对应的随机重定向路由的步骤包括:
依据所述多种服务对应的流量比重,转换为多个轮盘概率,每个轮盘概率对应不同的服务路由;
依据所述多个轮盘概率,确定目标轮盘概率;
确定所述目标轮盘概率对应的服务路由为所述随机重定向路由。
可选地,所述依据所述多种服务对应的流量比重,转换为多个轮盘概率的步骤包括:
将所述多种服务逐一转换为所述多个轮盘概率。
可选地,所述依据所述多个轮盘概率,确定目标轮盘概率的步骤包括:
将所述多个轮盘概率转换为多个累计概率;
将所述多个累计概率映射至对应的区间映射;
生成随机数;
基于所述随机数和所述区间映射确定目标区间映射;
将目标区间映射对应的轮盘概率为所述目标轮盘概率。
可选地,所述随机数的生成范围与所述区间映射的映射范围匹配;所述基于所述随机数和所述区间映射确定目标区间映射的步骤包括:
确定所述随机数在所述区间映射中的位置;
将包含所述位置的区间映射确定为所述目标区间映射。
可选地,所述基于所述事件的类型,创建所述虚拟路由器资源的路由服务的步骤包括:
解析所述事件,生成实例状态,所述实例状态具有第一状态值;
判断所述第一状态值是否为空值;
响应于所述第一状态值为空值,创建所述虚拟路由器资源的容器实例,以创建所述虚拟路由器资源的路由服务;
响应于所述第一状态值不为空值,执行所述第一状态值对应的操作。
可选地,所述执行所述第一状态值对应的操作的步骤包括:
判断所述第一状态值是否为预设第一运行状态值;
响应于所述第一状态值为所述预设第一运行状态值,校验所述容器编排平台的服务变化数据;
响应于所述第一状态值不为所述预设第一运行状态值,检测所述虚拟路由器资源的容器实例的第二状态值。
可选地,所述检测所述虚拟路由器资源的容器实例的第二状态值的步骤包括:
判断所述第二状态值是否为预设第二运行状态值;
响应于所述第二状态值为所述预设第二运行状态值,将所述第一状态值设置为所述预设第一运行状态值;
响应于所述第二状态值不为所述预设第二运行状态值,执行所述校验所述容器编排平台的服务变化数据的步骤。
可选地,所述方法还包括:
响应于所述容器编排平台的服务变化数据与上一次的容器编排平台的服务变化数据不相同时,确定所述容器编排平台的服务变化。
可选地,所述响应于所述容器编排平台的服务变化,重计算所述多种服务对应的流量比重,生成更新比重的步骤包括:
响应于所述容器编排平台的服务减少,从所述多种服务中确定剩余服务,所述剩余服务对应有总流量比重;
针对所述剩余服务中的任一服务,计算其流量比重与所述总流量比重的比值,将所述比值确定为所述更新比重。
可选地,所述响应于所述容器编排平台的服务变化,重计算所述多种服务对应的流量比重,生成更新比重的步骤包括:
响应于所述容器编排平台的服务增加,将增加的服务对应的流量比重设置为零;
将所述增加的服务对应的流量比重与所述多种服务对应的流量比重进行结合,生成所述更新比重。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
参照图10,本发明实施例还提供了一种计算机可读存储介质1001,所述存储介质1001上存储有计算机程序,所述计算机程序被处理器运行时执行如本发明实施例任一项所述的容器编排平台服务流量分配方法。所述容器编排平台服务流量分配方法,包括:
在容器编排平台中创建虚拟路由器资源,所述虚拟路由器资源中设置多种服务对应的流量比重;
接收服务请求;
基于所述多种服务对应的流量比重,确定所述服务请求在所述多种服务中对应的随机重定向路由;
将所述服务请求分配至所述随机重定向路由。
可选地,所述方法还包括:
监听所述虚拟路由器资源的事件;
基于所述事件的类型,创建所述虚拟路由器资源的路由服务,所述虚拟路由器资源的路由服务用于代理所述容器编排平台的网络服务。
可选地,所述方法还包括:
响应于所述容器编排平台的服务变化,重计算所述多种服务对应的流量比重,生成更新比重;
基于所述更新比重更新所述多种服务对应的流量比重。
可选地,所述在容器编排平台中创建虚拟路由器资源的步骤包括:
定义所述虚拟路由器资源的规范属性;
根据预设创建数据,对所述规范属性进行赋值,生成所述虚拟路由器资源。
可选地,所述在容器编排平台中创建虚拟路由器资源的步骤还包括:
创建所述虚拟路由器资源的控制器,所述控制器用于管理所述虚拟路由器资源。
可选地,所述定义所述虚拟路由器资源的规范属性的步骤包括:
在所述规范属性中创建路由器属性,所述路由器属性与所述流量比重对应。
可选地,所述根据预设创建数据,对所述规范属性进行赋值,生成所述虚拟路由器资源的步骤包括:
根据预设创建数据,对所述路由器属性进行填充生成所述多种服务及其对应的流量比重;
约束所述流量比重之和为一。
可选地,所述基于所述多种服务对应的流量比重,确定所述服务请求在所述多种服务中对应的随机重定向路由的步骤包括:
依据所述多种服务对应的流量比重,转换为多个轮盘概率,每个轮盘概率对应不同的服务路由;
依据所述多个轮盘概率,确定目标轮盘概率;
确定所述目标轮盘概率对应的服务路由为所述随机重定向路由。
可选地,所述依据所述多种服务对应的流量比重,转换为多个轮盘概率的步骤包括:
将所述多种服务逐一转换为所述多个轮盘概率。
可选地,所述依据所述多个轮盘概率,确定目标轮盘概率的步骤包括:
将所述多个轮盘概率转换为多个累计概率;
将所述多个累计概率映射至对应的区间映射;
生成随机数;
基于所述随机数和所述区间映射确定目标区间映射;
将目标区间映射对应的轮盘概率为所述目标轮盘概率。
可选地,所述随机数的生成范围与所述区间映射的映射范围匹配;所述基于所述随机数和所述区间映射确定目标区间映射的步骤包括:
确定所述随机数在所述区间映射中的位置;
将包含所述位置的区间映射确定为所述目标区间映射。
可选地,所述基于所述事件的类型,创建所述虚拟路由器资源的路由服务的步骤包括:
解析所述事件,生成实例状态,所述实例状态具有第一状态值;
判断所述第一状态值是否为空值;
响应于所述第一状态值为空值,创建所述虚拟路由器资源的容器实例,以创建所述虚拟路由器资源的路由服务;
响应于所述第一状态值不为空值,执行所述第一状态值对应的操作。
可选地,所述执行所述第一状态值对应的操作的步骤包括:
判断所述第一状态值是否为预设第一运行状态值;
响应于所述第一状态值为所述预设第一运行状态值,校验所述容器编排平台的服务变化数据;
响应于所述第一状态值不为所述预设第一运行状态值,检测所述虚拟路由器资源的容器实例的第二状态值。
可选地,所述检测所述虚拟路由器资源的容器实例的第二状态值的步骤包括:
判断所述第二状态值是否为预设第二运行状态值;
响应于所述第二状态值为所述预设第二运行状态值,将所述第一状态值设置为所述预设第一运行状态值;
响应于所述第二状态值不为所述预设第二运行状态值,执行所述校验所述容器编排平台的服务变化数据的步骤。
可选地,所述方法还包括:
响应于所述容器编排平台的服务变化数据与上一次的容器编排平台的服务变化数据不相同时,确定所述容器编排平台的服务变化。
可选地,所述响应于所述容器编排平台的服务变化,重计算所述多种服务对应的流量比重,生成更新比重的步骤包括:
响应于所述容器编排平台的服务减少,从所述多种服务中确定剩余服务,所述剩余服务对应有总流量比重;
针对所述剩余服务中的任一服务,计算其流量比重与所述总流量比重的比值,将所述比值确定为所述更新比重。
可选地,所述响应于所述容器编排平台的服务变化,重计算所述多种服务对应的流量比重,生成更新比重的步骤包括:
响应于所述容器编排平台的服务增加,将增加的服务对应的流量比重设置为零;
将所述增加的服务对应的流量比重与所述多种服务对应的流量比重进行结合,生成所述更新比重。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种容器编排平台服务流量分配方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (16)
1.一种容器编排平台服务流量分配方法,其特征在于,包括:
在容器编排平台中创建虚拟路由器资源,所述虚拟路由器资源中设置多种服务对应的流量比重;
接收服务请求;
基于所述多种服务对应的流量比重,确定所述服务请求在所述多种服务中对应的随机重定向路由;
将所述服务请求分配至所述随机重定向路由;
其中,所述基于所述多种服务对应的流量比重,确定所述服务请求在所述多种服务中对应的随机重定向路由的步骤包括:依据所述多种服务对应的流量比重,转换为多个轮盘概率,每个轮盘概率对应不同的服务路由;依据所述多个轮盘概率,确定目标轮盘概率;确定所述目标轮盘概率对应的服务路由为所述随机重定向路由;所述依据所述多种服务对应的流量比重,转换为多个轮盘概率的步骤包括:将所述多种服务逐一转换为所述多个轮盘概率;所述依据所述多个轮盘概率,确定目标轮盘概率的步骤包括:将所述多个轮盘概率转换为多个累计概率;将所述多个累计概率映射至对应的区间映射;生成随机数;基于所述随机数和所述区间映射确定目标区间映射;所述随机数的生成范围与所述区间映射的映射范围匹配;所述基于所述随机数和所述区间映射确定目标区间映射的步骤包括:确定所述随机数在所述区间映射中的位置;将包含所述位置的区间映射确定为所述目标区间映射。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
监听所述虚拟路由器资源的事件;
基于所述事件的类型,创建所述虚拟路由器资源的路由服务,所述虚拟路由器资源的路由服务用于代理所述容器编排平台的网络服务。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述容器编排平台的服务变化,重计算所述多种服务对应的流量比重,生成更新比重;
基于所述更新比重更新所述多种服务对应的流量比重。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述在容器编排平台中创建虚拟路由器资源的步骤包括:
定义所述虚拟路由器资源的规范属性;
根据预设创建数据,对所述规范属性进行赋值,生成所述虚拟路由器资源。
5.根据权利要求4所述的方法,其特征在于,所述在容器编排平台中创建虚拟路由器资源的步骤还包括:
创建所述虚拟路由器资源的控制器,所述控制器用于管理所述虚拟路由器资源。
6.根据权利要求4所述的方法,其特征在于,所述定义所述虚拟路由器资源的规范属性的步骤包括:
在所述规范属性中创建路由器属性,所述路由器属性与所述流量比重对应。
7.根据权利要求5所述的方法,其特征在于,所述根据预设创建数据,对所述规范属性进行赋值,生成所述虚拟路由器资源的步骤包括:
根据预设创建数据,对所述路由器属性进行填充生成所述多种服务及其对应的流量比重;
约束所述流量比重之和为一。
8.根据权利要求2所述的方法,其特征在于,所述基于所述事件的类型,创建所述虚拟路由器资源的路由服务的步骤包括:
解析所述事件,生成实例状态,所述实例状态具有第一状态值;
判断所述第一状态值是否为空值;
响应于所述第一状态值为空值,创建所述虚拟路由器资源的容器实例,以创建所述虚拟路由器资源的路由服务;
响应于所述第一状态值不为空值,执行所述第一状态值对应的操作。
9.根据权利要求8所述的方法,其特征在于,所述执行所述第一状态值对应的操作的步骤包括:
判断所述第一状态值是否为预设第一运行状态值;
响应于所述第一状态值为所述预设第一运行状态值,校验所述容器编排平台的服务变化数据;
响应于所述第一状态值不为所述预设第一运行状态值,检测所述虚拟路由器资源的容器实例的第二状态值。
10.根据权利要求9所述的方法,其特征在于,所述第二状态值为所述虚拟路由器资源的容器实例的数据结构状态值,所述检测所述虚拟路由器资源的容器实例的第二状态值的步骤包括:
判断所述第二状态值是否为预设第二运行状态值;
响应于所述第二状态值为所述预设第二运行状态值,将所述第一状态值设置为所述预设第一运行状态值;
响应于所述第二状态值不为所述预设第二运行状态值,执行所述校验所述容器编排平台的服务变化数据的步骤。
11.根据权利要求8所述的方法,其特征在于,所述方法还包括:
响应于所述容器编排平台的服务变化数据与上一次的容器编排平台的服务变化数据不相同时,确定所述容器编排平台的服务变化。
12.根据权利要求3所述的方法,其特征在于,所述响应于所述容器编排平台的服务变化,重计算所述多种服务对应的流量比重,生成更新比重的步骤包括:
响应于所述容器编排平台的服务减少,从所述多种服务中确定剩余服务,所述剩余服务对应有总流量比重;
针对所述剩余服务中的任一服务,计算其流量比重与所述总流量比重的比值,将所述比值确定为所述更新比重。
13.根据权利要求3所述的方法,其特征在于,所述响应于所述容器编排平台的服务变化,重计算所述多种服务对应的流量比重,生成更新比重的步骤包括:
响应于所述容器编排平台的服务增加,将增加的服务对应的流量比重设置为零;
将所述增加的服务对应的流量比重与所述多种服务对应的流量比重进行结合,生成所述更新比重。
14.一种容器编排平台服务流量分配装置,其特征在于,包括:
第一创建模块,用于在容器编排平台中创建虚拟路由器资源,所述虚拟路由器资源中设置多种服务对应的流量比重;
接收模块,用于接收服务请求;
请求流量确定模块,用于依据所述服务请求确定请求流量;
重定向模块,用于基于所述多种服务对应的流量比重,确定所述服务请求在所述多种服务中对应的随机重定向路由;
响应模块,用于将所述服务请求分配至所述随机重定向路由;
其中,所述重定向模块包括:第一转换子模块,用于依据所述多种服务对应的流量比重,转换为多个轮盘概率,每个轮盘概率对应不同的服务路由;轮盘子模块,用于依据所述多个轮盘概率,确定目标轮盘概率;重定向子模块,用于确定所述目标轮盘概率对应的服务路由为所述随机重定向路由;所述第一转换子模块包括:轮盘概率转换单元,用于将所述多种服务逐一转换为所述多个轮盘概率;所述轮盘子模块包括:转换单元,用于将所述多个轮盘概率转换为多个累计概率;映射单元,用于将所述多个累计概率映射至对应的区间映射;随机数生成单元,用于生成随机数;目标映射单元,用于基于所述随机数和所述区间映射确定目标区间映射;轮盘单元,用于将目标区间映射对应的轮盘概率为所述目标轮盘概率;所述随机数的生成范围与所述区间映射的映射范围匹配;所述目标映射单元包括:位置确定子单元,用于确定所述随机数在所述区间映射中的位置;目标映射子单元,用于将包含所述位置的区间映射确定为所述目标区间映射。
15.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至13中任一项所述的容器编排平台服务流量分配方法的步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至13中任一项所述的容器编排平台服务流量分配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311141835.4A CN116886777B (zh) | 2023-09-06 | 2023-09-06 | 一种容器编排平台服务流量分配方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311141835.4A CN116886777B (zh) | 2023-09-06 | 2023-09-06 | 一种容器编排平台服务流量分配方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116886777A CN116886777A (zh) | 2023-10-13 |
CN116886777B true CN116886777B (zh) | 2024-01-26 |
Family
ID=88271955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311141835.4A Active CN116886777B (zh) | 2023-09-06 | 2023-09-06 | 一种容器编排平台服务流量分配方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116886777B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051939A (zh) * | 2006-06-15 | 2007-10-10 | 华为技术有限公司 | 一种实现网络流量负载分担的方法及装置 |
CN102821044A (zh) * | 2012-07-27 | 2012-12-12 | 北京奇虎科技有限公司 | 一种配置服务器集群的方法和装置 |
CN111290828A (zh) * | 2018-12-10 | 2020-06-16 | Sap欧洲公司 | 使用容器编排服务进行动态路由 |
CN112181602A (zh) * | 2020-10-23 | 2021-01-05 | 济南浪潮数据技术有限公司 | 一种资源编排方法、装置及电子设备和存储介质 |
CN112463363A (zh) * | 2020-11-06 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种资源编排方法、装置、设备及存储介质 |
CN112751717A (zh) * | 2021-01-05 | 2021-05-04 | 北京大禹智芯科技有限公司 | 一种业务流量的管理系统以及方法 |
CN115495142A (zh) * | 2022-09-26 | 2022-12-20 | 华润数字科技有限公司 | 云资源编排方法、装置、计算机设备及存储介质 |
CN116684274A (zh) * | 2023-06-15 | 2023-09-01 | 华北电力大学 | 一种基于sdn的云安全服务功能链自动编排系统及方法 |
CN116684289A (zh) * | 2023-06-29 | 2023-09-01 | 杭州迪普科技股份有限公司 | 一种流量编排方法、电子设备及装置 |
-
2023
- 2023-09-06 CN CN202311141835.4A patent/CN116886777B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051939A (zh) * | 2006-06-15 | 2007-10-10 | 华为技术有限公司 | 一种实现网络流量负载分担的方法及装置 |
CN102821044A (zh) * | 2012-07-27 | 2012-12-12 | 北京奇虎科技有限公司 | 一种配置服务器集群的方法和装置 |
CN111290828A (zh) * | 2018-12-10 | 2020-06-16 | Sap欧洲公司 | 使用容器编排服务进行动态路由 |
CN112181602A (zh) * | 2020-10-23 | 2021-01-05 | 济南浪潮数据技术有限公司 | 一种资源编排方法、装置及电子设备和存储介质 |
CN112463363A (zh) * | 2020-11-06 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种资源编排方法、装置、设备及存储介质 |
CN112751717A (zh) * | 2021-01-05 | 2021-05-04 | 北京大禹智芯科技有限公司 | 一种业务流量的管理系统以及方法 |
CN115495142A (zh) * | 2022-09-26 | 2022-12-20 | 华润数字科技有限公司 | 云资源编排方法、装置、计算机设备及存储介质 |
CN116684274A (zh) * | 2023-06-15 | 2023-09-01 | 华北电力大学 | 一种基于sdn的云安全服务功能链自动编排系统及方法 |
CN116684289A (zh) * | 2023-06-29 | 2023-09-01 | 杭州迪普科技股份有限公司 | 一种流量编排方法、电子设备及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116886777A (zh) | 2023-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112532675B (zh) | 一种网络边缘计算系统的创建方法、装置及介质 | |
US8104038B1 (en) | Matching descriptions of resources with workload requirements | |
US9413604B2 (en) | Instance host configuration | |
EP2721504B1 (en) | File processing method, system and server-clustered system for cloud storage | |
US20190319881A1 (en) | Traffic management based on past traffic arrival patterns | |
US10705873B2 (en) | Predictive virtual server scheduling and optimization of dynamic consumable resources to achieve priority-based workload performance objectives | |
US20130227232A1 (en) | Partition aware quality of service feature | |
US20210096977A1 (en) | Handling of workload surges in a software application | |
CN112532669B (zh) | 一种网络边缘计算方法、装置及介质 | |
US10154091B1 (en) | Deploying infrastructure units according to resource hosting constraints | |
US10761869B2 (en) | Cloud platform construction method and cloud platform storing image files in storage backend cluster according to image file type | |
US20220318071A1 (en) | Load balancing method and related device | |
Maenhaut et al. | Resource allocation in the cloud: From simulation to experimental validation | |
WO2021013185A1 (zh) | 虚机迁移处理及策略生成方法、装置、设备及存储介质 | |
CN116886777B (zh) | 一种容器编排平台服务流量分配方法和装置 | |
CN112532758B (zh) | 一种网络边缘计算系统的创建方法、装置及介质 | |
CN110178119A (zh) | 处理业务请求的方法、装置与存储系统 | |
US20230034835A1 (en) | Parallel Processing in Cloud | |
CN115658287A (zh) | 一种用于调度运行单元的方法、设备、介质及程序产品 | |
CN115168017A (zh) | 一种任务调度云平台及其任务调度方法 | |
CN114466031A (zh) | 一种cdn系统节点配置方法、装置、设备及存储介质 | |
CN113873052B (zh) | Kubernetes集群的域名解析方法、装置及设备 | |
CN115664971B (zh) | 一种基于分层故障域的云资源运维方法、设备及介质 | |
US20230273813A1 (en) | Schedule management for machine learning model-based processing in computing environment | |
WO2023241405A1 (en) | Database query processing with database clients |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |