CN113268308B - 信息处理方法、装置以及存储介质 - Google Patents

信息处理方法、装置以及存储介质 Download PDF

Info

Publication number
CN113268308B
CN113268308B CN202010092702.2A CN202010092702A CN113268308B CN 113268308 B CN113268308 B CN 113268308B CN 202010092702 A CN202010092702 A CN 202010092702A CN 113268308 B CN113268308 B CN 113268308B
Authority
CN
China
Prior art keywords
configuration information
load balancing
new service
container instance
balancing rule
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
Application number
CN202010092702.2A
Other languages
English (en)
Other versions
CN113268308A (zh
Inventor
董琪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
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 China Mobile Communications Group Co Ltd, China Mobile Suzhou Software Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202010092702.2A priority Critical patent/CN113268308B/zh
Publication of CN113268308A publication Critical patent/CN113268308A/zh
Application granted granted Critical
Publication of CN113268308B publication Critical patent/CN113268308B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Abstract

本发明公开了一种信息处理方法、装置以及存储介质。其中,方法包括:监听配置信息的更新事件;监听到更新事件为针对新服务的创建事件,获取新服务对应的配置信息;利用所述新服务对应的配置信息,在Kubernetes集群中为所述新服务配置至少一个容器实例,并为所述新服务配置负载均衡规则,使得所述至少一个容器实例中的每个容器实例均能够获取与所述新服务对应的相应负载均衡规则,以进行负载均衡。采用本发明的方案,能够在不改造服务的前提下实现服务发现功能,并实现服务隔离,使得各服务的负载均衡功能不再交叉影响,进而提升Kubernetes集群的工作效率,并提升用户体验。

Description

信息处理方法、装置以及存储介质
技术领域
本发明涉及云计算技术,尤其涉及一种信息处理方法、装置以及存储介质。
背景技术
Kubernetes平台是为了满足万维网(WEB,World Wide Web)应用的快速部署、自动维护和自动扩容的需求而产生的,在Kubernetes平台中,如何发现服务以及如何进行负载均衡是非常重要的。
然而,相关技术中,Kubernetes平台中发现服务的方法以及负载均衡的方法尚需优化。
发明内容
为解决相关技术问题,本发明实施例提供一种信息处理方法、装置以及存储介质。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种信息处理方法,包括:
监听配置信息的更新事件;
监听到更新事件为针对新服务的创建事件,获取新服务对应的配置信息;
利用所述新服务对应的配置信息,在Kubernetes集群中为所述新服务配置至少一个容器实例,并为所述新服务配置负载均衡规则,使得所述至少一个容器实例中的每个容器实例均能够获取与所述新服务对应的相应负载均衡规则,以进行负载均衡。
上述方案中,所述方法还包括:
监听到所述配置信息中负载均衡器配置信息的更新事件;
获取更新后的负载均衡器配置信息;
利用所述更新后的负载均衡器配置信息,针对配置的至少一个容器实例,执行相应的操作。
上述方案中,所述针对配置的至少一个容器实例,执行相应的操作,包括:
利用所述更新后的负载均衡器配置信息,在Kubernetes集群中为所述新服务再配置新的至少一个容器实例;或者,利用所述更新后的负载均衡器配置信息,在Kubernetes集群中修改所述配置的至少一个容器实例的运行参数;或者,在Kubernetes集群中删除所述配置的至少一个容器实例。
上述方案中,所述方法还包括:
监听到所述配置信息中负载均衡规则配置信息的更新事件;
获取更新后的负载均衡规则配置信息;
利用所述更新后的负载均衡规则配置信息,针对配置的负载均衡规则,执行相应操作。
上述方案中,所述针对配置的负载均衡规则,执行相应操作,包括:
利用所述更新后的负载均衡规则配置信息,在Kubernetes集群中为所述新服务再配置新的负载均衡规则;或者,利用所述更新后的负载均衡规则配置信息,在Kubernetes集群中修改所述配置的负载均衡规则的运行参数;或者,在Kubernetes集群中删除所述配置的负载均衡规则。
上述方案中,所述方法还包括:
通过第一接口获取配置信息;所述第一接口为RESTful应用程序接口(API,Application Programming Interface)。
上述方案中,所述配置信息是利用自定义资源(CRD,Custom ResourcesDefinition)机制存储的信息。
本发明实施例还提供了一种信息处理装置,包括:
监听单元,用于监听配置信息的更新事件;
第一处理单元,用于监听到更新事件为针对新服务的创建事件,并获取新服务对应的配置信息;
第二处理单元,用于利用所述新服务对应的配置信息,在Kubernetes集群中为所述新服务配置至少一个容器实例,并为所述新服务配置负载均衡规则,使得所述至少一个容器实例中的每个容器实例均能够获取与所述新服务对应的相应负载均衡规则,以进行负载均衡。
本发明实施例还提供了一种信息处理装置,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;
其中,所述处理器用于运行所述计算机程序时,执行上述任一方法的步骤。
本发明实施例还提供了一种存储介质,所述介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。
本发明实施例提供的信息处理方法、装置以及存储介质,监听配置信息的更新事件;监听到更新事件为针对新服务的创建事件,获取新服务对应的配置信息;利用所述新服务对应的配置信息,在Kubernetes集群中为所述新服务配置至少一个容器实例,并为所述新服务配置负载均衡规则,使得所述至少一个容器实例中的每个容器实例均能够获取与所述新服务对应的相应负载均衡规则,以进行负载均衡。本发明实施例的方案,利用容器化技术管理负载均衡器,并分别为Kubernetes集群中的每个服务配置一组不同的负载均衡器,一组负载均衡器仅针对一种服务进行负载均衡;如此,在不改造服务的前提下实现了服务发现功能,并实现了服务隔离,使得各服务的负载均衡功能不再交叉影响,进而提升了Kubernetes集群的工作效率,并提升了用户体验。
附图说明
图1为本发明实施例信息处理方法的流程示意图;
图2为本发明应用实施例信息处理方法的流程示意图;
图3为本发明实施例信息处理装置的结构示意图;
图4为本发明实施例信息处理装置的硬件组成结构示意图。
具体实施方式
以下结合说明书附图及实施例对本发明的技术方案作进一步详细的阐述。
相关技术中,为了实现服务的发现,通常需要对服务进行改造,并在服务开始运行或服务进行修改时,主动将服务信息注册到注册中心;并且,Kubernetes集群(即Kubernetes平台)中的所有服务通常会共同使用一组负载均衡器,在实现负载均衡时,可以使用Lua或实际抽取与汇报语言(Perl,Practical Extraction and Reporting Language)等脚本语言或第三方插件对所述负载均衡器进行扩展以实现负载均衡。具体地,在实现负载均衡时,可以采用轮询等方式监测注册中心的变化;例如用脚本语言编写超文本传输协议(HTTP,HyperText Transfer Protocol)请求轮询注册中心,编写的HTTP请求用于从注册中心获取所述负载均衡器需要的网际互连协议(IP,Internet Protocol)地址,这样,就可以对所述负载均衡器中的上游服务器IP进行动态更新;同时,由于Kubernetes集群中的所有服务共同使用所述负载均衡器,所以需要基于IP地址、端口、统一资源定位符(URL,Uniform Resource Locator)以及宿主机(Host)名称等信息将用户流量分发到对应的服务上。另外,针对所述负载均衡器,可以将所述负载均衡器的配置文件通过RESTful API直接传入所述负载均衡器的后端并重新加载所述负载均衡器,以实现所述负载均衡器的配置修改。
上述发现服务的方法以及负载均衡的方法比较适用于Kubernetes集群规模较小、业务复杂性较低的应用场景,随着Kubernetes集群规模的扩展、业务复杂性的提高,上述方法会存在以下问题:
第一,使用脚本语言或第三方插件对负载均衡器进行扩展以实现负载均衡,会使得调试运维成本较高;
第二,对服务进行改造,并在服务开始运行或服务进行修改时,主动将服务信息注册到注册中心;会使得Kubernetes集群的工作效率降低;
第三,采用轮询等方式监测注册中心的变化,也会使得Kubernetes集群的工作效率降低;
第四,Kubernetes集群中的所有服务共同使用一组负载均衡器,服务之间的隔离性较差;如果其中一个服务的请求流量过高,会导致其它服务的延迟增大,用户体验降低。
基于此,在本发明的各种实施例中,利用容器化技术管理负载均衡器,并分别为Kubernetes集群中的每个服务配置一组不同的负载均衡器,一组负载均衡器仅针对一种服务进行负载均衡;如此,在不改造服务的前提下实现了服务发现功能,并实现了服务隔离,使得各服务的负载均衡功能不再交叉影响,进而提升了Kubernetes集群的工作效率,并提升了用户体验。
需要说明的是,在本发明实施例中,一个负载均衡器为Kubernetes集群中的一个容器实例,所述容器实例可以是对Nginx、Linux虚拟服务器(LVS,Linux Virtual Server)或HAProxy等软件负载均衡器进行容器化处理后得到的容器实例;以此来实现利用容器化技术管理负载均衡器。
本发明实施例提供了一种信息处理方法,如图1所示,所述方法包括以下步骤:
步骤101:监听配置信息的更新事件;
步骤102:监听到更新事件为针对新服务的创建事件,获取新服务对应的配置信息;
步骤103:利用所述新服务对应的配置信息,在Kubernetes集群中为所述新服务配置至少一个容器实例,并为所述新服务配置负载均衡规则,使得所述至少一个容器实例中的每个容器实例均能够获取与所述新服务对应的相应负载均衡规则,以进行负载均衡。
在步骤101中,实际应用时,可以由Kubernetes集群中主(Master)节点上的控制器(Controller)利用client-go项目中的list-watch机制监听Kubernetes集群的APIServer组件所缓存的配置信息;所述配置信息可以是利用CRD机制存储的信息;这里,CRD机制是可以将一组自定义的资源注册到Kubernetes集群、并在Kubernetes集群中生成可以对自定义的资源进行编辑的RESTful API的技术;list-watch机制由两部分功能组成,分别是list功能和watch功能,list功能基于超文本传输协议(HTTP,HyperText Transfer Protocol)短连接实现,用于罗列所述配置信息;watch功能基于HTTP长连接实现,用于监听所述配置信息的更新事件。
实际应用时,所述配置信息的更新事件,可以是用户通过平台即服务(PaaS,Platform as a Service)平台(例如大云PaaS平台BC-PaaS)向APIServer组件发送请求消息所创建的事件,所述请求消息可以用于请求对APIServer组件缓存的配置信息进行编辑;APIServer组件可以通过RESTful API接收所述请求消息,并针对所述配置信息创建所述请求消息对应的更新事件,即对所述配置信息执行所述请求消息对应的编辑操作。
在步骤102中,实际应用时,所述配置信息可以包括负载均衡器配置信息和负载均衡规则配置信息;当用户通过PaaS平台对APIServer组件缓存的所述配置信息进行编辑时,可以通过负载均衡规则配置信息对负载均衡器配置信息和Kubernetes集群中的服务进行关联,以对负载均衡器和Kubernetes集群中的服务进行绑定;具体地,对于在Kubernetes集群中创建的新服务,用户可以在负载均衡器配置信息中创建至少一个容器实例的配置信息,并在每个容器实例的配置信息中添加第一标识,所述第一标识可以是相应容器实例自身的名称(即负载均衡器的名称);同时,用户可以在负载均衡规则配置信息中创建负载均衡规则的配置信息,并在负载均衡规则配置信息中添加第二标识和第三标识;所述第二标识用于确定所述创建的负载均衡规则的配置信息对应的负载均衡规则所对应的容器实例(即用于与第一标识进行匹配),所述第三标识用于确定所述创建的负载均衡规则的配置信息对应的负载均衡规则所对应的服务(即用于与创建的新服务进行匹配),所述第三标识可以是服务的名称(即所述第三标识可以用于与创建的新服务的服务名称进行匹配);这样,对于所述创建的新服务,可以通过创建的负载均衡规则的配置信息将所述新服务和创建的至少一个容器实例的配置信息进行关联;也就是说,对于所述创建的新服务,创建的至少一个容器实例的配置信息以及创建的负载均衡规则的配置信息即是所述新服务对应的配置信息;同时,可以在监听到和所述新服务相关联的负载均衡器配置信息的创建事件以及负载均衡规则配置信息的创建时,确定监听到了针对新服务的创建事件。
实际应用时,在监听到的更新事件为针对新服务的创建事件时,Controller可以通过第一接口获取配置信息;这里,所述第一接口可以是APIServer组件上的RESTful API。具体地,由于所述配置信息可以包括负载均衡器配置信息和负载均衡规则配置信息,所以可以由第一Controller通过一个第一接口获取负载均衡器配置信息,并由第二Controller通过另一个第一接口获取负载均衡规则配置信息。
在步骤103中,实际应用时,可以在第一Controller通过一个第一接口获取负载均衡器配置信息后,由第一Controller根据获取的负载均衡器配置信息,在Kubernetes集群中为所述新服务创建至少一个容器实例;并在第二Controller通过另一个第一接口获取负载均衡规则配置信息后,由第二Controller根据获取的负载均衡规则配置信息,在Kubernetes集群中为所述新服务创建至少一个负载均衡规则;所述至少一个负载均衡规则可以是具备7层HTTP路由机制的负载均衡规则(比如Ingress规则)或具备4层HTTP路由机制的负载均衡规则(比如ConfigMap规则);所述至少一个负载均衡规则中的每个负载均衡规则对应的第三标识均与所述新服务对应。并且,所述至少一个负载均衡规则可以和所述至少一个容器实例一一对应,即所述至少一个负载均衡规则中的每个负载均衡规则对应的第二标识都不相同;当然,也可以使所述一个容器实例对应同一个负载均衡规则,即仅为所述新服务配置了一个负载均衡规则,这一个负载均衡规则的第二标识能够和所述至少一个容器实例中的每个容器实例对应;具体可以由用户根据需要进行设置。
实际应用时,在Kubernetes集群中为所述新服务创建的至少一个负载均衡规则可以缓存在APIServer组件中,具体可以是Ingress资源或ConfigMap资源;这样,对于在Kubernetes集群中创建的用于进行负载均衡的容器实例,所述容器实例可以通过对Ingress资源或ConfigMap资源进行监听,获取自身对应的负载均衡规则,并根据获取的负载均衡规则确定自身对应的服务;同时,所述容器实例可以对APIServer组件中的服务资源进行监听,以获取自身对应的服务的配置信息(例如自身需要进行负载均衡的至少一个容器实例中每个容器实例的IP地址),根据获取的自身对应服务的配置信息进行负载均衡。如此,在不改造服务的前提下实现了服务发现功能,并实现了服务隔离,使得各服务的负载均衡功能不再交叉影响,进而提升了Kubernetes集群的工作效率,并提升了用户体验。
实际应用时,可以由Master节点中的第一Controller利用client-go项目中的list-watch机制监听APIServer组件所缓存的负载均衡器配置信息,根据监听到的针对负载均衡器配置信息的更新事件,针对为所述新服务配置的至少一个容器实例执行相应的操作;并且,可以由Master节点中的第二Controller利用client-go项目中的list-watch机制监听APIServer组件所缓存的负载均衡规则配置信息,根据监听到的针对负载均衡规则配置信息的更新事件,针对为所述新服务配置的至少一个负载均衡规则执行相应的操作;如此,用户可以通过PaaS平台对用于进行负载均衡的容器实例以及负载均衡规则进行编辑,灵活地修改为所述新服务配置的一组负载均衡器的配置信息,进一步提升用户体验。
基于此,在一实施例中,所述方法还可以包括:
监听到所述配置信息中负载均衡器配置信息的更新事件;
获取更新后的负载均衡器配置信息;
利用所述更新后的负载均衡器配置信息,针对配置的至少一个容器实例,执行相应的操作。
实际应用时,所述配置信息中负载均衡器配置信息的更新事件,可以是对所述负载均衡器配置信息的添加、修改或删除;相应的,针对配置的至少一个容器实例,执行相应的操作,可以是在所述至少一个容器实例中再添加至少一个新的容器实例的操作、修改所述至少一个容器实例的运行参数的操作或删除至少一个容器实例的操作。具体地,所述针对配置的至少一个容器实例,执行相应的操作,可以包括:
利用所述更新后的负载均衡器配置信息,在Kubernetes集群中为所述新服务再配置新的至少一个容器实例;或者,利用所述更新后的负载均衡器配置信息,在Kubernetes集群中修改所述配置的至少一个容器实例的运行参数;或者,在Kubernetes集群中删除所述配置的至少一个容器实例。
实际应用时,在一实施例中,所述方法还可以包括:
监听到所述配置信息中负载均衡规则配置信息的更新事件;
获取更新后的负载均衡规则配置信息;
利用所述更新后的负载均衡规则配置信息,针对配置的负载均衡规则,执行相应操作。
实际应用时,所述配置信息中负载均衡规则配置信息的更新事件,可以是对所述负载均衡规则配置信息的添加、修改或删除;相应的,针对配置的负载均衡规则,执行相应操作,可以是在至少一个负载均衡规则中再添加新的至少一个负载均衡规则的操作、修改至少一个负载均衡规则的运行参数的操作或删除至少一个负载均衡规则的操作。具体地,所述针对配置的负载均衡规则,执行相应操作,可以包括:
利用所述更新后的负载均衡规则配置信息,在Kubernetes集群中为所述新服务再配置新的负载均衡规则;或者,利用所述更新后的负载均衡规则配置信息,在Kubernetes集群中修改所述配置的负载均衡规则的运行参数;或者,在Kubernetes集群中删除所述配置的负载均衡规则。
本发明实施例提供的信息处理方法,监听配置信息的更新事件;监听到更新事件为针对新服务的创建事件,获取新服务对应的配置信息;利用所述新服务对应的配置信息,在Kubernetes集群中为所述新服务配置至少一个容器实例,并为所述新服务配置负载均衡规则,使得所述至少一个容器实例中的每个容器实例均能够获取与所述新服务对应的相应负载均衡规则,以进行负载均衡;如此,在不改造服务的前提下实现了服务发现功能,并实现了服务隔离,使得各服务的负载均衡功能不再交叉影响,进而提升了Kubernetes集群的工作效率,并提升了用户体验。
下面结合应用实施例对本发明再作进一步详细的描述。
如图2所示,本发明应用实施例提供的信息处理方法,将Kubernetes集群划分为管理集群和业务集群,管理集群由Web前端和PaaS平台(bc-paas或lb-bcpaas)组成,业务集群由Master节点、负载均衡节点(即运行有用于进行负载均衡的容器实例的节点)以及从(Slave)节点组成;用户可以通过bc-paas或lb-bcpaas调用APIServer组件中的负载均衡器配置资源(lb-crd,即上述负载均衡器配置信息)和负载均衡规则配置资源(lbrule-crd,即上述负载均衡规则配置信息),对调用的资源进行添加、修改和删除的操作;Master节点中的负载均衡器控制器(lbrule-crd-controller)用于监听lbrule-crd,在监听到用户在APIServer组件中创建、修改、删除lbrule-crd的事件后,在业务集群中对Ingress规则(具备7层HTTP路由机制的负载均衡规则)或ConfigMap配置(具备4层HTTP路由机制的负载均衡规则)进行相应的创建、修改、删除的操作;Ingress资源和ConfigMap资源缓存在APIServer组件中;Master节点中的负载均衡规则控制器(lb-crd-controller)用于监听lb-crd,在监听到用户在APIServer组件中创建、修改、删除lb-crd的事件后,在业务集群中进行相应的创建、修改、删除lb的操作;lb运行在业务集群中的负载均衡节点上;lb用于监听APIServer组件中的Ingress资源和ConfigMap资源(即监听负载均衡规则),获取自身对应的Ingress规则或ConfigMap配置,以对Slave节点中的容器(Pod-01)进行负载均衡;lb还用于利用client-go项目中的list-watch机制监听APIServer组件中的服务资源,在监听到自身对应的服务的上线、扩容、或删除事件时,捕获所述上线、扩容、或删除事件对应的Pod-01的IP地址的变化,调用预设的回调函数,所述回调函数用于将所述捕获的变化记录到lb缓存的待处理的消息队列中,并触发事件处理函数,以根据所述捕获的变化渲染lb的新的配置信息(即修改lb的运行参数)。通过上述结构,用户可以在APIServer组件中利用lbrule-crd将Kubernetes集群中的服务和lb-crd进行关联,即对Kubernetes集群中的服务和lb进行绑定,实现一个服务对应一组lb,避免了服务之间的交叉影响。具体地,本发明实施例提供的信息处理方法可以包括以下步骤:
步骤201:bc-paas或lb-bcpaas与Web前端对接,并基于APIServer组件的RESTfulAPI与纳管业务集群的APIServer组件进行通信,对CRD资源lbrule-crd和lb-crd进行增加、删除、修改和查询的操作;
步骤202:lbrule-crd-controller和lb-crd-controller分别监听到了在APIServer组件中创建lbrule-crd和创建lb-crd的事件,并分别触发了lbrule的实际处理逻辑和lb的实际处理逻辑;
步骤203:对于触发的lb的实际处理逻辑,针对在APIServer组件中创建的lb-crd,在业务集群中创建Deployment lb(即在集群中创建lb);
步骤204:对于触发的lbrule的实际处理逻辑,针对在APIServer组件中创建的lbrule-crd,在业务集群中创建Ingress规则或ConfigMap配置;
步骤205:针对在业务集群中创建的lb,lb监听APIServer组件中的Ingress资源和ConfigMap资源,获取自身对应的Ingress规则或ConfigMap配置;
步骤206:针对在业务集群中创建的lb,lb根据获取的自身对应的Ingress规则或ConfigMap配置,对自身的配置进行动态渲染;并利用Host模式监听本机端口,将接收的外部流量负载到自身对应的服务所对应的Pod-01的IP地址;以实现负载均衡。
这里,需要说明的是,上述步骤201至步骤206并非是本发明应用实施例提供的信息处理方法的执行顺序,实际应用时,步骤201至步骤206可能同时执行;具体执行哪个步骤需要根据用户的实际操作来确定。
这里,本应用实施例提供的信息处理方法的具体实现过程与图1所示的信息处理方法中步骤101至步骤103的具体实现过程相同,这里不多赘述。
本应用实施例提供的信息处理方法,具备以下优点:
第一,利用PaaS平台的原生优势,简化了服务发现的过程,避免为了实现服务的发现而对服务进行的改造升级;并且,利用list-watch机制替代了轮询探测的机制,资源消耗较少,节约了资源,进而大大提高了Kubernetes集群的工作效率;
第二,对负载均衡器进行了容器化处理,即通过容器技术对负载均衡器进行隔离;并实现一个服务对应一组负载均衡器容器实例,进一步实现了服务隔离;如此,避免了不同服务之间的交叉影响。
为了实现本发明实施例的方法,本发明实施例还提供了一种信息处理装置,如图3所示,信息处理装置300包括监听单元301、第一处理单元302和第二处理单元303;其中:
所述监听单元301,用于监听配置信息的更新事件;
所述第一处理单元302,用于监听到更新事件为针对新服务的创建事件,并获取新服务对应的配置信息;
所述第二处理单元303,用于利用所述新服务对应的配置信息,在Kubernetes集群中为所述新服务配置至少一个容器实例,并为所述新服务配置负载均衡规则,使得所述至少一个容器实例中的每个容器实例均能够获取与所述新服务对应的相应负载均衡规则,以进行负载均衡。
在一实施例中,所述第一处理单元302,还用于:
监听到所述配置信息中负载均衡器配置信息的更新事件;
获取更新后的负载均衡器配置信息;
利用所述更新后的负载均衡器配置信息,针对配置的至少一个容器实例,执行相应的操作。
在一实施例中,所述第一处理单元302,具体用于:
利用所述更新后的负载均衡器配置信息,在Kubernetes集群中为所述新服务再配置新的至少一个容器实例;或者,利用所述更新后的负载均衡器配置信息,在Kubernetes集群中修改所述配置的至少一个容器实例的运行参数;或者,在Kubernetes集群中删除所述配置的至少一个容器实例。
在一实施例中,所述第一处理单元302,还用于:
监听到所述配置信息中负载均衡规则配置信息的更新事件;
获取更新后的负载均衡规则配置信息;
利用所述更新后的负载均衡规则配置信息,针对配置的负载均衡规则,执行相应操作。
在一实施例中,所述第一处理单元302,具体用于:
利用所述更新后的负载均衡规则配置信息,在Kubernetes集群中为所述新服务再配置新的负载均衡规则;或者,利用所述更新后的负载均衡规则配置信息,在Kubernetes集群中修改所述配置的负载均衡规则的运行参数;或者,在Kubernetes集群中删除所述配置的负载均衡规则。
在一实施例中,所述监听单元301,还用于:
通过第一接口获取配置信息;所述第一接口为RESTful API。
在一实施例中,所述配置信息是利用CRD机制存储的信息。
实际应用时,所述监听单元301、第一处理单元302和所述第二处理单元303可由信息处理装置300中的处理器结合通信接口实现;所述处理器可以是中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital Signal Processor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA,Field-Programmable GateArray)。
需要说明的是:上述实施例提供的信息处理装置300在进行信息处理时,仅以上述各程序模块的划分进行举例说明,实际应用时,可以根据需要而将上述处理分配由不同的程序模块完成,即将终端的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的装置与信息处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述设备的硬件实现,本发明实施例还提供了一种信息处理装置,图4为本发明实施例的信息处理装置的硬件组成结构示意图,如图4所示,信息处理装置40包括存储器43、处理器42及存储在存储器43上并可在处理器42上运行的计算机程序,所述处理器42执行所述程序时实现上述一个或多个技术方案提供的方法。
具体地,位于信息处理装置40的处理器42执行所述程序时实现:监听配置信息的更新事件;监听到更新事件为针对新服务的创建事件,获取新服务对应的配置信息;利用所述新服务对应的配置信息,在Kubernetes集群中为所述新服务配置至少一个容器实例,并为所述新服务配置负载均衡规则,使得所述至少一个容器实例中的每个容器实例均能够获取与所述新服务对应的相应负载均衡规则,以进行负载均衡。
需要说明的是,位于信息处理装置40的处理器42执行所述程序时实现的具体步骤已在上文详述,这里不再赘述。
可以理解,信息处理装置40还包括通信接口41,所述通信接口41用于和其它设备进行信息交互;同时,信息处理装置40中的各个组件通过总线系统44耦合在一起。可理解,总线系统44配置为实现这些组件之间的连接通信。总线系统44除包括数据总线之外,还包括电源总线、控制总线和状态信号总线等。
可以理解,本实施例中的存储器43可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,ReadOnly Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,RandomAccess Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
上述本发明实施例揭示的方法可以应用于处理器42中,或者由处理器42实现。处理器42可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器42中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器42可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器42可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器42读取存储器中的信息,结合其硬件完成前述方法的步骤。
本发明实施例还提供了一种存储介质,具体为计算机存储介质,更具体的为计算机可读存储介质。其上存储有计算机指令,即计算机程序,该计算机指令被处理器执行时上述一个或多个技术方案提供的方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
另外,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种信息处理方法,其特征在于,包括:
监听配置信息的更新事件;
监听到更新事件为针对新服务的创建事件,获取新服务对应的配置信息;其中,所述新服务对应的配置信息包括负载均衡器配置信息和负载均衡规则配置信息;
利用所述新服务对应的配置信息,在Kubernetes集群中为所述新服务配置至少一个容器实例,并为所述新服务配置负载均衡规则,使得所述至少一个容器实例中的每个容器实例均能够获取与所述新服务对应的相应负载均衡规则,以进行负载均衡;
其中,所述Kubernetes集群中的主节点上的控制器利用list-watch机制监听所述Kubernetes集群的组件缓存的配置信息;其中,所述list-watch机制包括list功能和watch功能,所述list功能用于罗列所述配置信息,所述watch功能用于监听所述配置信息的更新事件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
监听到所述配置信息中负载均衡器配置信息的更新事件;
获取更新后的负载均衡器配置信息;
利用所述更新后的负载均衡器配置信息,针对配置的至少一个容器实例,执行相应的操作。
3.根据权利要求2所述的方法,其特征在于,所述针对配置的至少一个容器实例,执行相应的操作,包括:
利用所述更新后的负载均衡器配置信息,在Kubernetes集群中为所述新服务再配置新的至少一个容器实例;或者,
利用所述更新后的负载均衡器配置信息,在Kubernetes集群中修改所述配置的至少一个容器实例的运行参数;或者,
在Kubernetes集群中删除所述配置的至少一个容器实例。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
监听到所述配置信息中负载均衡规则配置信息的更新事件;
获取更新后的负载均衡规则配置信息;
利用所述更新后的负载均衡规则配置信息,针对配置的负载均衡规则,执行相应操作。
5.根据权利要求4所述的方法,其特征在于,所述针对配置的负载均衡规则,执行相应操作,包括:
利用所述更新后的负载均衡规则配置信息,在Kubernetes集群中为所述新服务再配置新的负载均衡规则;或者,
利用所述更新后的负载均衡规则配置信息,在Kubernetes集群中修改所述配置的负载均衡规则的运行参数;或者,
在Kubernetes集群中删除所述配置的负载均衡规则。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
通过第一接口获取配置信息;所述第一接口为RESTful应用程序接口API。
7.根据权利要求1所述的方法,其特征在于,所述配置信息是利用自定义资源CRD机制存储的信息。
8.一种信息处理装置,其特征在于,包括:
监听单元,用于监听配置信息的更新事件;
第一处理单元,用于监听到更新事件为针对新服务的创建事件,并获取新服务对应的配置信息;所述新服务对应的配置信息包括负载均衡器配置信息和负载均衡规则配置信息;
第二处理单元,用于利用所述新服务对应的配置信息,在Kubernetes集群中为所述新服务配置至少一个容器实例,并为所述新服务配置负载均衡规则,使得所述至少一个容器实例中的每个容器实例均能够获取与所述新服务对应的相应负载均衡规则,以进行负载均衡;
其中,所述监听单元,还用于在所述Kubernetes集群中的主节点上的控制器利用list-watch机制监听所述Kubernetes集群的组件缓存的配置信息,其中,所述list-watch机制包括list功能和watch功能,所述list功能用于罗列所述配置信息,所述watch功能用于监听所述配置信息的更新事件。
9.一种信息处理装置,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;
其中,所述处理器用于运行所述计算机程序时,执行权利要求1至7任一项所述方法的步骤。
10.一种存储介质,所述介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
CN202010092702.2A 2020-02-14 2020-02-14 信息处理方法、装置以及存储介质 Active CN113268308B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010092702.2A CN113268308B (zh) 2020-02-14 2020-02-14 信息处理方法、装置以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010092702.2A CN113268308B (zh) 2020-02-14 2020-02-14 信息处理方法、装置以及存储介质

