CN114153566A - 跨处理器架构多容器集群间服务发现方法、装置及设备 - Google Patents
跨处理器架构多容器集群间服务发现方法、装置及设备 Download PDFInfo
- Publication number
- CN114153566A CN114153566A CN202111558236.3A CN202111558236A CN114153566A CN 114153566 A CN114153566 A CN 114153566A CN 202111558236 A CN202111558236 A CN 202111558236A CN 114153566 A CN114153566 A CN 114153566A
- Authority
- CN
- China
- Prior art keywords
- service
- cluster
- information
- local
- component
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000001514 detection method Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008676 import Effects 0.000 claims description 7
- 238000013500 data storage Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- RJKFOVLPORLFTN-LEKSSAKUSA-N Progesterone Chemical compound C1CC2=CC(=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H](C(=O)C)[C@@]1(C)CC2 RJKFOVLPORLFTN-LEKSSAKUSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 235000015097 nutrients Nutrition 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种跨处理器架构多容器集群间服务发现方法、装置及设备,涉及计算机技术领域。该方法包括:利用本地集群代理组件根据本地服务资源生成本地集群的服务信息,并将所述服务信息发送给所在集群集的全局服务中介组件;通过所述集群代理组件,从所述全局服务中介组件导入所述集群集内其他集群的服务信息;获取服务请求,利用本地的DNS服务器插件根据本地存储的所述服务信息解析所述服务请求,确定出所述服务请求对应的访问路由信息以实现服务访问。能够实现跨处理器架构的多容器集群之间的服务发现。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种跨处理器架构多容器集群间服务发现方法、装置及设备。
背景技术
从“互联网+”开始,互联网企业开始取代传统IT企业成为了数据时代的领军者,以开源技术作为“营养液”,借助微服务化、容器、迭代、DevOps、AIOps等一些列原生化应用操作,互联网企业对于传统行业/企业进行了无情碾压。对于传统行业企业来说,需要加速完成应用的云原生化改造以及创新。目前,除了传统的X86处理,以ARM、RISC-V等处理器也在飞速发展,呈现多架构并存的态势;同时,随着容器业务规模的不断扩张,用户的集群规模和集群数量越来越大,用户为了规避集中式构建带来的应用高可用风险,降低单一大规模集群调度复杂度,普遍采用中小规模多集群的方式进行容器计算能力构建。所以,如何实现跨处理器架构的不同集群之间如何实现跨集群的服务发现变得尤为重要。
现有技术中,Kubernetes集群已有的服务发现机制,将服务名称和集群内部IP对应关系保存到本集群的CoreDNS组件中,当集群内采用进行服务发现时,CoreDNS会根据服务名称和服务所属命名空间进行域名解析,完成服务发现,(DNS即Domain nameresolution,中文名为域名解析,域名解析是指把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务; CoreDNS为Kubernetes提供的一种DNS服务器)。然而,当存在跨集群服务访问的时候,使用原有的CoreDNS方案就无法实现服务发现了。因此,如何实现跨处理器架构的多容器集群之间的服务发现是目前亟需解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种跨处理器架构多容器集群间服务发现方法、装置及设备,能够实现跨处理器架构的多容器集群之间的服务发现。其具体方案如下:
第一方面,本申请公开了一种跨处理器架构多容器集群间服务发现方法,包括:
可选的,所述根据本地服务资源生成本地集群的服务信息,并将所述服务信息发送给所在集群集的全局服务中介组件,包括:
通过查询暴漏服务确定出本地集群内创建的跨集群服务的服务资源;
基于所述服务资源创建对应的影子服务,并将所述影子服务作为所述服务信息发送给所在集群集的全局服务中介组件。
可选的,所述从所述全局服务中介组件导入所述集群集内其他集群的服务信息,包括:
从所述全局服务中介组件获取所述集群集内其他集群的服务信息,以得到其他集群内的服务资源对应的影子服务;
创建所述影子服务的副本,并将所述副本存储至本地。
可选的,所述根据本地服务资源生成本地集群的服务信息,包括:
按照第一预设检测周期,周期性检测本地新创建的服务资源,并根据所述服务资源生成本地集群的服务信息;
所述从所述全局服务中介组件导入所述集群集内其他集群的服务信息,包括:
按照第二预设检测周期,周期性从所述全局服务中介组件内导入所述全局服务中介组件新接收的所述集群集内其他集群的服务信息。
可选的,所述将所述服务信息发送给所在集群集的全局服务中介组件之前,还包括:
在所述集群集内的目标集群上创建单例组件,并将所述单例组件存储至所述目标集群的键值对数据存储系统;所述目标集群包含开放访问的API;
配置所述单例组件的服务账户和角色访问控制信息,定义端点参数和集群参数,以得到所述全局服务中介组件;所述端点参数包括IP地址,所述集群参数包括服务的无类别域间路由。
可选的,所述确定出所述服务请求对应的访问路由信息之后,还包括:
若根据所述访问路由信息确定出所述服务请求为跨集群服务请求,则根据所述访问路由信息通过跨集群隧道进行服务访问。
可选的,所述跨处理器架构多容器集群间服务发现方法,还包括:
监测所述全局服务中介组件的运行状态,若所述全局服务中介组件发生故障,启用预先创建的备用全局服务中介组件。
可选的,所述获取服务请求,利用本地的DNS服务器插件根据本地存储的所述服务信息解析所述服务请求,确定出所述服务请求对应的访问路由信息以实现服务访问,包括:
解析所述服务请求提取出域名字段,判断所述域名字段是否为跨集群服务访问域名;
若所述域名字段是跨集群服务访问域名,则通过CoreDNS组件将所述服务请求转发给所述DNS服务器插件;
利用所述DNS服务器插件,根据本地存储的所述服务信息对所述服务请求进行DNS解析,以确定出所述服务请求对应的访问路由信息,以便根据所述访问路由信息进行服务访问。
第二方面,本申请公开了一种跨处理器架构多容器集群间服务发现装置,包括:
服务信息发送模块,用于利用本地集群代理组件根据本地服务资源生成本地集群的服务信息,并将所述服务信息发送给所在集群集的全局服务中介组件;
服务信息获取模块,用于通过所述集群代理组件,从所述全局服务中介组件导入所述集群集内其他集群的服务信息;
访问路由确定模块,用于获取服务请求,利用本地的DNS服务器插件根据本地存储的所述服务信息解析所述服务请求,确定出所述服务请求对应的访问路由信息以实现服务访问。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的跨处理器架构多容器集群间服务发现方法。
本申请中,利用本地集群代理组件根据本地服务资源生成本地集群的服务信息,并将所述服务信息发送给所在集群集的全局服务中介组件;通过所述集群代理组件,从所述全局服务中介组件导入所述集群集内其他集群的服务信息;获取服务请求,利用本地的DNS服务器插件根据本地存储的所述服务信息解析所述服务请求,确定出所述服务请求对应的访问路由信息以实现服务访问。由上可见,通过集群集的全局服务中介组件作为服务信息的存储中介接收集群发送的服务信息,并将获取的服务信息提供给集群集内其他的集群,同时每个集群利用本地集群代理组件从全局服务中介组件导入其他集群的服务信息,从而每个集群内可以保存有集群集内所有集群向全局服务中介组件上传的服务信息,进而集群在接收到服务请求后,利用本地的DNS服务器插件根据本地存储的服务信息解析服务请求,确定出服务请求对应的访问路由信息以实现服务访问,以具备不同架构多容器集群之间服务发现能力,支持应用跨集群跨处理器架构部署,实现应用跨集群高可用,加速处理器多样化发展,推动云原生技术发展落地。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种跨处理器架构多容器集群间服务发现方法流程图;
图2为本申请提供的一种具体的跨处理器架构多容器集群间服务发现系统运行流程图;
图3为本申请提供的一种跨处理器架构多容器集群间服务发现装置结构示意图;
图4为本申请提供的一种电子设备结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,Kubernetes集群已有的服务发现机制,将服务名称和集群内部IP对应关系保存到本集群的CoreDNS组件中,当集群内采用进行服务发现时,CoreDNS会根据服务名称和服务所属命名空间进行域名解析,完成服务发现。然而,当存在跨集群服务访问的时候,使用原有的CoreDNS方案就无法实现服务发现了。为克服上述技术问题,本申请公开了一种跨处理器架构多容器集群间服务发现方法,能够实现跨处理器架构的多容器集群之间的服务发现。
本申请实施例公开了一种跨处理器架构多容器集群间服务发现方法,参见图1所示,该方法可以包括以下步骤:
步骤S11:利用本地集群代理组件根据本地服务资源生成本地集群的服务信息,并将所述服务信息发送给所在集群集的全局服务中介组件。
本实施例中,每个集群利用本地集群代理组件根据本地服务资源生成本地集群的服务信息,并将上述服务信息发送给所在集群集(ClusterSet)的全局服务中介组件,由此将本地的服务信息通过全局服务中介组件共享给集群集内其他组件。
本实施例中,所述根据本地服务资源生成本地集群的服务信息,并将所述服务信息发送给所在集群集的全局服务中介组件,可以包括:通过查询暴漏服务确定出本地集群内创建的跨集群服务(ServiceExport)的服务资源;基于所述服务资源创建对应的影子服务(ServiceImport),并将所述影子服务作为所述服务信息发送给所在集群集的全局服务中介组件。可以理解的是,集群内的服务可以包括跨集群服务和仅本地提供的服务,针对跨集群服务该类型服务本身会通过暴露服务表征自身想要被共享,因此通过查询暴漏服务可以确定出本地集群内创建的跨集群服务的服务资源,然后基于上述服务资源创建对应的影子服务,并将该影子服务作为服务信息发送给所在集群集的全局服务中介组件。
本实施例中,所述根据本地服务资源生成本地集群的服务信息,可以包括:按照第一预设检测周期,周期性检测本地新创建的服务资源,并根据所述服务资源生成本地集群的服务信息。即根据第一预设检测周期,周期性检测本地新创建的服务资源,并根据所述服务资源生成本地集群的服务信息,以便及时将本地新生成的跨集群服务的服务资源上传给全局服务中介组件,其中,上述第一预设检测周期可以根据用户需求进行配置。
步骤S12:通过所述集群代理组件,从所述全局服务中介组件导入所述集群集内其他集群的服务信息。
本实施例中,集群代理组件将本地服务信息上传给全局服务中介组件的同时,还从全局服务中介组件导入集群集内其他集群的服务信息。具体的,本实施例中,所述从所述全局服务中介组件导入所述集群集内其他集群的服务信息,可以包括:从所述全局服务中介组件获取所述集群集内其他集群的服务信息,以得到其他集群内的服务资源对应的影子服务;创建所述影子服务的副本,并将所述副本存储至本地。即为每一个其他集群导出到全局服务中介组件的服务信息,在本地集群中创建一个副本。
本实施例中,所述从所述全局服务中介组件导入所述集群集内其他集群的服务信息,可以包括:按照第二预设检测周期,周期性从所述全局服务中介组件内导入所述全局服务中介组件新接收的所述集群集内其他集群的服务信息。即根据第二预设检测周期,周期性检测全局服务中介组件新获取的服务信息,以便及时获取集群集内其他集群新上传到全局服务中介组件的服务资源,其中,上述第二预设检测周期可以根据用户需求进行配置。
本实施例中,所述将所述服务信息发送给所在集群集的全局服务中介组件之前,还可以包括:在所述集群集内的目标集群上创建单例组件,并将所述单例组件存储至所述目标集群的键值对数据存储系统;所述目标集群包含开放访问的API(ApplicationProgramming Interface,应用程序接口);配置所述单例组件的服务账户和角色访问控制信息,定义端点参数和集群参数,以得到所述全局服务中介组件;所述端点参数包括IP地址,所述集群参数包括服务的无类别域间路由。可以理解的是,由于全局服务中介组件作为服务信息的信息交换中介,需要集群内的所有集群均可访问,因此通过在目标集群上部署单例组件,该目标集群的Kubernetes API 必须可供所有参与集群访问,可以是参与集群之一,也可以是不参与服务发现的独立集群,并将上述单例组件存储至目标集群的键值对数据存储系统,上述键值对数据存储系统可以为Kubernetes Etcd ( Etcd是一个开源的、高可用的、分布式的键值对数据存储系统),由此全局服务中介组件可以促进集群集合内各参与集群之间的服务的元数据信息交换。也就是一个集群集内至少配置有一个全局服务中介组件。
进一步,可以配置上述单例组件的服务账户和角色访问控制信息,定义端点参数和集群参数,以得到功能完善的具有权限管理的全局服务中介组件,上述端点参数包括IP地址,上述集群参数包括服务的无类别域间路由。具体的,定义服务账户(ServiceAccount,Service Account为Pod中的进程和外部用户提供身份信息)和角色访问控制信息(Role-Based Access Control ,RBAC,基于角色的访问控制),在 RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限,以使其他组件能够安全地访问中介的API。并定义端点参数(endpoint)和集群参数(Cluster),endpoint主要携带集群的连接IP等信息,Cluster主要携带集群原始信息,如无类别域间路由(Classless Inter-DomainRouting,Service CIDR)信息等,通过为全局服务中介组件配置端点参数和集群参数将集群与IP的关联关系保存在全局服务中介组件。
由此,集群集合中的所有集群将需要暴露到整个集群集合的服务信息发送到全局服务中介组件,同时从全局服务中介组件中取走其他集群暴露的服务信息。当全局服务中介组件故障后,不影响数据面流量分发,因为每个集群内已经保存了从全局服务中介组件中导入的服务信息,此时仅会影响后续服务信息的同步,为解决此问题,本实施例中,所述跨处理器架构多容器集群间服务发现方法,还可以包括:监测所述全局服务中介组件的运行状态,若所述全局服务中介组件发生故障,启用预先创建的备用全局服务中介组件。即本实施例中通过在符合目标集群的集群上创建备用全局服务中介组件,在任意过程中,若发现当前使用的全局服务中介组件故障不再运行,则可以启用预先创建的备用全局服务中介组件。
也就是说,每个集群内都至少配置有一个集群代理组件,该组件运行在集群集的每一个集群上,可以通过访问全局服务中介组件的K8s集群的API Server,与其他集群交换服务元数据。导出当前集群的服务信息,同时导入其他集群的服务信息。具体的,每个集群内的集群代理组件连接全局服务中介组件所属运行集群的API Server,然后对于本地集群已经创建了跨集群服务的服务资源,本地集群代理创建对应的影子服务,并将其导出到全局服务中介以供其他集群使用,并为每一个其他集群导出到全局服务中介组件的服务信息,在本地集群中创建一个副本。
步骤S13:获取服务请求,利用本地的DNS服务器插件根据本地存储的所述服务信息解析所述服务请求,确定出所述服务请求对应的访问路由信息以实现服务访问。
本实施例中,集群在获取到服务请求后,利用本地的DNS服务器插件根据本地存储的上述服务信息解析该服务请求,由于服务信息中存储由每种服务的资源访问位置,由此可以确定出该服务请求对应的访问路由信息以实现服务访问。
本实施例中,所述确定出所述服务请求对应的访问路由信息之后,还可以包括:若根据所述访问路由信息确定出所述服务请求为跨集群服务请求,则根据所述访问路由信息通过跨集群隧道进行服务访问。即确定为跨集群流量时通过跨集群隧道进行访问,进而实现跨集群的服务访问和服务发现。
本实施例中,所述获取服务请求,利用本地的DNS服务器插件根据本地存储的所述服务信息解析所述服务请求,确定出所述服务请求对应的访问路由信息以实现服务访问,可以包括:解析所述服务请求提取出域名字段,判断所述域名字段是否为跨集群服务访问域名;若所述域名字段是跨集群服务访问域名,则通过CoreDNS组件将所述服务请求转发给所述DNS服务器插件;利用所述DNS服务器插件,根据本地存储的所述服务信息对所述服务请求进行DNS解析,以确定出所述服务请求对应的访问路由信息,以便根据所述访问路由信息进行服务访问。可以理解的是,根据访问流程跨集群访问会携带有跨集群服务访问域名,如kubernetes的跨集群服务访问域名为clusterset.local,也就是说DNS服务器插件是一个拥有clusterset.local域名的外部DNS服务器,CoreDNS组件将所有的发送到clusterset.local的请求都转发给DNS服务器插件,使用本地集群的存储的服务信息进行DNS解析,确定实际服务的访问路由信息。具体过程如图2所示,Pod尝试使用域名clusterset.local解析服务请求,若服务请求的域名字段为clusterset.local,则通过CoreDNS组件将服务请求转发给DNS服务器插件,然后DNS服务器插件使用存储的服务信息进行DNS解析,如果记录存在就返回,否则返回错误提示,如NXDomain。
随着用户业务系统在云原生架构下落地规模日益变大,同时由于处理器架构多元化发展,用户的云原生业务需要在跨处理器架构的多集群之间部署,实现跨集群服务发布、服务发现,从而完成复杂云原生业务跨处理器架构多集群部署。本申请,通过集群代理组件、DNS服务器插件和全局服务中介组件,实现了跨处理器架构多容器集群服务发现,主要可以应用于容器应用在不同架构处理器之间快速无差异构建,实现应用的跨处理器架构研发、部署,降低容器云平台在当前多架构处理器并存的生产环境中的落地难度,提升处理器架构切换的平滑性,加速云原生发展与落地,推动行业高速发展。
由上可见,本实施例中利用本地集群代理组件根据本地服务资源生成本地集群的服务信息,并将所述服务信息发送给所在集群集的全局服务中介组件;通过所述集群代理组件,从所述全局服务中介组件导入所述集群集内其他集群的服务信息;获取服务请求,利用本地的DNS服务器插件根据本地存储的所述服务信息解析所述服务请求,确定出所述服务请求对应的访问路由信息以实现服务访问。由上可见,通过集群集的全局服务中介组件作为服务信息的存储中介接收集群发送的服务信息,并将获取的服务信息提供给集群集内其他的集群,同时每个集群利用本地集群代理组件从全局服务中介组件导入其他集群的服务信息,从而每个集群内可以保存有集群集内所有集群向全局服务中介组件上传的服务信息,进而集群在接收到服务请求后,利用本地的DNS服务器插件根据本地存储的服务信息解析服务请求,确定出服务请求对应的访问路由信息以实现服务访问,以具备不同架构多容器集群之间服务发现能力,支持应用跨集群跨处理器架构部署,实现应用跨集群高可用,加速处理器多样化发展,推动云原生技术发展落地。
相应的,本申请实施例还公开了一种跨处理器架构多容器集群间服务发现装置,参见图3所示,该装置包括:
服务信息发送模块11,用于利用本地集群代理组件根据本地服务资源生成本地集群的服务信息,并将所述服务信息发送给所在集群集的全局服务中介组件;
服务信息获取模块12,用于通过所述集群代理组件,从所述全局服务中介组件导入所述集群集内其他集群的服务信息;
访问路由确定模块13,用于获取服务请求,利用本地的DNS服务器插件根据本地存储的所述服务信息解析所述服务请求,确定出所述服务请求对应的访问路由信息以实现服务访问。
由上可见,本实施例中利用本地集群代理组件根据本地服务资源生成本地集群的服务信息,并将所述服务信息发送给所在集群集的全局服务中介组件;通过所述集群代理组件,从所述全局服务中介组件导入所述集群集内其他集群的服务信息;获取服务请求,利用本地的DNS服务器插件根据本地存储的所述服务信息解析所述服务请求,确定出所述服务请求对应的访问路由信息以实现服务访问。由上可见,通过集群集的全局服务中介组件作为服务信息的存储中介接收集群发送的服务信息,并将获取的服务信息提供给集群集内其他的集群,同时每个集群利用本地集群代理组件从全局服务中介组件导入其他集群的服务信息,从而每个集群内可以保存有集群集内所有集群向全局服务中介组件上传的服务信息,进而集群在接收到服务请求后,利用本地的DNS服务器插件根据本地存储的服务信息解析服务请求,确定出服务请求对应的访问路由信息以实现服务访问,以具备不同架构多容器集群之间服务发现能力,支持应用跨集群跨处理器架构部署,实现应用跨集群高可用,加速处理器多样化发展,推动云原生技术发展落地。
在一些具体实施例中,所述服务信息发送模块11具体可以包括:
服务资源确定单元,用于通过查询暴漏服务确定出本地集群内创建的跨集群服务的服务资源;
影子服务创建单元,用于基于所述服务资源创建对应的影子服务,并将所述影子服务作为所述服务信息发送给所在集群集的全局服务中介组件。
在一些具体实施例中,所述服务信息获取模块12具体可以包括:
影子服务获取单元,用于从所述全局服务中介组件获取所述集群集内其他集群的服务信息,以得到其他集群内的服务资源对应的影子服务;
副本创建单元,用于创建所述影子服务的副本,并将所述副本存储至本地。
在一些具体实施例中,所述服务信息发送模块11具体可以包括:
服务资源检测单元,用于按照第一预设检测周期,周期性检测本地新创建的服务资源,并根据所述服务资源生成本地集群的服务信息;
服务信息导入单元,用于按照第二预设检测周期,周期性从所述全局服务中介组件内导入所述全局服务中介组件新接收的所述集群集内其他集群的服务信息。
在一些具体实施例中,所述跨处理器架构多容器集群间服务发现装置具体可以包括:
单例组件创建单元,用于在所述集群集内的目标集群上创建单例组件,并将所述单例组件存储至所述目标集群的键值对数据存储系统;所述目标集群包含开放访问的API;
配置单元,用于配置所述单例组件的服务账户和角色访问控制信息,定义端点参数和集群参数,以得到所述全局服务中介组件;所述端点参数包括IP地址,所述集群参数包括服务的无类别域间路由。
在一些具体实施例中,所述跨处理器架构多容器集群间服务发现装置具体可以包括:
服务访问单元,用于若根据所述访问路由信息确定出所述服务请求为跨集群服务请求,则根据所述访问路由信息通过跨集群隧道进行服务访问。
在一些具体实施例中,所述跨处理器架构多容器集群间服务发现装置具体可以包括:
备用全局服务中介组件启用单元,用于监测所述全局服务中介组件的运行状态,若所述全局服务中介组件发生故障,启用预先创建的备用全局服务中介组件。
在一些具体实施例中,所述访问路由确定模块13具体可以包括:
域名判断单元,用于解析所述服务请求提取出域名字段,判断所述域名字段是否为跨集群服务访问域名;
服务请求转发单元,用于若所述域名字段是跨集群服务访问域名,则通过CoreDNS组件将所述服务请求转发给所述DNS服务器插件;
解析单元,用于利用所述DNS服务器插件,根据本地存储的所述服务信息对所述服务请求进行DNS解析,以确定出所述服务请求对应的访问路由信息,以便根据所述访问路由信息进行服务访问。
进一步的,本申请实施例还公开了一种电子设备,参见图4所示,图中的内容不能被认为是对本申请的使用范围的任何限制。
图4为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的跨处理器架构多容器集群间服务发现方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及包括服务信息在内的数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的跨处理器架构多容器集群间服务发现方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种跨处理器架构多容器集群间服务发现方法、装置及设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种跨处理器架构多容器集群间服务发现方法,其特征在于,应用于集群,包括:
利用本地集群代理组件根据本地服务资源生成本地集群的服务信息,并将所述服务信息发送给所在集群集的全局服务中介组件;
通过所述集群代理组件,从所述全局服务中介组件导入所述集群集内其他集群的服务信息;
获取服务请求,利用本地的DNS服务器插件根据本地存储的所述服务信息解析所述服务请求,确定出所述服务请求对应的访问路由信息以实现服务访问。
2.根据权利要求1所述的跨处理器架构多容器集群间服务发现方法,其特征在于,所述根据本地服务资源生成本地集群的服务信息,并将所述服务信息发送给所在集群集的全局服务中介组件,包括:
通过查询暴漏服务确定出本地集群内创建的跨集群服务的服务资源;
基于所述服务资源创建对应的影子服务,并将所述影子服务作为所述服务信息发送给所在集群集的全局服务中介组件。
3.根据权利要求1所述的跨处理器架构多容器集群间服务发现方法,其特征在于,所述从所述全局服务中介组件导入所述集群集内其他集群的服务信息,包括:
从所述全局服务中介组件获取所述集群集内其他集群的服务信息,以得到其他集群内的服务资源对应的影子服务;
创建所述影子服务的副本,并将所述副本存储至本地。
4.根据权利要求1所述的跨处理器架构多容器集群间服务发现方法,其特征在于,所述根据本地服务资源生成本地集群的服务信息,包括:
按照第一预设检测周期,周期性检测本地新创建的服务资源,并根据所述服务资源生成本地集群的服务信息;
所述从所述全局服务中介组件导入所述集群集内其他集群的服务信息,包括:
按照第二预设检测周期,周期性从所述全局服务中介组件内导入所述全局服务中介组件新接收的所述集群集内其他集群的服务信息。
5.根据权利要求1所述的跨处理器架构多容器集群间服务发现方法,其特征在于,所述将所述服务信息发送给所在集群集的全局服务中介组件之前,还包括:
在所述集群集内的目标集群上创建单例组件,并将所述单例组件存储至所述目标集群的键值对数据存储系统;所述目标集群包含开放访问的API;
配置所述单例组件的服务账户和角色访问控制信息,定义端点参数和集群参数,以得到所述全局服务中介组件;所述端点参数包括IP地址,所述集群参数包括服务的无类别域间路由。
6.根据权利要求1所述的跨处理器架构多容器集群间服务发现方法,其特征在于,所述确定出所述服务请求对应的访问路由信息之后,还包括:
若根据所述访问路由信息确定出所述服务请求为跨集群服务请求,则根据所述访问路由信息通过跨集群隧道进行服务访问。
7.根据权利要求1所述的跨处理器架构多容器集群间服务发现方法,还包括:
监测所述全局服务中介组件的运行状态,若所述全局服务中介组件发生故障,启用预先创建的备用全局服务中介组件。
8.根据权利要求1至7任一项所述的跨处理器架构多容器集群间服务发现方法,其特征在于,所述获取服务请求,利用本地的DNS服务器插件根据本地存储的所述服务信息解析所述服务请求,确定出所述服务请求对应的访问路由信息以实现服务访问,包括:
解析所述服务请求提取出域名字段,判断所述域名字段是否为跨集群服务访问域名;
若所述域名字段是跨集群服务访问域名,则通过CoreDNS组件将所述服务请求转发给所述DNS服务器插件;
利用所述DNS服务器插件,根据本地存储的所述服务信息对所述服务请求进行DNS解析,以确定出所述服务请求对应的访问路由信息,以便根据所述访问路由信息进行服务访问。
9.一种跨处理器架构多容器集群间服务发现装置,其特征在于,应用于集群,包括:
服务信息发送模块,用于利用本地集群代理组件根据本地服务资源生成本地集群的服务信息,并将所述服务信息发送给所在集群集的全局服务中介组件;
服务信息获取模块,用于通过所述集群代理组件,从所述全局服务中介组件导入所述集群集内其他集群的服务信息;
访问路由确定模块,用于获取服务请求,利用本地的DNS服务器插件根据本地存储的所述服务信息解析所述服务请求,确定出所述服务请求对应的访问路由信息以实现服务访问。
10.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至8任一项所述的跨处理器架构多容器集群间服务发现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111558236.3A CN114153566A (zh) | 2021-12-20 | 2021-12-20 | 跨处理器架构多容器集群间服务发现方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111558236.3A CN114153566A (zh) | 2021-12-20 | 2021-12-20 | 跨处理器架构多容器集群间服务发现方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114153566A true CN114153566A (zh) | 2022-03-08 |
Family
ID=80451957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111558236.3A Pending CN114153566A (zh) | 2021-12-20 | 2021-12-20 | 跨处理器架构多容器集群间服务发现方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114153566A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114938394A (zh) * | 2022-04-13 | 2022-08-23 | 京东科技信息技术有限公司 | 跨集群网络控制方法、装置、设备及存储介质 |
CN115086321A (zh) * | 2022-06-14 | 2022-09-20 | 京东科技信息技术有限公司 | 多集群流量转发方法及装置、电子设备 |
CN115086312A (zh) * | 2022-05-10 | 2022-09-20 | 兴业银行股份有限公司 | 实现kubernetes服务跨集群通信的方法及系统 |
CN115174657A (zh) * | 2022-06-13 | 2022-10-11 | 青岛中科曙光科技服务有限公司 | 微服务应用调用方法、装置、计算机设备及存储介质 |
CN115314432A (zh) * | 2022-07-30 | 2022-11-08 | 济南浪潮数据技术有限公司 | 一种跨集群应用路由访问方法、系统、设备及介质 |
CN115412530A (zh) * | 2022-08-30 | 2022-11-29 | 上海道客网络科技有限公司 | 一种多集群场景下服务的域名解析方法及系统 |
CN115988078A (zh) * | 2022-11-28 | 2023-04-18 | 中国联合网络通信集团有限公司 | 通信方法、系统、电子设备及存储介质 |
CN115987872A (zh) * | 2022-12-21 | 2023-04-18 | 北京中电普华信息技术有限公司 | 一种基于资源路由的云系统 |
CN117155934A (zh) * | 2023-10-31 | 2023-12-01 | 北京比格大数据有限公司 | 一种跨集群通信方法及装置、设备及存储介质 |
-
2021
- 2021-12-20 CN CN202111558236.3A patent/CN114153566A/zh active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114938394A (zh) * | 2022-04-13 | 2022-08-23 | 京东科技信息技术有限公司 | 跨集群网络控制方法、装置、设备及存储介质 |
CN114938394B (zh) * | 2022-04-13 | 2024-05-17 | 京东科技信息技术有限公司 | 跨集群网络控制方法、装置、设备及存储介质 |
CN115086312A (zh) * | 2022-05-10 | 2022-09-20 | 兴业银行股份有限公司 | 实现kubernetes服务跨集群通信的方法及系统 |
CN115174657A (zh) * | 2022-06-13 | 2022-10-11 | 青岛中科曙光科技服务有限公司 | 微服务应用调用方法、装置、计算机设备及存储介质 |
CN115086321A (zh) * | 2022-06-14 | 2022-09-20 | 京东科技信息技术有限公司 | 多集群流量转发方法及装置、电子设备 |
CN115086321B (zh) * | 2022-06-14 | 2024-04-05 | 京东科技信息技术有限公司 | 多集群流量转发方法及装置、电子设备 |
CN115314432A (zh) * | 2022-07-30 | 2022-11-08 | 济南浪潮数据技术有限公司 | 一种跨集群应用路由访问方法、系统、设备及介质 |
CN115412530B (zh) * | 2022-08-30 | 2024-01-30 | 上海道客网络科技有限公司 | 一种多集群场景下服务的域名解析方法及系统 |
CN115412530A (zh) * | 2022-08-30 | 2022-11-29 | 上海道客网络科技有限公司 | 一种多集群场景下服务的域名解析方法及系统 |
CN115988078A (zh) * | 2022-11-28 | 2023-04-18 | 中国联合网络通信集团有限公司 | 通信方法、系统、电子设备及存储介质 |
CN115987872A (zh) * | 2022-12-21 | 2023-04-18 | 北京中电普华信息技术有限公司 | 一种基于资源路由的云系统 |
CN117155934B (zh) * | 2023-10-31 | 2023-12-29 | 北京比格大数据有限公司 | 一种跨集群通信方法及装置、设备及存储介质 |
CN117155934A (zh) * | 2023-10-31 | 2023-12-01 | 北京比格大数据有限公司 | 一种跨集群通信方法及装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114153566A (zh) | 跨处理器架构多容器集群间服务发现方法、装置及设备 | |
KR102209276B1 (ko) | 메시징 프로토콜 통신 관리 | |
TWI728036B (zh) | 資訊處理方法、裝置和系統 | |
CN109889575B (zh) | 一种边缘环境下的协同计算平台系统及方法 | |
US20210211363A1 (en) | QoS-OPTIMIZED SELECTION OF A CLOUD MICROSERVICES PROVIDER | |
WO2019184164A1 (zh) | 自动部署Kubernetes从节点的方法、装置、终端设备及可读存储介质 | |
US11425054B1 (en) | User-configured multi-location service deployment and scaling | |
US20150264119A1 (en) | Solver for cluster management system | |
CN110352401B (zh) | 具有按需代码执行能力的本地装置协调器 | |
CN103077034B (zh) | 混合虚拟化平台java应用迁移方法与系统 | |
US10673694B2 (en) | Private network mirroring | |
CN109309585A (zh) | 一种日志收集方法、装置以及设备 | |
US11765244B1 (en) | Latency-based service discovery and routing for multi-location service-oriented applications | |
CN114265680A (zh) | 一种海量数据处理方法、装置、电子设备及存储介质 | |
CN114448895B (zh) | 一种应用访问方法、装置、设备及介质 | |
CN107301084B (zh) | 集群服务器的虚拟机迁移方法、装置、服务器及存储介质 | |
US11709749B1 (en) | Diagnostic data collection for kubernetes | |
Khan et al. | Getting virtualized wireless sensor networks' IaaS ready for PaaS | |
CN113256360A (zh) | 基于Ukey机柜的发票处理控制方法、装置、设备和存储介质 | |
US11537575B1 (en) | Real-time database performance tuning | |
US12026501B2 (en) | Automated process and system update scheduling in a computer network | |
Herlicq et al. | Nextgenemo: an efficient provisioning of edge-native applications | |
CN113407384B (zh) | peer节点指令传输的方法、装置、代理服务器及存储介质 | |
CN114745757A (zh) | 一种集群切换方法、装置、设备及介质 | |
US20200301816A1 (en) | Code profiling system and associated methods |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20231121 Address after: Room 2301, No. 395 Linjiang Avenue, Tianhe District, Guangzhou City, Guangdong Province, 510655 (Location: Self made Unit 01) Applicant after: Guangdong Inspur Intelligent Computing Technology Co.,Ltd. Applicant after: INSPUR ELECTRONIC INFORMATION INDUSTRY Co.,Ltd. Address before: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong Applicant before: INSPUR ELECTRONIC INFORMATION INDUSTRY Co.,Ltd. |
|
TA01 | Transfer of patent application right |