CN112995303B - 跨集群调度方法及装置 - Google Patents
跨集群调度方法及装置 Download PDFInfo
- Publication number
- CN112995303B CN112995303B CN202110170694.3A CN202110170694A CN112995303B CN 112995303 B CN112995303 B CN 112995303B CN 202110170694 A CN202110170694 A CN 202110170694A CN 112995303 B CN112995303 B CN 112995303B
- Authority
- CN
- China
- Prior art keywords
- cluster
- target
- container
- host
- application
- 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
Images
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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- 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/1021—Server selection for load balancing based on client or server locations
-
- 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/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- 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/133—Protocols for remote procedure calls [RPC]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种跨集群调度方法及装置,可用于云计算技术领域,方法包括根据当前的容器创建请求对应的目标应用容器的应用信息生成应用容器拓扑图;基于应用容器拓扑图和预设的全量集群拓扑图,在各个有效集群中选取与目标应用容器之间的访问路径最优的目标集群;应用目标集群内的各个宿主机对应的宿主机拓扑图,在目标集群中选取与目标应用容器之间的访问路径最优的目标宿主机;在目标集群的目标宿主机上创建容器创建请求对应的数据库容器。本申请能够有效提高应用节点访问跨集群的数据库节点的有效性及准确性,且能够有效提高跨集群调度过程的效率并降低集群间调用的网络时延。
Description
技术领域
本申请涉及数据处理技术领域,特别涉及云计算技术领域,具体涉及跨集群调度方法及装置。
背景技术
随着云计算的不断发展,应用的各种节点都采用集群部署。而由于应用容器和数据库容器对硬件资源和稳定性要求的差异性,往往会分布在不同的集群中。此时,应用节点需要访问数据库节点时,就会存在跨集群的访问过程。且从灾备和高可用方面考虑,应用容器和数据库容器还会在不同的园区、不同的网络区域、不同的故障域等独立部署,因考虑各个集群的分布区域、网络路由的距离等因素,也使得应用节点与数据库节点之间的访问更加复杂,需要在各个集群之间进行网络优化才能通过最优的访问路径实现应用节点和数据库节点之间的调度过程。
目前,现有的跨集群调度方法中,通常可以在计算机集群中通过网络跳数筛选出最优的作业节点,但该方式仅考虑了集群层面,且由于应用容器并不是单点分布,因此使得现有的跨集群调度方法无法满足应用容器和数据库容器的部署要求,进而无法有效且准确地实现应用节点和数据库节点之间的调度过程。
发明内容
针对现有技术中的问题,本申请提供一种跨集群调度方法及装置,能够有效提高应用节点访问跨集群的数据库节点的有效性及准确性,且能够有效提高跨集群调度过程的效率并降低集群间调用的网络时延。
为解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种跨集群调度方法,包括:
根据当前的容器创建请求对应的目标应用容器的应用信息生成应用容器拓扑图,其中,该应用容器拓扑图中包含有所述目标应用容器对应的分布区域、有效集群和可用宿主机的信息;
基于所述应用容器拓扑图和预设的全量集群拓扑图,在各个所述有效集群中选取与所述目标应用容器之间的访问路径最优的目标集群;
应用所述目标集群内的各个宿主机对应的宿主机拓扑图,在所述目标集群中选取与所述目标应用容器之间的访问路径最优的目标宿主机;
在所述目标集群的目标宿主机上创建所述容器创建请求对应的数据库容器。
进一步地,所述根据当前的容器创建请求对应的目标应用容器的应用信息生成应用容器拓扑图,包括:
接收应用节点针对跨集群的数据库节点发出的容器创建请求;
获取所述容器创建请求对应的目标应用容器的应用信息,其中,所述应用信息包括容器所属应用、所需资源和镜像;
根据所述应用信息自各个预设的集群中筛选出与所述目标应用容器对应的有效集群及所述有效集群内与目标应用容器匹配的可用宿主机;
存储所述有效集群的标识信息和所述可用宿主机的宿主机信息,其中,所述标识信息包括所述有效集群的唯一标识和部署区域;
基于所述应用信息、所述有效集群的标识信息和所述可用宿主机的宿主机信息,生成对应的应用容器拓扑图,其中,该应用容器拓扑图中包含有所述目标应用容器的分布区域信息、各个有效集群的标识信息和各个所述可用宿主机的宿主机信息。
进一步地,所述基于所述应用容器拓扑图和所述全量集群拓扑图,在各个所述有效集群中选取与所述目标应用容器之间的访问路径最优的目标集群,包括:
获取各个预设的集群对应的预存储的全量集群拓扑图,并提取该全量集群拓扑图对应的全量集群拓扑信息;
根据所述应用容器拓扑图和所述全量集群拓扑图对应的全量集群拓扑信息,在各个所述有效集群中筛选出与所述目标应用容器之间的访问路径最优的目标集群。
进一步地,所述根据所述应用容器拓扑图和所述全量集群拓扑图对应的全量集群拓扑信息,在各个所述有效集群中筛选出与所述目标应用容器之间的距离权重和最优的有效集群,包括:
基于预设的预选优选策略,根据所述应用容器拓扑图和所述全量集群拓扑图对应的全量集群拓扑信息在各个所述有效集群中选取与所述应用容器之间的距离权重和最优的有效集群,并将与所述应用容器之间的距离权重和最优的有效集群确定为目标集群。
进一步地,所述应用所述目标集群内的各个宿主机对应的宿主机拓扑图,在所述目标集群中选取与所述目标应用容器之间的访问路径最优的目标宿主机,包括:
读取所述目标集群内的各个宿主机对应的宿主机拓扑图;
根据所述宿主机拓扑图在所述目标集群中选取与所述目标应用容器之间的访问路径最优的目标宿主机。
进一步地,所述根据所述宿主机拓扑图在所述目标集群中选取与所述目标应用容器之间的访问路径最优的目标宿主机,包括:
基于预设的预选优选策略,根据所述宿主机拓扑图在所述目标集群中的各个所述可用宿主机中选取与所述应用容器之间的距离权重和最优的可用宿主机,并将与所述应用容器之间的距离权重和最优的可用宿主机确定为目标宿主机。
进一步地,所述在所述目标集群的目标宿主机上创建所述容器创建请求对应的数据库容器,包括:
向所述目标集群内的集群管理节点发送针对所述目标宿主机的容器创建指令,以基于该容器创建指令在所述目标宿主机上创建数据库容器,以将所述目标宿主机作为数据库节点来实现所述应用节点针对该数据库节点的访问。
第二方面,本申请提供一种跨集群调度装置,包括:
拓扑生成模块,用于根据当前的容器创建请求对应的目标应用容器的应用信息生成应用容器拓扑图,其中,该应用容器拓扑图中包含有所述目标应用容器对应的分布区域、有效集群和可用宿主机的信息;
集群选取模块,用于基于所述应用容器拓扑图和预设的全量集群拓扑图,在各个所述有效集群中选取与所述目标应用容器之间的访问路径最优的目标集群;
宿主机选取模块,用于应用所述目标集群内的各个宿主机对应的宿主机拓扑图,在所述目标集群中选取与所述目标应用容器之间的访问路径最优的目标宿主机;
容器创建模块,用于在所述目标集群的目标宿主机上创建所述容器创建请求对应的数据库容器。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述跨集群调度方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述跨集群调度方法。
由上述技术方案可知,本申请提供的一种跨集群调度方法及装置,方法通过根据当前的容器创建请求对应的目标应用容器的应用信息生成应用容器拓扑图,其中,该应用容器拓扑图中包含有所述目标应用容器对应的分布区域、有效集群和可用宿主机的信息;基于所述应用容器拓扑图和预设的全量集群拓扑图,在各个所述有效集群中选取与所述目标应用容器之间的访问路径最优的目标集群;应用所述目标集群内的各个宿主机对应的宿主机拓扑图,在所述目标集群中选取与所述目标应用容器之间的访问路径最优的目标宿主机;在所述目标集群的目标宿主机上创建所述容器创建请求对应的数据库容器,通过应用容器拓扑图、全量集群拓扑图和宿主机拓扑图的应用,能够有效提高应用节点访问跨集群的数据库节点的有效性及准确性,且能够有效提高跨集群调度过程的效率;同时通过确定与所述目标应用容器之间的访问路径最优的目标集群和目标宿主机,能够更进一步地提高跨集群调度过程的效率,有效降低集群间的调用的网络时延,进而能够有效提高跨集群调度的可靠性,减少网络故障的发生,进而能够有效提高跨集群运维人员的用户体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中的跨集群调度方法的第一种流程示意图。
图2是本申请实施例中的跨集群调度方法中第二种流程示意图。
图3是本申请实施例中的跨集群调度方法的第三种流程示意图。
图4是本申请实施例中的跨集群调度方法中的第四种流程示意图。
图5是本申请实施例中的跨集群调度方法中的第五种流程示意图。
图6是本申请实施例中的跨集群调度方法中的第六种流程示意图。
图7是本申请实施例中的跨集群调度方法中的第七种流程示意图。
图8是本申请实施例中的跨集群调度装置的结构示意图。
图9是本申请应用实例中的跨集群调度系统的结构示意图。
图10是本申请应用实例中的应用容器筛选装置的结构示意图。
图11是本申请应用实例中的网络路由计算装置的结构示意图。
图12是本申请应用实例中的容器调度装置的结构示意图。
图13是本申请应用实例中的策略执行装置的结构示意图。
图14是本申请应用实例中的跨集群调度方法的流程示意图。
图15是本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请公开的跨集群调度方法和装置可用于云计算技术领域,也可用于除云计算技术领域之外的任意领域,本申请公开的跨集群调度方法和装置的应用领域不做限定。
针对现有技术无法有效且准确地实现应用节点和数据库节点之间的调度过程而导致的目前没有集群间路由距离最优化的调度策略的问题,本申请实施例提供一种跨集群调度方法、跨集群调度装置、电子设备及计算机可读存储介质,通过根据当前的容器创建请求对应的目标应用容器的应用信息生成应用容器拓扑图,其中,该应用容器拓扑图中包含有所述目标应用容器对应的分布区域、有效集群和可用宿主机的信息;基于所述应用容器拓扑图和预设的全量集群拓扑图,在各个所述有效集群中选取与所述目标应用容器之间的访问路径最优的目标集群;应用所述目标集群内的各个宿主机对应的宿主机拓扑图,在所述目标集群中选取与所述目标应用容器之间的访问路径最优的目标宿主机;在所述目标集群的目标宿主机上创建所述容器创建请求对应的数据库容器,通过应用容器拓扑图、全量集群拓扑图和宿主机拓扑图的应用,能够有效提高应用节点访问跨集群的数据库节点的有效性及准确性,且能够有效提高跨集群调度过程的效率;同时通过确定与所述目标应用容器之间的访问路径最优的目标集群和目标宿主机,能够更进一步地提高跨集群调度过程的效率,有效降低集群间的调用的网络时延,进而能够有效提高跨集群调度的可靠性,减少网络故障的发生,进而能够有效提高跨集群运维人员的用户体验。
基于上述内容,本申请还提供一种用于实现本申请一个或多个实施例中提供的跨集群调度方法的跨集群调度装置,该跨集群调度装置可以与客户端设备之间进行通信连接,所述跨集群调度装置可以接收客户端设备发送的容器创建请求,而后根据当前的容器创建请求对应的目标应用容器的应用信息生成应用容器拓扑图,其中,该应用容器拓扑图中包含有所述目标应用容器对应的分布区域、有效集群和可用宿主机的信息;基于所述应用容器拓扑图和预设的全量集群拓扑图,在各个所述有效集群中选取与所述目标应用容器之间的访问路径最优的目标集群;应用所述目标集群内的各个宿主机对应的宿主机拓扑图,在所述目标集群中选取与所述目标应用容器之间的访问路径最优的目标宿主机;在所述目标集群的目标宿主机上创建所述容器创建请求对应的数据库容器。
在一种实际应用情形中,所述跨集群调度装置可以采用服务器实现;所述服务器可以与至少一个客户端设备之间通信连接。
可以理解的是,所述客户端设备可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在另一种实际应用情形中,前述的跨集群调度装置进行跨集群调度的部分可以在如上述内容的服务器中执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器,用于跨集群调度的具体处理。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
上述服务器与所述客户端设备之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。
在本申请的一个或多个实施例中,所述集群具体可以指k8s(Kubernetes)集群,Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署,规划,更新,维护的一种机制。Kubernetes一个核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行着,管理员可以加载一个微型服务,让规划器来找到合适的位置,同时,Kubernetes也系统提升工具以及人性化方面,让用户能够方便的部署自己的应用。
具体通过下述各个实施例及应用实例分别进行详细说明。
为了解决现有技术无法有效且准确地实现应用节点和数据库节点之间的调度过程等问题,本申请提供一种跨集群调度方法的实施例,参见图1,应用跨集群调度装置执行的所述跨集群调度方法具体包含有如下内容:
步骤100:根据当前的容器创建请求对应的目标应用容器的应用信息生成应用容器拓扑图,其中,该应用容器拓扑图中包含有所述目标应用容器对应的分布区域、有效集群和可用宿主机的信息。
可以理解的是,所述应用信息包括容器所属应用、所需资源和镜像。
步骤200:基于所述应用容器拓扑图和预设的全量集群拓扑图,在各个所述有效集群中选取与所述目标应用容器之间的访问路径最优的目标集群。
在步骤200中,所述应用容器拓扑图用于表示与所述目标应用容器的应用信息所提出的要求相匹配的存量容器分布的集群、宿主机,这些宿主机位于哪些区域、机房等,该拓扑图受到应用部署的影响,新增数据库容器需要动态获取分析;在一种举例中,应用容器拓扑图中的节点可以用于表示与所述目标应用容器的应用信息所提出的要求相匹配、且是在预设大区域内的存量数据库容器,且各个节点分别用于表示存量容器分布的集群及集群所在区域、宿主机以及这些宿主机位于哪些区域、机房等,所述应用容器拓扑图中的节点之间的连线用于表示存量容器之间的关联关系及距离关系等等。所述大区域是指本申请的跨集群调度方法有权限访问的全部的集群所在的各个区域的汇总区域。
全量集群拓补图指的是整个云上部署架构中的各个集群分布,该拓补图相对稳定,维护在管理节点即可,无须动态获取。可以理解的是,全量集群拓扑图中的各个节点分别用于表示所述大区域中的各个集群,且每个节点均包含有对应集群的关键信息,例如集群所在区域、唯一标识及集群内的集群管理节点信息等等,全量集群拓扑图中的各个节点之间的连线用于表示各个集群之间的关联关系和距离关系等。
步骤300:应用所述目标集群内的各个宿主机对应的宿主机拓扑图,在所述目标集群中选取与所述目标应用容器之间的访问路径最优的目标宿主机。
在步骤300中,每个集群内宿主机拓扑图均随着集群内宿主机的增减而变化,需要动态获取。宿主机拓扑图中的各个节点分别用于表示对应的集群内的各个宿主机,且各个节点信息包含有宿主机所在集群信息、宿主机唯一标识和宿主机对应的集群管理节点等内容,节点之间的连线用于表示宿主机之间的关联关系及距离关系等。
具体来说,跨集群调度方法基于应用容器拓扑图、全量集群拓扑图和宿主机拓扑图这三张拓扑图最终确定数据库容器所在位置:一是应用容器拓扑图,指的是应用存量容器分布的集群、宿主机,这些宿主机位于哪些区域、机房等,该拓扑图受到应用部署的影响,新增数据库容器需要动态获取分析;二是全量集群拓补图,指的是整个云上部署架构中的各个集群分布,该拓补图相对稳定,维护在管理节点即可,无须动态获取;三是每个集群内宿主机拓扑图,该拓扑图随着集群内宿主机的增减而变化,需要动态获取。
步骤400:在所述目标集群的目标宿主机上创建所述容器创建请求对应的数据库容器。
从上述描述可知,本申请实施例提供的跨集群调度方法,通过应用容器拓扑图、全量集群拓扑图和宿主机拓扑图的应用,能够有效提高应用节点访问跨集群的数据库节点的有效性及准确性,且能够有效提高跨集群调度过程的效率;同时通过确定与所述目标应用容器之间的访问路径最优的目标集群和目标宿主机,能够更进一步地提高跨集群调度过程的效率,有效降低集群间的调用的网络时延,进而能够有效提高跨集群调度的可靠性,减少网络故障的发生,进而能够有效提高跨集群运维人员的用户体验。
为了提供一种应用容器拓扑图的具体获取方式,在本申请提供的跨集群调度方法的一个实施例中,参见图2,所述跨集群调度方法的步骤100具体包含有如下内容:
步骤110:接收应用节点针对跨集群的数据库节点发出的容器创建请求。
步骤120:获取所述容器创建请求对应的目标应用容器的应用信息,其中,所述应用信息包括容器所属应用、所需资源和镜像。
步骤130:根据所述应用信息自各个预设的集群中筛选出与所述目标应用容器对应的有效集群及所述有效集群内与目标应用容器匹配的可用宿主机。
步骤140:存储所述有效集群的标识信息和所述可用宿主机的宿主机信息,其中,所述标识信息包括所述有效集群的唯一标识和部署区域。
步骤150:基于所述应用信息、所述有效集群的标识信息和所述可用宿主机的宿主机信息,生成对应的应用容器拓扑图,其中,该应用容器拓扑图中包含有所述目标应用容器的分布区域信息、各个有效集群的标识信息和各个所述可用宿主机的宿主机信息。
具体来说,可以根据应用信息筛选出应用容器分布的集群;保存相关集群的ID、部署区域等相关信息,生成应用容器拓扑图,包括容器分布所在区域、集群、宿主机信息。
从上述描述可知,本申请实施例提供的跨集群调度方法,通过根据应用信息、有效集群的标识信息和可用宿主机的宿主机信息生成对应的应用容器拓扑图,能够有效保证应用容器拓扑图的可靠性及准确性,进而能够有效提高跨集群调度的可靠性及准确性。
为了提供一种目标集群的选取方式,在本申请提供的跨集群调度方法的一个实施例中,参见图3,所述跨集群调度方法的步骤200具体包含有如下内容:
步骤210:获取各个预设的集群对应的预存储的全量集群拓扑图,并提取该全量集群拓扑图对应的全量集群拓扑信息。
步骤220:根据所述应用容器拓扑图和所述全量集群拓扑图对应的全量集群拓扑信息,在各个所述有效集群中筛选出与所述目标应用容器之间的访问路径最优的目标集群。
具体来说,首先读取全量集群拓扑图,该全量集群拓扑图表征了云上所有集群的网络拓扑结构,包括各个集群的跨区域、跨机房部署以及各个宿主机的分布情况;其次整合应用容器拓补图,从两张拓扑图中寻找一个集群位置,该集群满足到达应用容器拓补图中各个节点的距离权重和最小;最后读取该集群内的宿主机拓扑图,与容器拓扑图合并计算,确定到达应用容器距离权重和最小的宿主机。
从上述描述可知,本申请实施例提供的跨集群调度方法,通过预先设置并存储全量集群拓扑图,能够在有效提高全量集群拓扑图的应用可靠性及准确性的基础上,进一步提高全量集群拓扑图的应用效率,进而能够有效提高跨集群调度的可靠性、准确性及效率。
为了提供一种目标集群的具体筛选方式,在本申请提供的跨集群调度方法的一个实施例中,参见图4,所述跨集群调度方法的步骤220具体包含有如下内容:
步骤221:基于预设的预选优选策略,根据所述应用容器拓扑图和所述全量集群拓扑图对应的全量集群拓扑信息在各个所述有效集群中选取与所述应用容器之间的距离权重和最优的有效集群,并将与所述应用容器之间的距离权重和最优的有效集群确定为目标集群。
具体来说,可以根据应用容器拓补图和全量集群拓扑图筛选出最优集群,按照先预选后优选的原则,在预选阶段,输入全量集群,输出可供选择的集群;该阶段将不满足条件的集群剔除,如将网络不可达的集群或者业务上有特殊规划的集群剔除;在优选阶段,为预选出的多个集群打分,打分规则按照该集群到应用容器各节点网络距离的距离权重和进行,最终选择得分最优的集群;通过读取最优集群内宿主机拓扑图,计算宿主机到应用容器各节点间的距离权重和,按照机房<网段<园区<地域的层次递进关系选择距离各应用容器间最近的集群、最近的宿主机,按照主容器、热备容器、冷备容器、灾备容器的不同要求,依次完成网络最优的集群和宿主机筛选。
从上述描述可知,本申请实施例提供的跨集群调度方法,通过应用预选优选策略选取与所述应用容器之间的距离权重和最优的有效集群,能够有效提高最佳路径集群的选取可靠性及准确性,进而能够有效提高跨集群调度的可靠性和准确性。
为了提供一种目标宿主机的选取方式,在本申请提供的跨集群调度方法的一个实施例中,参见图5,所述跨集群调度方法的步骤300具体包含有如下内容:
步骤310:读取所述目标集群内的各个宿主机对应的宿主机拓扑图。
步骤320:根据所述宿主机拓扑图在所述目标集群中选取与所述目标应用容器之间的访问路径最优的目标宿主机。
从上述描述可知,本申请实施例提供的跨集群调度方法,通过预先设置并存储宿主机拓扑图,能够在有效提高宿主机拓扑图的应用可靠性及准确性的基础上,进一步提高宿主机拓扑图的应用效率,进而能够有效提高跨集群调度的可靠性、准确性及效率。
为了提供一种目标宿主机的具体筛选方式,在本申请提供的跨集群调度方法的一个实施例中,参见图6,所述跨集群调度方法的步骤320具体包含有如下内容:
步骤321:基于预设的预选优选策略,根据所述宿主机拓扑图在所述目标集群中的各个所述可用宿主机中选取与所述应用容器之间的距离权重和最优的可用宿主机,并将与所述应用容器之间的距离权重和最优的可用宿主机确定为目标宿主机。
从上述描述可知,本申请实施例提供的跨集群调度方法,通过应用预选优选策略选取与所述应用容器之间的距离权重和最优的可用宿主机,能够有效提高最佳路径宿主机的选取可靠性及准确性,进而能够有效提高跨集群调度的可靠性和准确性。
为了提供一种创建容器的具体选取方式,在本申请提供的跨集群调度方法的一个实施例中,参见图7,所述跨集群调度方法的步骤400具体包含有如下内容:
步骤410:向所述目标集群内的集群管理节点发送针对所述目标宿主机的容器创建指令,以基于该容器创建指令在所述目标宿主机上创建数据库容器,以将所述目标宿主机作为数据库节点来实现所述应用节点针对该数据库节点的访问。
从上述描述可知,本申请实施例提供的跨集群调度方法,通过向目标集群内的集群管理节点发送针对所述目标宿主机的容器创建指令,能够进一步提高在所述目标宿主机上创建数据库容器的效率及可靠性,进而能够有效提高跨集群调度的效率及可靠性。
从软件层面来说,为了解决现有技术无法有效且准确地实现应用节点和数据库节点之间的调度过程等问题,本申请提供一种用于执行所述跨集群调度方法中全部或部分内容的跨集群调度装置的实施例,参见图8,所述跨集群调度装置具体包含有如下内容:
拓扑生成模块10,用于根据当前的容器创建请求对应的目标应用容器的应用信息生成应用容器拓扑图,其中,该应用容器拓扑图中包含有所述目标应用容器对应的分布区域、有效集群和可用宿主机的信息。
可以理解的是,所述应用信息包括容器所属应用、所需资源和镜像。
集群选取模块20,用于基于所述应用容器拓扑图和预设的全量集群拓扑图,在各个所述有效集群中选取与所述目标应用容器之间的访问路径最优的目标集群。
在集群选取模块20中,所述应用容器拓扑图用于表示与所述目标应用容器的应用信息所提出的要求相匹配的存量容器分布的集群、宿主机,这些宿主机位于哪些区域、机房等,该拓扑图受到应用部署的影响,新增数据库容器需要动态获取分析;在一种举例中,应用容器拓扑图中的节点可以用于表示与所述目标应用容器的应用信息所提出的要求相匹配、且是在预设大区域内的存量数据库容器,且各个节点分别用于表示存量容器分布的集群及集群所在区域、宿主机以及这些宿主机位于哪些区域、机房等,所述应用容器拓扑图中的节点之间的连线用于表示存量容器之间的关联关系及距离关系等等。所述大区域是指本申请的跨集群调度方法有权限访问的全部的集群所在的各个区域的汇总区域。
全量集群拓补图指的是整个云上部署架构中的各个集群分布,该拓补图相对稳定,维护在管理节点即可,无须动态获取。可以理解的是,全量集群拓扑图中的各个节点分别用于表示所述大区域中的各个集群,且每个节点均包含有对应集群的关键信息,例如集群所在区域、唯一标识及集群内的集群管理节点信息等等,全量集群拓扑图中的各个节点之间的连线用于表示各个集群之间的关联关系和距离关系等。
宿主机选取模块30,用于应用所述目标集群内的各个宿主机对应的宿主机拓扑图,在所述目标集群中选取与所述目标应用容器之间的访问路径最优的目标宿主机。
在宿主机选取模块30中,每个集群内宿主机拓扑图均随着集群内宿主机的增减而变化,需要动态获取。宿主机拓扑图中的各个节点分别用于表示对应的集群内的各个宿主机,且各个节点信息包含有宿主机所在集群信息、宿主机唯一标识和宿主机对应的集群管理节点等内容,节点之间的连线用于表示宿主机之间的关联关系及距离关系等。
具体来说,跨集群调度方法基于应用容器拓扑图、全量集群拓扑图和宿主机拓扑图这三张拓扑图最终确定数据库容器所在位置:一是应用容器拓扑图,指的是应用存量容器分布的集群、宿主机,这些宿主机位于哪些区域、机房等,该拓扑图受到应用部署的影响,新增数据库容器需要动态获取分析;二是全量集群拓补图,指的是整个云上部署架构中的各个集群分布,该拓补图相对稳定,维护在管理节点即可,无须动态获取;三是每个集群内宿主机拓扑图,该拓扑图随着集群内宿主机的增减而变化,需要动态获取。
容器创建模块40,用于在所述目标集群的目标宿主机上创建所述容器创建请求对应的数据库容器。
本申请提供的跨集群调度装置的实施例具体可以用于执行上述实施例中的跨集群调度方法的实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
从上述描述可知,本申请实施例提供的跨集群调度装置,通过应用容器拓扑图、全量集群拓扑图和宿主机拓扑图的应用,能够有效提高应用节点访问跨集群的数据库节点的有效性及准确性,且能够有效提高跨集群调度过程的效率;同时通过确定与所述目标应用容器之间的访问路径最优的目标集群和目标宿主机,能够更进一步地提高跨集群调度过程的效率,有效降低集群间的调用的网络时延,进而能够有效提高跨集群调度的可靠性,减少网络故障的发生,进而能够有效提高跨集群运维人员的用户体验。
为了提供一种应用容器拓扑图的具体获取方式,在本申请提供的跨集群调度装置的一个实施例中,所述跨集群调度装置的拓扑生成模块10具体用于执行下述内容:
步骤110:接收应用节点针对跨集群的数据库节点发出的容器创建请求。
步骤120:获取所述容器创建请求对应的目标应用容器的应用信息,其中,所述应用信息包括容器所属应用、所需资源和镜像。
步骤130:根据所述应用信息自各个预设的集群中筛选出与所述目标应用容器对应的有效集群及所述有效集群内与目标应用容器匹配的可用宿主机。
步骤140:存储所述有效集群的标识信息和所述可用宿主机的宿主机信息,其中,所述标识信息包括所述有效集群的唯一标识和部署区域。
步骤150:基于所述应用信息、所述有效集群的标识信息和所述可用宿主机的宿主机信息,生成对应的应用容器拓扑图,其中,该应用容器拓扑图中包含有所述目标应用容器的分布区域信息、各个有效集群的标识信息和各个所述可用宿主机的宿主机信息。
具体来说,可以根据应用信息筛选出应用容器分布的集群;保存相关集群的ID、部署区域等相关信息,生成应用容器拓扑图,包括容器分布所在区域、集群、宿主机信息。
从上述描述可知,本申请实施例提供的跨集群调度装置,通过根据应用信息、有效集群的标识信息和可用宿主机的宿主机信息生成对应的应用容器拓扑图,能够有效保证应用容器拓扑图的可靠性及准确性,进而能够有效提高跨集群调度的可靠性及准确性。
为了提供一种目标集群的选取方式,在本申请提供的跨集群调度装置的一个实施例中,所述跨集群调度装置的集群选取模块20具体用于执行下述内容:
步骤210:获取各个预设的集群对应的预存储的全量集群拓扑图,并提取该全量集群拓扑图对应的全量集群拓扑信息。
步骤220:根据所述应用容器拓扑图和所述全量集群拓扑图对应的全量集群拓扑信息,在各个所述有效集群中筛选出与所述目标应用容器之间的访问路径最优的目标集群。
具体来说,首先读取全量集群拓扑图,该全量集群拓扑图表征了云上所有集群的网络拓扑结构,包括各个集群的跨区域、跨机房部署以及各个宿主机的分布情况;其次整合应用容器拓补图,从两张拓扑图中寻找一个集群位置,该集群满足到达应用容器拓补图中各个节点的距离权重和最小;最后读取该集群内的宿主机拓扑图,与容器拓扑图合并计算,确定到达应用容器距离权重和最小的宿主机。
从上述描述可知,本申请实施例提供的跨集群调度装置,通过预先设置并存储全量集群拓扑图,能够在有效提高全量集群拓扑图的应用可靠性及准确性的基础上,进一步提高全量集群拓扑图的应用效率,进而能够有效提高跨集群调度的可靠性、准确性及效率。
为了提供一种目标集群的具体筛选方式,在本申请提供的跨集群调度装置的一个实施例中,所述跨集群调度装置的集群选取模块20还具体用于执行下述内容:
步骤221:基于预设的预选优选策略,根据所述应用容器拓扑图和所述全量集群拓扑图对应的全量集群拓扑信息在各个所述有效集群中选取与所述应用容器之间的距离权重和最优的有效集群,并将与所述应用容器之间的距离权重和最优的有效集群确定为目标集群。
具体来说,可以根据应用容器拓补图和全量集群拓扑图筛选出最优集群,按照先预选后优选的原则,在预选阶段,输入全量集群,输出可供选择的集群;该阶段将不满足条件的集群剔除,如将网络不可达的集群或者业务上有特殊规划的集群剔除;在优选阶段,为预选出的多个集群打分,打分规则按照该集群到应用容器各节点网络距离的距离权重和进行,最终选择得分最优的集群;通过读取最优集群内宿主机拓扑图,计算宿主机到应用容器各节点间的距离权重和,按照机房<网段<园区<地域的层次递进关系选择距离各应用容器间最近的集群、最近的宿主机,按照主容器、热备容器、冷备容器、灾备容器的不同要求,依次完成网络最优的集群和宿主机筛选。
从上述描述可知,本申请实施例提供的跨集群调度装置,通过应用预选优选策略选取与所述应用容器之间的距离权重和最优的有效集群,能够有效提高最佳路径集群的选取可靠性及准确性,进而能够有效提高跨集群调度的可靠性和准确性。
为了提供一种目标宿主机的选取方式,在本申请提供的跨集群调度装置的一个实施例中,所述跨集群调度装置的宿主机选取模块30具体用于执行下述内容:
步骤310:读取所述目标集群内的各个宿主机对应的宿主机拓扑图。
步骤320:根据所述宿主机拓扑图在所述目标集群中选取与所述目标应用容器之间的访问路径最优的目标宿主机。
从上述描述可知,本申请实施例提供的跨集群调度装置,通过预先设置并存储宿主机拓扑图,能够在有效提高宿主机拓扑图的应用可靠性及准确性的基础上,进一步提高宿主机拓扑图的应用效率,进而能够有效提高跨集群调度的可靠性、准确性及效率。
为了提供一种目标宿主机的具体筛选方式,在本申请提供的跨集群调度装置的一个实施例中,所述跨集群调度装置的宿主机选取模块30还具体用于执行下述内容:
步骤321:基于预设的预选优选策略,根据所述宿主机拓扑图在所述目标集群中的各个所述可用宿主机中选取与所述应用容器之间的距离权重和最优的可用宿主机,并将与所述应用容器之间的距离权重和最优的可用宿主机确定为目标宿主机。
从上述描述可知,本申请实施例提供的跨集群调度装置,通过应用预选优选策略选取与所述应用容器之间的距离权重和最优的可用宿主机,能够有效提高最佳路径宿主机的选取可靠性及准确性,进而能够有效提高跨集群调度的可靠性和准确性。
为了提供一种创建容器的具体选取方式,在本申请提供的跨集群调度装置的一个实施例中,所述跨集群调度装置的容器创建模块40具体用于执行下述内容:
步骤410:向所述目标集群内的集群管理节点发送针对所述目标宿主机的容器创建指令,以基于该容器创建指令在所述目标宿主机上创建数据库容器,以将所述目标宿主机作为数据库节点来实现所述应用节点针对该数据库节点的访问。
从上述描述可知,本申请实施例提供的跨集群调度装置,通过向目标集群内的集群管理节点发送针对所述目标宿主机的容器创建指令,能够进一步提高在所述目标宿主机上创建数据库容器的效率及可靠性,进而能够有效提高跨集群调度的效率及可靠性。
为了进一步说明本方案,为解决不同容器间在跨集群调用时的网络路由优化问题,本申请应用实例提供了一种基于网络路由距离最优化的K8S集群间调度策略,支持不同集群间的容器按照网络距离最优化策略进行调用,经过网络路径的优化,可以减少集群间的调用的网络时延。本申请应用实例提供的一种基于网络路由距离最优化的k8s集群间调度策略,基于三张拓扑图最终确定数据库容器所在位置:一是应用容器拓扑图,指的是应用存量容器分布的集群、宿主机,这些宿主机位于哪些区域、机房等,该拓扑图受到应用部署的影响,新增数据库容器需要动态获取分析;二是全量集群拓补图,指的是整个云上部署架构中的各个集群分布,该拓补图相对稳定,维护在管理节点即可,无须动态获取;三是每个集群内宿主机拓扑图,该拓扑图随着集群内宿主机的增减而变化,需要动态获取。本策略主要包括如下步骤:
步骤1):应用容器筛选装置,根据应用信息筛选出应用容器分布的集群;保存相关集群的ID、部署区域等相关信息,生成应用容器拓扑图,包括容器分布所在区域、集群、宿主机信息。
步骤2):网络路由计算装置:首先读取全量集群拓扑图,该拓扑图表征了云上所有集群的网络拓扑结构,包括各个集群的跨区域、跨机房部署以及各个宿主机的分布情况;其次整合步骤1)中的应用容器拓补图,从两张拓扑图中寻找一个集群位置,该集群满足到达应用容器拓补图中各个节点的距离权重和最小;最后读取该集群内的宿主机拓扑图,与容器拓扑图合并计算,确定到达应用容器距离权重和最小的宿主机。
步骤3):容器调度装置:步骤2)中已明确需要调度到的集群和宿主机,该步骤将创建容器的信息,包括镜像、规格等参数封装为k8s容器创建报文。
步骤4):策略执行装置:根据步骤2)中的集群信息,取得该集群管理节点连接,通过步骤3)中封装的创建报文,完成创建容器的动作,并在容器成功启动后进行服务校验。
参见图9,本申请应用实例提供的跨集群调度系统,包括:应用容器筛选装置1、网络路由计算装置2、容器调度装置3和策略执行装置4。其中,应用容器筛选装置1负责从全量集群筛选出应用容器分布的关键集群及应用节点所在的宿主机;网络路由计算装置2根据关键集群计算出距离最优的数据库集群;容器调度装置3根据选中的集群封装容器创建相关信息;最后策略执行装置4通过相应的集群连接和容器创建报文完成容器的创建。
参见图10,应用容器筛选装置1包括:应用信息获取单元11、集群信息获取单元12和容器筛选单元13。其中,应用信息获取单元11通过管理平台台账查询该应用的相关信息,集群信息获取单元12通过应用信息查询应用容器所在的集群及宿主机信息,容器筛选单元13根据集群信息从全量集群列表中筛选出该应用使用到的有效集群。
参见图11,网络路由计算装置2包括:集群筛选单元21和宿主机筛选单元22。其中,集群筛选单元21指的是根据应用容器拓补图和全量集群拓扑图筛选出最优集群,按照先预选后优选的原则,在预选阶段,输入全量集群,输出可供选择的集群;该阶段将不满足条件的集群剔除,如将网络不可达的集群或者业务上有特殊规划的集群剔除;在优选阶段,为预选出的多个集群打分,打分规则按照该集群到应用容器各节点网络距离的距离权重和进行,最终选择得分最优的集群;宿主机筛选单元22通过读取最优集群内宿主机拓扑图,计算宿主机到应用容器各节点间的距离权重和,按照机房<网段<园区<地域的层次递进关系选择距离各应用容器间最近的集群、最近的宿主机,按照主容器、热备容器、冷备容器、灾备容器的不同要求,依次完成网络最优的集群和宿主机筛选。
参见图12,容器调度装置3包括:集群指定单元31、策略封装单元32和连接集群单元33。其中,集群指定单元31通过网络路由计算装置得到集群ID,通过该ID指定集群的连接方式;策略封装单元32将需要创建的容器信息翻译成k8s管理节点可识别的格式,并封装成k8s可接收的请求;连接集群单元33通过集群ID查询台账,获得集群管理节点的连接信息,进而通过请求发送容器创建报文。
参见图13,策略执行装置4包括:策略解析单元41、容器创建单元42、服务检测单元43。其中策略解析单元41将创建容器的命令解析后逐条执行,容器创建单元指宿主机根据资源定义创建容器,服务检测单元保障创建出的容器是服务可访问的。
参见图14,应用所述跨集群调度系统实现的所述跨集群调度方法具体包含有如下内容:
步骤S101:调度装置启动:启动基于网络距离最优化的k8s集群间调度装置。
步骤S102:接收容器创建命令:接收容器创建命令,将容器所属应用、所需资源、镜像等参数提供给调度装置。
步骤S103:应用容器筛选:应用容器筛选装置根据应用信息筛选出全量集群中与该应用相关的有效集群,及应用容器分布的宿主机。
步骤S104:应用容器拓扑图:根据容器信息生成应用容器拓扑图。
步骤S105:读取全量集群拓扑图:读取预置的全量集群拓扑图,得到全量集群拓扑信息。
步骤S106:筛选最优集群:根据应用容器拓扑图和全量集群拓扑图,利用预选优选策略筛选出距离权重和最优的集群。
步骤S107:读取集群内宿主机拓扑图:读取该集群内的宿主机拓扑图。
步骤S108:筛选最优宿主机:同样筛选出到各应用容器距离权重和最优的宿主机。
步骤S109:创建容器:指定集群指定宿主机,创建容器。
基于此,为降低k8s集群间调度网络时延的问题,本申请应用实例提供的跨集群调度系统和方法,通过将各个集群所处网络区域、距离网关的路由距离作为参数,计算应用容器和数据库容器建的网络路由,为数据库节点选择网络路由最近的集群,以达到应用容器和数据库容器间降低网路时延的目的。
从硬件层面来说,为了解决现有技术无法有效且准确地实现应用节点和数据库节点之间的调度过程等问题,本申请提供一种用于实现所述跨集群调度方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
图15为本申请实施例的电子设备9600的系统构成的示意框图。如图15所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图15是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
在一实施例中,跨集群调度功能可以被集成到中央处理器中。其中,中央处理器可以被配置为进行如下控制:
步骤100:根据当前的容器创建请求对应的目标应用容器的应用信息生成应用容器拓扑图,其中,该应用容器拓扑图中包含有所述目标应用容器对应的分布区域、有效集群和可用宿主机的信息。
可以理解的是,所述应用信息包括容器所属应用、所需资源和镜像。
步骤200:基于所述应用容器拓扑图和预设的全量集群拓扑图,在各个所述有效集群中选取与所述目标应用容器之间的访问路径最优的目标集群。
在步骤200中,所述应用容器拓扑图用于表示与所述目标应用容器的应用信息所提出的要求相匹配的存量容器分布的集群、宿主机,这些宿主机位于哪些区域、机房等,该拓扑图受到应用部署的影响,新增数据库容器需要动态获取分析;在一种举例中,应用容器拓扑图中的节点可以用于表示与所述目标应用容器的应用信息所提出的要求相匹配、且是在预设大区域内的存量数据库容器,且各个节点分别用于表示存量容器分布的集群及集群所在区域、宿主机以及这些宿主机位于哪些区域、机房等,所述应用容器拓扑图中的节点之间的连线用于表示存量容器之间的关联关系及距离关系等等。所述大区域是指本申请的跨集群调度方法有权限访问的全部的集群所在的各个区域的汇总区域。
全量集群拓补图指的是整个云上部署架构中的各个集群分布,该拓补图相对稳定,维护在管理节点即可,无须动态获取。可以理解的是,全量集群拓扑图中的各个节点分别用于表示所述大区域中的各个集群,且每个节点均包含有对应集群的关键信息,例如集群所在区域、唯一标识及集群内的集群管理节点信息等等,全量集群拓扑图中的各个节点之间的连线用于表示各个集群之间的关联关系和距离关系等。
步骤300:应用所述目标集群内的各个宿主机对应的宿主机拓扑图,在所述目标集群中选取与所述目标应用容器之间的访问路径最优的目标宿主机。
在步骤300中,每个集群内宿主机拓扑图均随着集群内宿主机的增减而变化,需要动态获取。宿主机拓扑图中的各个节点分别用于表示对应的集群内的各个宿主机,且各个节点信息包含有宿主机所在集群信息、宿主机唯一标识和宿主机对应的集群管理节点等内容,节点之间的连线用于表示宿主机之间的关联关系及距离关系等。
具体来说,跨集群调度方法基于应用容器拓扑图、全量集群拓扑图和宿主机拓扑图这三张拓扑图最终确定数据库容器所在位置:一是应用容器拓扑图,指的是应用存量容器分布的集群、宿主机,这些宿主机位于哪些区域、机房等,该拓扑图受到应用部署的影响,新增数据库容器需要动态获取分析;二是全量集群拓补图,指的是整个云上部署架构中的各个集群分布,该拓补图相对稳定,维护在管理节点即可,无须动态获取;三是每个集群内宿主机拓扑图,该拓扑图随着集群内宿主机的增减而变化,需要动态获取。
步骤400:在所述目标集群的目标宿主机上创建所述容器创建请求对应的数据库容器。
从上述描述可知,本申请实施例提供的电子设备,通过应用容器拓扑图、全量集群拓扑图和宿主机拓扑图的应用,能够有效提高应用节点访问跨集群的数据库节点的有效性及准确性,且能够有效提高跨集群调度过程的效率;同时通过确定与所述目标应用容器之间的访问路径最优的目标集群和目标宿主机,能够更进一步地提高跨集群调度过程的效率,有效降低集群间的调用的网络时延,进而能够有效提高跨集群调度的可靠性,减少网络故障的发生,进而能够有效提高跨集群运维人员的用户体验。
在另一个实施方式中,跨集群调度装置可以与中央处理器9100分开配置,例如可以将跨集群调度装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现跨集群调度功能。
如图15所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图15中所示的所有部件;此外,电子设备9600还可以包括图15中没有示出的部件,可以参考现有技术。
如图15所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的跨集群调度方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的跨集群调度方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤100:根据当前的容器创建请求对应的目标应用容器的应用信息生成应用容器拓扑图,其中,该应用容器拓扑图中包含有所述目标应用容器对应的分布区域、有效集群和可用宿主机的信息。
可以理解的是,所述应用信息包括容器所属应用、所需资源和镜像。
步骤200:基于所述应用容器拓扑图和预设的全量集群拓扑图,在各个所述有效集群中选取与所述目标应用容器之间的访问路径最优的目标集群。
在步骤200中,所述应用容器拓扑图用于表示与所述目标应用容器的应用信息所提出的要求相匹配的存量容器分布的集群、宿主机,这些宿主机位于哪些区域、机房等,该拓扑图受到应用部署的影响,新增数据库容器需要动态获取分析;在一种举例中,应用容器拓扑图中的节点可以用于表示与所述目标应用容器的应用信息所提出的要求相匹配、且是在预设大区域内的存量数据库容器,且各个节点分别用于表示存量容器分布的集群及集群所在区域、宿主机以及这些宿主机位于哪些区域、机房等,所述应用容器拓扑图中的节点之间的连线用于表示存量容器之间的关联关系及距离关系等等。所述大区域是指本申请的跨集群调度方法有权限访问的全部的集群所在的各个区域的汇总区域。
全量集群拓补图指的是整个云上部署架构中的各个集群分布,该拓补图相对稳定,维护在管理节点即可,无须动态获取。可以理解的是,全量集群拓扑图中的各个节点分别用于表示所述大区域中的各个集群,且每个节点均包含有对应集群的关键信息,例如集群所在区域、唯一标识及集群内的集群管理节点信息等等,全量集群拓扑图中的各个节点之间的连线用于表示各个集群之间的关联关系和距离关系等。
步骤300:应用所述目标集群内的各个宿主机对应的宿主机拓扑图,在所述目标集群中选取与所述目标应用容器之间的访问路径最优的目标宿主机。
在步骤300中,每个集群内宿主机拓扑图均随着集群内宿主机的增减而变化,需要动态获取。宿主机拓扑图中的各个节点分别用于表示对应的集群内的各个宿主机,且各个节点信息包含有宿主机所在集群信息、宿主机唯一标识和宿主机对应的集群管理节点等内容,节点之间的连线用于表示宿主机之间的关联关系及距离关系等。
具体来说,跨集群调度方法基于应用容器拓扑图、全量集群拓扑图和宿主机拓扑图这三张拓扑图最终确定数据库容器所在位置:一是应用容器拓扑图,指的是应用存量容器分布的集群、宿主机,这些宿主机位于哪些区域、机房等,该拓扑图受到应用部署的影响,新增数据库容器需要动态获取分析;二是全量集群拓补图,指的是整个云上部署架构中的各个集群分布,该拓补图相对稳定,维护在管理节点即可,无须动态获取;三是每个集群内宿主机拓扑图,该拓扑图随着集群内宿主机的增减而变化,需要动态获取。
步骤400:在所述目标集群的目标宿主机上创建所述容器创建请求对应的数据库容器。
从上述描述可知,本申请实施例提供的计算机可读存储介质,通过应用容器拓扑图、全量集群拓扑图和宿主机拓扑图的应用,能够有效提高应用节点访问跨集群的数据库节点的有效性及准确性,且能够有效提高跨集群调度过程的效率;同时通过确定与所述目标应用容器之间的访问路径最优的目标集群和目标宿主机,能够更进一步地提高跨集群调度过程的效率,有效降低集群间的调用的网络时延,进而能够有效提高跨集群调度的可靠性,减少网络故障的发生,进而能够有效提高跨集群运维人员的用户体验。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种跨集群调度方法,其特征在于,包括:
根据当前的容器创建请求对应的目标应用容器的应用信息生成应用容器拓扑图,其中,该应用容器拓扑图中包含有所述目标应用容器对应的分布区域、有效集群和可用宿主机的信息;
基于所述应用容器拓扑图和预设的全量集群拓扑图,在各个所述有效集群中选取与所述目标应用容器之间的访问路径最优的目标集群;所述全量集群拓扑图表征了云上所有集群的网络拓扑结构,包括各个集群的跨区域、跨机房部署以及各个宿主机的分布情况;
应用所述目标集群内的各个宿主机对应的宿主机拓扑图,在所述目标集群中选取与所述目标应用容器之间的访问路径最优的目标宿主机;所述宿主机拓扑图中有多个节点分别用于表示对应的集群内的各个宿主机,且各个节点信息包含有宿主机所在集群信息、宿主机唯一标识和宿主机对应的集群管理节点;
在所述目标集群的目标宿主机上创建所述容器创建请求对应的数据库容器。
2.根据权利要求1所述的跨集群调度方法,其特征在于,所述根据当前的容器创建请求对应的目标应用容器的应用信息生成应用容器拓扑图,包括:
接收应用节点针对跨集群的数据库节点发出的容器创建请求;
获取所述容器创建请求对应的目标应用容器的应用信息,其中,所述应用信息包括容器所属应用、所需资源和镜像;
根据所述应用信息自各个预设的集群中筛选出与所述目标应用容器对应的有效集群及所述有效集群内与目标应用容器匹配的可用宿主机;
存储所述有效集群的标识信息和所述可用宿主机的宿主机信息,其中,所述标识信息包括所述有效集群的唯一标识和部署区域;
基于所述应用信息、所述有效集群的标识信息和所述可用宿主机的宿主机信息,生成对应的应用容器拓扑图,其中,该应用容器拓扑图中包含有所述目标应用容器的分布区域信息、各个有效集群的标识信息和各个所述可用宿主机的宿主机信息。
3.根据权利要求1所述的跨集群调度方法,其特征在于,所述基于所述应用容器拓扑图和所述全量集群拓扑图,在各个所述有效集群中选取与所述目标应用容器之间的访问路径最优的目标集群,包括:
获取各个预设的集群对应的预存储的全量集群拓扑图,并提取该全量集群拓扑图对应的全量集群拓扑信息;
根据所述应用容器拓扑图和所述全量集群拓扑图对应的全量集群拓扑信息,在各个所述有效集群中筛选出与所述目标应用容器之间的访问路径最优的目标集群。
4.根据权利要求3所述的跨集群调度方法,其特征在于,所述根据所述应用容器拓扑图和所述全量集群拓扑图对应的全量集群拓扑信息,在各个所述有效集群中筛选出与所述目标应用容器之间的距离权重和最优的有效集群,包括:
基于预设的预选优选策略,根据所述应用容器拓扑图和所述全量集群拓扑图对应的全量集群拓扑信息在各个所述有效集群中选取与所述应用容器之间的距离权重和最优的有效集群,并将与所述应用容器之间的距离权重和最优的有效集群确定为目标集群。
5.根据权利要求1所述的跨集群调度方法,其特征在于,所述应用所述目标集群内的各个宿主机对应的宿主机拓扑图,在所述目标集群中选取与所述目标应用容器之间的访问路径最优的目标宿主机,包括:
读取所述目标集群内的各个宿主机对应的宿主机拓扑图;
根据所述宿主机拓扑图在所述目标集群中选取与所述目标应用容器之间的访问路径最优的目标宿主机。
6.根据权利要求5所述的跨集群调度方法,其特征在于,所述根据所述宿主机拓扑图在所述目标集群中选取与所述目标应用容器之间的访问路径最优的目标宿主机,包括:
基于预设的预选优选策略,根据所述宿主机拓扑图在所述目标集群中的各个所述可用宿主机中选取与所述应用容器之间的距离权重和最优的可用宿主机,并将与所述应用容器之间的距离权重和最优的可用宿主机确定为目标宿主机。
7.根据权利要求2所述的跨集群调度方法,其特征在于,所述在所述目标集群的目标宿主机上创建所述容器创建请求对应的数据库容器,包括:
向所述目标集群内的集群管理节点发送针对所述目标宿主机的容器创建指令,以基于该容器创建指令在所述目标宿主机上创建数据库容器,以将所述目标宿主机作为数据库节点来实现所述应用节点针对该数据库节点的访问。
8.一种跨集群调度装置,其特征在于,包括:
拓扑生成模块,用于根据当前的容器创建请求对应的目标应用容器的应用信息生成应用容器拓扑图,其中,该应用容器拓扑图中包含有所述目标应用容器对应的分布区域、有效集群和可用宿主机的信息;
集群选取模块,用于基于所述应用容器拓扑图和预设的全量集群拓扑图,在各个所述有效集群中选取与所述目标应用容器之间的访问路径最优的目标集群;所述全量集群拓扑图表征了云上所有集群的网络拓扑结构,包括各个集群的跨区域、跨机房部署以及各个宿主机的分布情况;
宿主机选取模块,用于应用所述目标集群内的各个宿主机对应的宿主机拓扑图,在所述目标集群中选取与所述目标应用容器之间的访问路径最优的目标宿主机;所述宿主机拓扑图中有多个节点分别用于表示对应的集群内的各个宿主机,且各个节点信息包含有宿主机所在集群信息、宿主机唯一标识和宿主机对应的集群管理节点;
容器创建模块,用于在所述目标集群的目标宿主机上创建所述容器创建请求对应的数据库容器。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的跨集群调度方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述的跨集群调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110170694.3A CN112995303B (zh) | 2021-02-08 | 2021-02-08 | 跨集群调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110170694.3A CN112995303B (zh) | 2021-02-08 | 2021-02-08 | 跨集群调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112995303A CN112995303A (zh) | 2021-06-18 |
CN112995303B true CN112995303B (zh) | 2023-04-07 |
Family
ID=76349161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110170694.3A Active CN112995303B (zh) | 2021-02-08 | 2021-02-08 | 跨集群调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112995303B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114675956B (zh) * | 2022-04-14 | 2022-08-30 | 三峡智控科技有限公司 | 一种基于Kubernetes集群之间Pod配置及调度的方法 |
CN116866440B (zh) * | 2023-09-05 | 2024-01-19 | 苏州浪潮智能科技有限公司 | 一种集群节点选择调度方法、装置、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109343963A (zh) * | 2018-10-30 | 2019-02-15 | 杭州数梦工场科技有限公司 | 一种容器集群的应用访问方法、装置及相关设备 |
CN111737741A (zh) * | 2020-06-19 | 2020-10-02 | 中国工商银行股份有限公司 | 分布式数据库集群访问方法及中间服务层 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10884795B2 (en) * | 2018-04-26 | 2021-01-05 | International Business Machines Corporation | Dynamic accelerator scheduling and grouping for deep learning jobs in a computing cluster |
CN111431729A (zh) * | 2019-01-09 | 2020-07-17 | 中标软件有限公司 | 基于拓扑图的资源管理交互方法 |
CN110389836A (zh) * | 2019-07-17 | 2019-10-29 | 腾讯科技(深圳)有限公司 | 一种多集群管理方法、装置、服务器及存储介质 |
CN111045821A (zh) * | 2019-12-06 | 2020-04-21 | 北京浪潮数据技术有限公司 | 一种容器调度方法、装置、容器调度器及可读存储介质 |
CN111767145A (zh) * | 2020-06-24 | 2020-10-13 | 中国工商银行股份有限公司 | 容器调度系统、方法、装置和设备 |
-
2021
- 2021-02-08 CN CN202110170694.3A patent/CN112995303B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109343963A (zh) * | 2018-10-30 | 2019-02-15 | 杭州数梦工场科技有限公司 | 一种容器集群的应用访问方法、装置及相关设备 |
CN111737741A (zh) * | 2020-06-19 | 2020-10-02 | 中国工商银行股份有限公司 | 分布式数据库集群访问方法及中间服务层 |
Also Published As
Publication number | Publication date |
---|---|
CN112995303A (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111083722B (zh) | 模型的推送、模型的请求方法及装置、存储介质 | |
CN108632068B (zh) | 一种网络切片模板生成、网络切片模板应用方法和装置 | |
CN103841134B (zh) | 基于api发送、接收信息的方法、装置及系统 | |
CN106445473B (zh) | 一种容器部署方法及装置 | |
CN109074283A (zh) | 通过nfv建立基于池的m2m服务层 | |
CN112995303B (zh) | 跨集群调度方法及装置 | |
KR101487579B1 (ko) | 디바이스 소셜리티 구성 시스템 및 방법 | |
CN105122772A (zh) | 通过头部交换服务器状态和客户端信息以用于请求管理和负载平衡 | |
CN110381162A (zh) | 一种业务处理的方法以及相关装置 | |
CN109842670A (zh) | 运算装置、其资源分配方法及通信系统 | |
CN104239088B (zh) | 对分布式计算机网络的节点执行操作 | |
CN103781055A (zh) | 一种数据下载方法及相关设备 | |
US20230045979A1 (en) | Controlling delivery via unmanned delivery service through allocated network resources | |
CN113626002A (zh) | 一种服务执行方法及装置 | |
CN112330519A (zh) | 一种数据处理的方法和装置 | |
Hamdaoui et al. | Unleashing the power of participatory IoT with blockchains for increased safety and situation awareness of smart cities | |
CN112905338B (zh) | 计算资源自动分配方法及装置 | |
CN112396511B (zh) | 分布式风控变量数据处理方法、装置及系统 | |
CN112671572B (zh) | 智能设备配网的方法、装置、存储介质及电子装置 | |
CN111858050B (zh) | 服务器集群混合部署方法、集群管理节点及相关系统 | |
JP7458377B2 (ja) | フォグベースのデータ処理を有効にするためのデータサンプルテンプレート(Data Sample Template:DST)管理 | |
CN112714146A (zh) | 一种资源调度方法、装置、设备及计算机可读存储介质 | |
CN113300866B (zh) | 节点能力管控方法、设备、系统及存储介质 | |
US11102329B2 (en) | Miniaturized network nodes | |
CN108259527B (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 |