Publications (2)

Publication Number Publication Date
CN113268308A CN113268308A (zh) 2021-08-17
CN113268308B true CN113268308B (zh) 2023-04-07

Family

ID=77227352

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010092702.2A Active CN113268308B (zh) 2020-02-14 2020-02-14 信息处理方法、装置以及存储介质

Country Status (1)

Country Link
CN (1) CN113268308B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114710549B (zh) * 2022-02-25 2023-09-22 网宿科技股份有限公司 一种容器平台中网卡的动态管理方法、系统及业务节点
CN116893834B (zh) * 2023-09-11 2023-12-12 中移(苏州)软件技术有限公司 负载更新方法、装置、系统、电子设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170302730A1 (en) * 2016-04-18 2017-10-19 Nokia Technologies Oy Multi-level load balancing
CN108712464A (zh) * 2018-04-13 2018-10-26 中国科学院信息工程研究所 一种面向集群微服务高可用的实现方法
CN109032760A (zh) * 2018-08-01 2018-12-18 北京百度网讯科技有限公司 用于部署应用的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170302730A1 (en) * 2016-04-18 2017-10-19 Nokia Technologies Oy Multi-level load balancing
CN108712464A (zh) * 2018-04-13 2018-10-26 中国科学院信息工程研究所 一种面向集群微服务高可用的实现方法
CN109032760A (zh) * 2018-08-01 2018-12-18 北京百度网讯科技有限公司 用于部署应用的方法和装置

