CN111767145A - 容器调度系统、方法、装置和设备 - Google Patents
容器调度系统、方法、装置和设备 Download PDFInfo
- Publication number
- CN111767145A CN111767145A CN202010586103.6A CN202010586103A CN111767145A CN 111767145 A CN111767145 A CN 111767145A CN 202010586103 A CN202010586103 A CN 202010586103A CN 111767145 A CN111767145 A CN 111767145A
- Authority
- CN
- China
- Prior art keywords
- working node
- creation request
- pod
- scheduler
- node
- 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
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- 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
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- 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/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种容器调度系统、方法、装置和设备,其中,该系统包括:总管节点和多个集群,其中,总管节点包括:第一接口、第一调度器和键值存储数据库,用于第一调度器根据Pod创建请求和键值存储数据库中存储的多个集群中各个工作节点的信息,从多个集群中的多个工作节点中筛选得到目标工作节点,将Pod创建请求转发至目标工作节点对应的集群;工作节点对应的集群包括:第二接口、第二调度器和多个工作节点,用于第二调度器将容器调度至多个工作节点中的目标工作节点。在本申请实施例中,通过总管节点自动化地在多个集群中筛选出最优的目标工作节点,从而可以高效、准确的调度容器以完成Pod的创建,并有效节省了运维人员的运维成本。
Description
技术领域
本申请涉及数据处理技术领域,特别涉及一种容器调度系统、方法、装置和设备。
背景技术
在运行容器之前,需要在集群的工作节点中筛选出符合要求的节点进行调度,工作节点用于运行具体的业务容器,随着集群数目的增加,集群的管理问题及集群间工作节点优选问题变得尤为重要。
由于筛选出的符合要求的节点并不一定是最优的工作节点,而且有可能整个集群无法找到符合要求的工作节点,因此,现有技术中,需要运维人员去集群中寻找符合要求的工作节点,生产运维人员只能通过既定规则和主观判断选择部署的集群及工作节点,来进行容器的调度。人工判断的方式对生产运维人员的工作经验和专业素质要求较高,人为的筛选不可能覆盖所有集群的所有工作节点,因此,无法保证选择的工作节点为最优,从而会导致生产环境计算资源没法得到充分利用。并且人工筛选需要逐个集群去排查工作节点是否满足容器资源的需求,这样就增加了运维成本。随着集群的数目不断增加,运维的成本也会越来越高。由此可见,采用现有技术中的容器调度方式无法高效、准确地选择部署的集群及工作节点来进行容器的调度。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种容器调度系统、方法、装置和设备,以解决现有技术中无法高效、准确地选择部署的集群及工作节点来进行容器的调度的问题。
本申请实施例提供了一种容器调度系统,包括:总管节点和多个集群,其中,
所述总管节点包括:第一接口、第一调度器和键值存储数据库,用于在所述第一调度器监听到所述第一接口接收到用户提交的Pod创建请求的情况下,所述第一调度器根据所述Pod创建请求和所述键值存储数据库中存储的所述多个集群中各个工作节点的信息,从所述多个集群中的多个工作节点中筛选得到目标工作节点,将所述Pod创建请求转发至所述目标工作节点对应的集群;所述目标工作节点对应的集群包括:第二接口、第二调度器和多个工作节点,用于在所述第二调度器监听到所述第二接口接收到Pod创建请求的情况下,所述第二调度器将容器调度至所述多个工作节点中的目标工作节点。
在一个实施例中,所述集群为Kubernetes集群。
本申请实施例还提供了一种容器调度方法,包括:第一调度器在监听到第一接口接收到用户提交的Pod创建请求的情况下,获取所述Pod创建请求和键值存储数据库中存储的多个集群中各个工作节点的信息;所述第一调度器根据所述Pod创建请求和所述多个集群中各个工作节点的信息,确定目标工作节点;所述第一调度器将所述Pod创建请求转发至所述目标工作节点对应的集群;所述目标工作节点对应的集群根据所述Pod创建请求,将容器调度至所述目标工作节点。
在一个实施例中,所述Pod创建请求包括:请求创建的Pod的属性信息和配置信息。
在一个实施例中,所述工作节点的信息包括:可用的资源量、内存、CPU配置、所属的集群、所在的位置。
在一个实施例中,所述第一调度器将所述Pod创建请求转发至所述目标工作节点对应的集群,包括:所述第一调度器获取所述键值存储数据库中存储的所述目标工作节点的信息;所述第一调度器根据所述目标工作节点的信息,确定所述目标工作节点对应的集群;所述第一调度器将所述Pod创建请求转发至所述目标工作节点对应的集群的第二接口。
在一个实施例中,所述第一调度器根据所述Pod创建请求和所述多个集群中各个工作节点的信息,确定目标工作节点,包括:所述第一调度器根据所述Pod创建请求和所述多个集群中各个工作节点的信息,从所述多个集群中的多个工作节点中筛选出与所述Pod创建请求匹配的工作节点;将与所述Pod创建请求匹配的工作节点作为目标工作节点。
本申请实施例还提供了一种容器调度装置,包括:获取模块,用于第一调度器在监听到第一接口接收到用户提交的Pod创建请求的情况下,获取所述Pod创建请求和键值存储数据库中存储的多个集群中各个工作节点的信息;确定模块,用于所述第一调度器根据所述Pod创建请求和所述多个集群中各个工作节点的信息,确定目标工作节点;转发模块,用于所述第一调度器将所述Pod创建请求转发至所述目标工作节点对应的集群;调度模块,用于所述目标工作节点对应的集群根据所述Pod创建请求,将容器调度至所述目标工作节点。
本申请实施例还提供了一种容器调度设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现所述容器调度方法的步骤。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现所述方容器调度法的步骤。
本申请实施例提供了一种容器调度系统,可以通过设置总管节点实现对多个集群的管理和调度,由于总管节点中的键值存储数据库汇总了所有集群的信息,通过键值存储数据库可以获取到所有集群的所有工作节点的信息。通过总管节点接口接收用户提交的Pod创建请求时,可以实现自动化地在多个集群的所有工作节点中筛选出最优的目标工作节点,从而可以高效、准确的调度容器以完成Pod的创建,并有效节省了运维人员的运维成本。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。在附图中:
图1是根据本申请实施例提供的容器调度系统的结构示意图;
图2是根据本申请实施例提供的容器调度方法的步骤示意图;
图3是根据本申请具体实施例提供的容器调度系统的示意图;
图4是根据本申请实施例提供的容器调度装置的结构示意图;
图5是根据本申请实施例提供的容器调度设备的结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为了使本申请公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域的技术人员知道,本申请的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本申请公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
虽然下文描述流程包括以特定顺序出现的多个操作,但是应该清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。
请参阅图1,本实施方式可以提供一种容器调度系统。该容器调度系统可以用于根据用户提交的Pod创建请求调度容器从多个集群中筛选得到的目标工作节点,以完成Pod的创建。上述容器调度系统可以包括:总管节点100和多个集群200,其中,
总管节点100可以包括:第一接口101、第一调度器102和键值存储数据库103,上述总管节点100可以用于在第一调度器102监听到第一接口101接收到用户提交的Pod创建请求的情况下,第一调度器102可以根据Pod创建请求和键值存储数据库103中存储的多个集群200中各个工作节点的信息,从多个集群200中的多个工作节点中筛选得到目标工作节点,将Pod创建请求转发至目标工作节点对应的集群。
目标工作节点对应的集群可以包括:第二接口201、第二调度器202和多个工作节点203,可以用于在第二调度器202监听到第二接口201接收到Pod创建请求的情况下,第二调度器202将容器调度至多个工作节点203中的目标工作节点。
在本实施方式中,上述总管节点100,可以对上述多个集群200进行管理和调度,总管节点中的键值存储数据库103汇总存储了所有集群中的信息,键值存储数据库103可以是一个强一致性、高可用的键值存储系统,通过键值存储数据库103可以获取到所有集群中的所有工作节点的信息。
在一个实施方式中,上述键值存储数据库103可以采用ETCD来部署实现,上述ETCD是一种持久性、轻量型的分布式键-值数据存储系统,用于存储上述多个集群200的信息。多个集群200的信息可以包括:集群总数量、每个集群中工作节点的数据、每个集群的位置、创建的Pod的相关信息、Pod与工作节点的绑定信息、集群中各个工作节点的相关信息(可用的资源量、内存、CPU配置、所属的集群、所在的位置)等。
在本实施方式中,第一接口101作为总管节点的唯一操作入口,也是多个集群间数据交互和通信的中心枢纽。上述第一调度器102可以监听第一接口101,并根据用户提交的Pod创建请求对多个集群200中的多个工作节点进行筛选。
在本实施方式中,上述多个集群200中的每个集群中均可以包括:第二接口、第二调度器和多个工作节点。在一些实施例中,每个集群中均可以包含一个管理节点和多个工作节点,其中,管理节点可以包括:第二接口、第二调度器和ETCD。集群中的ETCD是一种持久性、轻量型的分布式键-值数据存储系统,用于存储集群的配置数据。第二接口作为集群的唯一操作入口,也是集群内各个模块之间数据交互和通信的中心枢纽。第二调度器可以通过第二接口监听集群的状态,并且可以负责集群的资源管理调度,完成Pod(容器组)和工作节点(Node)的绑定任务。
在本实施方式中,上述集群可以为Kubernetes集群,Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。上述Pod是一组容器,而容器单指一个容器,即容器包含在Pod,一个Pod中有一个pause容器和若干个业务容器,而容器就是单独的一个容器。
从以上的描述中,可以看出,本申请实施例实现了如下技术效果:可以通过总管节点实现对多个集群的管理和调度,由于总管节点中的键值存储数据库汇总了所有集群的信息,通过键值存储数据库可以获取到所有集群的所有工作节点的信息。通过总管节点接口接收用户提交的Pod创建请求时,可以实现自动化地在多个集群的所有工作节点中筛选出最优的目标工作节点,从而可以高效、准确的调度容器以完成Pod的创建,并有效节省了运维人员的运维成本。
请参阅图2,本实施方式可以提供一种基于上述容器调度系统进行的容器调度方法。该容器调度方法可以用于根据用户提交的Pod创建请求调度容器从多个集群中筛选得到的目标工作节点,以完成Pod的创建。上述容器调度方法可以包括以下步骤。
S201:第一调度器在监听到第一接口接收到用户提交的Pod创建请求的情况下,获取Pod创建请求和键值存储数据库中存储的多个集群中各个工作节点的信息。
在本实施方式中,上述第一调度器可以对第一接口进行实时的监听,在监听到第一接口接收到用户提交的Pod创建请求的情况下,可以获取用户提交的Pod创建请求和键值存储数据库中存储的多个集群中各个工作节点的信息。
在本实施方式中,由于第一接口接收到的用户提交的Pod创建请求会实时存入总管节点中的键值存储数据库中,因此,第一调度器在监听到第一接口接收到用户提交的Pod创建请求的情况下,可以从键值存储数据库中查询得到用户提交的Pod创建请求和多个集群中各个工作节点的信息。
在本实施方式中,上述Pod创建请求中可以包括但不限于以下至少之一:请求创建的Pod的属性信息和配置信息,其中,Pod的属性信息可以包括:所需要的资源量、镜像、资源、内存要求等。Pod的配置信息可以包括但不限于以下至少之一:CPU配置信息等。当然可以理解的是,上述Pod创建请求中还可以包括其它信息,例如:用户指定的Pod特征信息,根据该Pod特征信息可以确定部署Pod的工作节点使用哪种筛选策略进行筛选。具体的可以根据实际情况确定,本申请对此不作限定。
在本实施方式中,上述工作节点的信息可以包括但不限于以下至少之一:可用的资源量、内存、CPU配置、所属的集群、所在的位置。当然可以理解的是,上述工作节点的信息中还可以包括其它信息,例如:绑定的Pod信息等,具体可以根据实际情况确定,本申请对此不作限定。
S202:第一调度器根据Pod创建请求和多个集群中各个工作节点的信息,确定目标工作节点。
在本实施方式中,上述第一调度器可以根据Pod创建请求和多个集群中各个工作节点的信息,确定目标工作节点。其中,上述目标工作节点为与Pod创建请求匹配的最优工作节点。
在本实施方式中,可以将上述Pod创建请求与上述多个集群中各个工作节点的信息进行匹配,将不符合Pod创建请求中要求的工作节点过滤掉,并对过滤得到的符合要求的工作节点进行优选,筛选出最适合部署待调度Pod的工作节点。
在一个实施方式中,上述第一调度器可以根据Pod创建请求和多个集群中各个工作节点的信息,从多个集群中的多个工作节点中筛选出与Pod创建请求匹配的工作节点,并将与Pod创建请求匹配的工作节点作为目标工作节点。
在一个实施例中,可以根据工作节点的信息中的可用的资源量、内存、CPU配置等与Pod创建请求中的要求进行匹配,将资源量、内存、CPU配置等不符合要求的工作节点过滤掉,从而得到剩下的至少一个符合要求的工作节点。进一步的,可以通过对比工作节点的信息选出最优的工作节点,例如:选择CPU配置更高的、根据工作节点所在的位置确定距离最近的工作节点、选择内存更大的等,具体的可以根据实际情况确定,本申请对此不作限定。
在一个实施例中,在上述Pod创建请求中包括用户指定的Pod特征信息的情况下,可以根据用户指定的Pod特征信息对符合要求的工作节点进行优选。上述用户指定的Pod特征信息可以包括:指定Pod运行在具有某种特征的工作节点上(例如:VIP节点)、希望使用一个独立的工作节点等。
在一个实施方式中,在进行节点优选时,可以基于负载均衡原则进行目标工作节点的筛选,使得每个工作节点所承受的负载都保持在同一水平范围内,保持各个集群的负载均衡。
S203:第一调度器将Pod创建请求转发至目标工作节点对应的集群。
在本实施方式中,第一调度器在筛选得到目标工作节点后,可以将上述Pod创建请求转发至目标工作节点对应的集群。由于每个集群都有一个管理节点,因此,可以将上述Pod创建请求转发至上述目标工作节点对应的集群,目标工作节点对应的集群可以通过第二接口接收上述Pod创建请求。
在一个实施方式中,第一调度器可以在筛选得到目标工作节点后,获取键值存储数据库中存储的目标工作节点的信息,根据目标工作节点的信息,可以确定目标工作节点对应的集群。进一步的,第一调度器可以将Pod创建请求转发至目标工作节点对应的集群的第二接口。
S204:目标工作节点对应的集群根据Pod创建请求,将容器调度至目标工作节点。
在本实施方式中,目标工作节点对应的集群在接收到Pod创建请求后,集群中的第二调度器可以根据Pod创建请求,将创建Pod所需的容器调度至目标工作节点,从而完成Pod的创建。
在一个实施方式中,可以将目标工作节点与创建的Pod绑定的相关信息存储至集群中的ETCD中,从而完成ETCD中存储的信息的更新。
在一个实施方式中,在创建Pod之后,可以运行该Pod,在Pod正常启动运行的情况下结束Pod的创建流程。在Pod无法正常启动的情况下可以应用恢复机制,再次尝试进行启动。
在一个具体的场景示例中,随着MySQL Docker化落地实践,作为MySQL容器编排系统的单K8s集群规模不断的扩大,多K8s集群架构已经成为生产部署流行架构。随着集群数目的增加,集群的管理问题及集群间工作节点优选问题变得尤为重要。作为有状态服务,MySQL数据库无法像传统无状态服务一样通过横向扩容来保障服务高可用。MySQL容器的数据是存在工作节点本地磁盘,一旦调度到某一个工作节点,则后续的重建和修复只能在该工作节点上执行。在运行MySQL容器之前,需要在集群的工作节点中筛选出符合要求的节点进行调度。
在一个具体实施例中,可以提供如图3所示的容器调度系统,可以用于在多个集群的工作节点间选择最合适的工作节点进行MySQL容器的调度,使得资源使用率达到最大。在如图3中所示,可以在K8s集群之外单独搭建一个总管节点,用于多集群的管理,此时,K8s集群的管理节点是作为工作节点接受总管节点的调度请求。总管节点包括:接口、调度器和ETCD,其中,ETCD汇总了所有集群的ETCD中的信息,通过ETCD可以获取到所有集群的所有工作节点的信息。这样,通过总管节点创建pod的时候,就可以实现自动化地在多个集群间筛选出最优工作节点,节省了运维人员的运维成本。
如图3中所示,容器调度系统可以包括:一个总管节点和N个K8s集群,总管节点包括:接口、调度器和ETCD,K8s集群包括:一个K8s管理节点和多个工作节点,其中,K8s管理节点包括:API Server(接口)、调度器和ETCD。总管节点中的接口可以接收用户提交的MySQLPod创建请求,总管节点中的调度器可以获取总管节点ETCD中K8s集群1~N中所有工作节点的信息,并根据MySQL Pod创建请求从所有集群的所有工作节点筛选出最合适的目标工作节点。总管节点的调度器可以将MySQL Pod创建请求转发至目标工作节点对应的集群的APIServer。在转发至对应集群后再施行集群内调度,将MySQL容器调度至目标工作节点,完成MySQL Pod的创建,在MySQL Pod正常启动的情况下,结束MySQL Pod的创建流程。
从以上的描述中,可以看出,本申请实施例实现了如下技术效果:可以通过第一调度器在监听到第一接口接收到用户提交的Pod创建请求的情况下,获取Pod创建请求和键值存储数据库中存储的多个集群中各个工作节点的信息。并根据Pod创建请求和多个集群中各个工作节点的信息,确定目标工作节点,从而可以自动化地在多个集群的所有工作节点中筛选出目标工作节点,有效节省了运维人员的运维成本。进一步的,将Pod创建请求转发至目标工作节点对应的集群,目标工作节点对应的集群根据Pod创建请求,将容器调度至目标工作节点,从而可以高效、准确的调度容器以完成Pod的创建。
基于同一发明构思,本申请实施例中还提供了一种容器调度装置,如下面的实施例。由于容器调度装置解决问题的原理与容器调度方法相似,因此容器调度装置的实施可以参见容器调度方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图4是本申请实施例的容器调度装置的一种结构框图,如图4所示,可以包括:获取模块401、确定模块402、转发模块403和调度模块404,下面对该结构进行说明。
获取模块401,可以用于第一调度器在监听到第一接口接收到用户提交的Pod创建请求的情况下,获取Pod创建请求和键值存储数据库中存储的多个集群中各个工作节点的信息。
确定模块402,可以用于第一调度器根据Pod创建请求和多个集群中各个工作节点的信息,确定目标工作节点。
转发模块403,可以用于第一调度器将Pod创建请求转发至目标工作节点对应的集群。
调度模块404,可以用于目标工作节点对应的集群根据Pod创建请求,将容器调度至目标工作节点。
本申请实施方式还提供了一种电子设备,具体可以参阅图5所示的基于本申请实施例提供的容器调度方法的电子设备组成结构示意图,电子设备具体可以包括输入设备51、处理器52、存储器53。其中,输入设备51具体可以用于输入用户提交的Pod创建请求。处理器52具体可以用于第一调度器在监听到第一接口接收到用户提交的Pod创建请求的情况下,获取Pod创建请求和键值存储数据库中存储的多个集群中各个工作节点的信息;第一调度器根据Pod创建请求和多个集群中各个工作节点的信息,确定目标工作节点;第一调度器将Pod创建请求转发至目标工作节点对应的集群;目标工作节点对应的集群根据Pod创建请求,将容器调度至目标工作节点。存储器53具体可以用于存储Pod创建请求、目标工作节点等参数。
在本实施方式中,输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。输入设备还可以获取接收其他模块、单元、设备传输过来的数据。处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。存储器具体可以是现代信息技术中用于保存信息的记忆设备。存储器可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
在本实施方式中,该电子设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本申请实施方式中还提供了一种基于容器调度方法的计算机存储介质,计算机存储介质存储有计算机程序指令,在计算机程序指令被执行时可以实现:第一调度器在监听到第一接口接收到用户提交的Pod创建请求的情况下,获取Pod创建请求和键值存储数据库中存储的多个集群中各个工作节点的信息;第一调度器根据Pod创建请求和多个集群中各个工作节点的信息,确定目标工作节点;第一调度器将Pod创建请求转发至目标工作节点对应的集群;目标工作节点对应的集群根据Pod创建请求,将容器调度至目标工作节点。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
虽然本申请提供了如上述实施例或流程图所述的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑性上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述的方法的在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施方式和许多应用对本领域技术人员来说都将是显而易见的。因此,本申请的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种容器调度系统,其特征在于,包括:总管节点和多个集群,其中,
所述总管节点包括:第一接口、第一调度器和键值存储数据库,用于在所述第一调度器监听到所述第一接口接收到用户提交的Pod创建请求的情况下,所述第一调度器根据所述Pod创建请求和所述键值存储数据库中存储的所述多个集群中各个工作节点的信息,从所述多个集群中的多个工作节点中筛选得到目标工作节点,将所述Pod创建请求转发至所述目标工作节点对应的集群;
所述目标工作节点对应的集群包括:第二接口、第二调度器和多个工作节点,用于在所述第二调度器监听到所述第二接口接收到Pod创建请求的情况下,所述第二调度器将容器调度至所述多个工作节点中的目标工作节点。
2.根据权利要求1所述的系统,其特征在于,所述集群为Kubernetes集群。
3.一种通过权利要求1至2中任何一项所述的容器调度系统进行的容器调度方法,其特征在于,包括:
第一调度器在监听到第一接口接收到用户提交的Pod创建请求的情况下,获取所述Pod创建请求和键值存储数据库中存储的多个集群中各个工作节点的信息;
所述第一调度器根据所述Pod创建请求和所述多个集群中各个工作节点的信息,确定目标工作节点;
所述第一调度器将所述Pod创建请求转发至所述目标工作节点对应的集群;
所述目标工作节点对应的集群根据所述Pod创建请求,将容器调度至所述目标工作节点。
4.根据权利要求3所述的方法,其特征在于,所述Pod创建请求包括:请求创建的Pod的属性信息和配置信息。
5.根据权利要求3所述的方法,其特征在于,所述工作节点的信息包括:可用的资源量、内存、CPU配置、所属的集群、所在的位置。
6.根据权利要求3所述的方法,其特征在于,所述第一调度器将所述Pod创建请求转发至所述目标工作节点对应的集群,包括:
所述第一调度器获取所述键值存储数据库中存储的所述目标工作节点的信息;
所述第一调度器根据所述目标工作节点的信息,确定所述目标工作节点对应的集群;
所述第一调度器将所述Pod创建请求转发至所述目标工作节点对应的集群的第二接口。
7.根据权利要求3所述的方法,其特征在于,所述第一调度器根据所述Pod创建请求和所述多个集群中各个工作节点的信息,确定目标工作节点,包括:
所述第一调度器根据所述Pod创建请求和所述多个集群中各个工作节点的信息,从所述多个集群中的多个工作节点中筛选出与所述Pod创建请求匹配的工作节点;
将与所述Pod创建请求匹配的工作节点作为目标工作节点。
8.一种容器调度装置,其特征在于,包括:
获取模块,用于第一调度器在监听到第一接口接收到用户提交的Pod创建请求的情况下,获取所述Pod创建请求和键值存储数据库中存储的多个集群中各个工作节点的信息;
确定模块,用于所述第一调度器根据所述Pod创建请求和所述多个集群中各个工作节点的信息,确定目标工作节点;
转发模块,用于所述第一调度器将所述Pod创建请求转发至所述目标工作节点对应的集群;
调度模块,用于所述目标工作节点对应的集群根据所述Pod创建请求,将容器调度至所述目标工作节点。
9.一种容器调度设备,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求3至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,所述指令被执行时实现权利要求3至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010586103.6A CN111767145A (zh) | 2020-06-24 | 2020-06-24 | 容器调度系统、方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010586103.6A CN111767145A (zh) | 2020-06-24 | 2020-06-24 | 容器调度系统、方法、装置和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111767145A true CN111767145A (zh) | 2020-10-13 |
Family
ID=72722426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010586103.6A Pending CN111767145A (zh) | 2020-06-24 | 2020-06-24 | 容器调度系统、方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111767145A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112395269A (zh) * | 2020-11-16 | 2021-02-23 | 中国工商银行股份有限公司 | MySQL高可用组的搭建方法及装置 |
CN112905337A (zh) * | 2021-02-07 | 2021-06-04 | 中国工商银行股份有限公司 | 软硬件混合部署的MySQL集群调度方法及装置 |
CN112995303A (zh) * | 2021-02-08 | 2021-06-18 | 中国工商银行股份有限公司 | 跨集群调度方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582441A (zh) * | 2018-11-30 | 2019-04-05 | 北京百度网讯科技有限公司 | 用于提供容器服务的系统、方法和装置 |
CN110221901A (zh) * | 2019-06-06 | 2019-09-10 | 深圳前海微众银行股份有限公司 | 容器资源创建方法、装置、设备及计算机可读存储介质 |
CN110389836A (zh) * | 2019-07-17 | 2019-10-29 | 腾讯科技(深圳)有限公司 | 一种多集群管理方法、装置、服务器及存储介质 |
CN110489203A (zh) * | 2019-07-01 | 2019-11-22 | 广东轩辕网络科技股份有限公司 | 一种容器调度框架系统 |
CN110780998A (zh) * | 2019-09-29 | 2020-02-11 | 武汉大学 | 基于Kubernetes的动态负载均衡资源调度方法 |
CN111045821A (zh) * | 2019-12-06 | 2020-04-21 | 北京浪潮数据技术有限公司 | 一种容器调度方法、装置、容器调度器及可读存储介质 |
-
2020
- 2020-06-24 CN CN202010586103.6A patent/CN111767145A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582441A (zh) * | 2018-11-30 | 2019-04-05 | 北京百度网讯科技有限公司 | 用于提供容器服务的系统、方法和装置 |
CN110221901A (zh) * | 2019-06-06 | 2019-09-10 | 深圳前海微众银行股份有限公司 | 容器资源创建方法、装置、设备及计算机可读存储介质 |
CN110489203A (zh) * | 2019-07-01 | 2019-11-22 | 广东轩辕网络科技股份有限公司 | 一种容器调度框架系统 |
CN110389836A (zh) * | 2019-07-17 | 2019-10-29 | 腾讯科技(深圳)有限公司 | 一种多集群管理方法、装置、服务器及存储介质 |
CN110780998A (zh) * | 2019-09-29 | 2020-02-11 | 武汉大学 | 基于Kubernetes的动态负载均衡资源调度方法 |
CN111045821A (zh) * | 2019-12-06 | 2020-04-21 | 北京浪潮数据技术有限公司 | 一种容器调度方法、装置、容器调度器及可读存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112395269A (zh) * | 2020-11-16 | 2021-02-23 | 中国工商银行股份有限公司 | MySQL高可用组的搭建方法及装置 |
CN112395269B (zh) * | 2020-11-16 | 2023-08-29 | 中国工商银行股份有限公司 | MySQL高可用组的搭建方法及装置 |
CN112905337A (zh) * | 2021-02-07 | 2021-06-04 | 中国工商银行股份有限公司 | 软硬件混合部署的MySQL集群调度方法及装置 |
CN112905337B (zh) * | 2021-02-07 | 2024-03-26 | 中国工商银行股份有限公司 | 软硬件混合部署的MySQL集群调度方法及装置 |
CN112995303A (zh) * | 2021-02-08 | 2021-06-18 | 中国工商银行股份有限公司 | 跨集群调度方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109885389B (zh) | 一种基于容器的并行深度学习调度训练方法及系统 | |
CN109960585B (zh) | 一种基于kubernetes的资源调度方法 | |
CN107943555B (zh) | 一种云计算环境下的大数据存储和处理平台及处理方法 | |
CN112162865B (zh) | 服务器的调度方法、装置和服务器 | |
US8510747B2 (en) | Method and device for implementing load balance of data center resources | |
WO2021036229A1 (zh) | 一种变更设备业务的方法和业务变更系统 | |
CN111767145A (zh) | 容器调度系统、方法、装置和设备 | |
US20160098292A1 (en) | Job scheduling using expected server performance information | |
Tao et al. | Dynamic resource allocation algorithm for container-based service computing | |
US20200174844A1 (en) | System and method for resource partitioning in distributed computing | |
US20080263561A1 (en) | Information processing apparatus, computer and resource allocation method | |
CN110221920B (zh) | 部署方法、装置、存储介质及系统 | |
CN109992422A (zh) | 一种面向gpu资源的任务调度方法、装置和系统 | |
CN112910937B (zh) | 容器集群中的对象调度方法、装置、服务器和容器集群 | |
CN111880934A (zh) | 一种资源管理方法、装置、设备及可读存储介质 | |
CN112799817A (zh) | 一种微服务资源调度系统和方法 | |
CN113032102B (zh) | 资源重调度方法、装置、设备和介质 | |
US10606650B2 (en) | Methods and nodes for scheduling data processing | |
CN115543577A (zh) | 基于协变量的Kubernetes资源调度优化方法、存储介质及设备 | |
CN113157459A (zh) | 一种基于云服务的负载信息处理方法及系统 | |
CN110914805A (zh) | 用于分层任务调度的计算系统 | |
CN107168799A (zh) | 基于云计算架构的数据优化处理方法 | |
US9832137B1 (en) | Provisioning system and method for a distributed computing environment using a map reduce process | |
CN116010064A (zh) | Dag作业调度和集群管理的方法、系统及装置 | |
CN114356714A (zh) | 基于Kubernetes智能板卡集群的资源集成监控与调度装置 |
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 |