Also Published As

Publication number Publication date
CN113268308A (zh) 2021-08-17

Similar Documents

Publication Publication Date Title
CN108829459B (zh) 基于Nginx服务器的配置方法、装置、计算机设备和存储介质
CN108924274B (zh) 域名系统dns处理方法、装置、存储介质及电子设备
US11249788B2 (en) Cloud management platform, and virtual machine management method and system
CN113301116A (zh) 微服务应用跨网络通信方法、装置、系统及设备
CN113141405B (zh) 服务访问方法、中间件系统、电子设备和存储介质
CN113268308B (zh) 信息处理方法、装置以及存储介质
CN106331065A (zh) 一种用于具有服务容器的主机系统的代理应用以及系统
CN112799825A (zh) 一种任务处理方法和网络设备
CN111064626B (zh) 配置更新方法、装置、服务器及可读存储介质
CN111787126A (zh) 容器创建方法、服务器及存储介质
CN109194589B (zh) 一种mdc实现方法及装置
CN111090495A (zh) 节点管理方法、装置、设备、存储介质和系统
CN116805946A (zh) 一种消息请求处理方法、装置、电子设备及存储介质
CN112583760B (zh) 一种对象存储的访问方法、装置、设备和计算机存储介质
CN103118248A (zh) 监控方法、监控代理、监控服务器和系统
CN114070889B (zh) 配置方法、流量转发方法、设备、存储介质及程序产品
CN111769992B (zh) 一种网络数据的管理方法、云平台及存储介质
CN114615263A (zh) 集群在线迁移方法、装置、设备及存储介质
CN114422358A (zh) Api网关配置更新方法及设备
CN108733805B (zh) 文件交互方法、系统、计算机设备和存储介质
CN112199176A (zh) 一种业务处理方法、装置及相关设备
CN109271310B (zh) 移动应用程序网络功能的开发测试方法和装置
CN114911421B (zh) 基于csi插件的数据存储方法、系统、装置及存储介质
CN113127145B (zh) 信息处理方法、装置以及存储介质
CN110768855A (zh) 链路化性能测试的方法和装置

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