CN117331650A - 容器集的调度方法、装置、设备及存储介质 - Google Patents
容器集的调度方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117331650A CN117331650A CN202311431183.8A CN202311431183A CN117331650A CN 117331650 A CN117331650 A CN 117331650A CN 202311431183 A CN202311431183 A CN 202311431183A CN 117331650 A CN117331650 A CN 117331650A
- Authority
- CN
- China
- Prior art keywords
- node
- host node
- host
- nodes
- time
- 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 55
- 238000012216 screening Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 abstract description 12
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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/45583—Memory management, e.g. access or allocation
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
本公开涉及一种容器集的调度方法、装置、设备及存储介质,该方法包括:获取第一数据处理器节点的更新时间;判断当前时间与所述更新时间的时间差是否大于第一预设时间;若所述时间差大于所述第一预设时间,则从第一主机节点以外的主机节点中确定一个第二主机节点,所述第一主机节点为所述第一数据处理器节点对应的主机节点;将所述第一主机节点中的容器集调度至所述第二主机节点。本公开通过将第一处理器节点的更新时间与当前时间比较,判断第一数据处理器节点是否正常工作,进而在其未正常工作时,将其对应的第一主机节点上的容器集调度至其他主机节点,使得无法正常工作的第一主机节点上的容器集在其他节点上正常工作,保证集群的正常通信。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种容器集的调度方法、装置、设备及存储介质。
背景技术
OVN-Kubernetes是一个基于开放虚拟网络(Open Virtual Network,OVN)的Kubernetes网络插件,可以满足Kubernetes集群中容器之间以及容器与外部网络之间的通信需求。在使用OVN-Kubernetes时,位于数据处理器(Data Processing Unit,DPU)上的DPU节点需要与其对应的主机(Host)上的Host节点协作,才能组成一个完整的工作节点,在DPU节点发生故障时,集群的通信也会受到影响,但DPU节点不属于Kubernetes集群管理的节点,Kubernetes集群无法检测其工作状态,导致DPU节点发生故障时,难以对集群通信进行恢复。
发明内容
为了解决上述技术问题,本公开提供了一种容器集的调度方法、装置、设备及存储介质。
本公开实施例的第一方面提供了一种容器集的调度方法,该方法适用于一种集群控制节点,该方法包括:
获取第一数据处理器节点的更新时间;
判断当前时间与所述更新时间的时间差是否大于第一预设时间;
若所述时间差大于所述第一预设时间,则从第一主机节点以外的主机节点中确定一个第二主机节点,所述第一主机节点为所述第一数据处理器节点对应的主机节点;
将所述第一主机节点中的容器集调度至所述第二主机节点。
可选地,所述从第一主机节点以外的主机节点中确定一个第二主机节点之前,所述方法还包括:
将所述第一主机节点由可调度节点标记为不可调度节点;
所述从第一主机节点以外的主机节点中确定一个第二主机节点,包括:
从标记为可调度节点的主机节点中确定所述第二主机节点。
可选地,所述判断当前时间与所述更新时间的时间差是否大于第一预设时间之前,所述方法还包括:
获取所述第一主机节点的标识信息。
可选地,所述从标记为可调度节点的主机节点中确定所述第二主机节点之前,所述方法还包括:
获取各个主机节点的资源信息;
基于所述资源信息以及所述标识信息,确定所述第一主机节点的第一资源信息;
所述从标记为可调度节点的主机节点中确定所述第二主机节点,包括:
在标记为可调度节点的主机节点中筛选资源信息与所述第一资源信息相匹配的主机节点;
基于筛选结果,确定所述第二主机节点。
可选地,所述基于筛选结果,确定所述第二主机节点,包括:
将所述筛选结果中负载最小的主机节点确定为所述第二主机节点。
可选地,所述将所述第一主机节点中的容器集调度至所述第二主机节点之前,所述方法包括:
向所述第一主机节点发送驱逐指令,以使所述第一主机节点在接收到所述驱逐指令后对所述容器集进行驱逐。
可选地,所述获取第一数据处理器节点的更新时间,包括:
每隔第二预设时间,从配置文件中获取所述第一数据处理器节点最新写入的所述更新时间,所述第二预设时间小于所述第一预设时间。
本公开实施例的第二方面提供了一种容器集的调度装置,该装置适用于一种集群控制节点,该装置包括:
第一获取模块,用于获取第一数据处理器节点的更新时间;
判断模块,用于判断当前时间与所述更新时间的时间差是否大于第一预设时间;
第一确定模块,用于若所述时间差大于所述第一预设时间,则从第一主机节点以外的主机节点中确定一个第二主机节点,所述第一主机节点为所述第一数据处理器节点对应的主机节点;
调度模块,用于将所述第一主机节点中的容器集调度至所述第二主机节点。
本公开实施例的第三方面提供了一种计算机设备,包括存储器和处理器,以及计算机程序,其中,存储器中存储有计算机程序,当计算机程序被处理器执行时,实现如上述第一方面的容器集的调度方法。
本公开实施例的第四方面提供了一种计算机可读存储介质,存储介质中存储有计算机程序,当计算机程序被处理器执行时,实现如上述第一方面的容器集的调度方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
在本公开实施例提供的容器集的调度方法、装置、设备及存储介质中,通过获取第一数据处理器节点的更新时间,判断当前时间与所述更新时间的时间差是否大于第一预设时间,若所述时间差大于所述第一预设时间,则从第一主机节点以外的主机节点中确定一个第二主机节点,所述第一主机节点为所述第一数据处理器节点对应的主机节点,将所述第一主机节点中的容器集调度至所述第二主机节点,能够在通过第一数据处理器节点的更新时间判断其无法正常工作时,确定第一数据处理器节点对应的第一主机节点也无法正常工作,需要将运行在第一主机节点上的容器集调度至其他主机节点,保证这部分容器集的正常运行,从而保证集群的正常通信。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的一种容器集的调度方法的流程图;
图2是本公开实施例提供的一种确定第二主机节点的方法的流程图;
图3是本公开实施例提供的另一种确定第二主机节点的方法的流程图;
图4是本公开实施例提供的一种容器集的调度装置的结构示意图;
图5是本公开实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
图1是本公开实施例提供的一种容器集的调度方法的流程图,该方法可以由一种容器集的调度装置执行,该容器集的调度装置可以设置在集群控制节点。如图1所示,本实施例提供的容器集的调度方法包括如下步骤:
S101、获取第一数据处理器节点的更新时间。
本公开实施例中的第一数据处理器节点可以理解为运行在数据处理器(DataProcessing Unit,DPU)上的任一通信节点。
本公开实施例中的更新时间可以理解为第一数据处理器节点最近一次更新状态的时间,示例的,第一数据处理器节点会定期发送包含发送时刻的更新消息,通过更新消息验证第一数据处理器节点的通行状态是否正常,该发送时刻即为更新时间。
本公开实施例中,容器集的调度装置可以获取第一数据处理器节点最新的更新时间。
在本公开实施例的一种示例性的实施方式中,容器集的调度装置可以接收第一数据处理器节点发送的包含更新时间的更新消息,并从更新消息中提取更新时间。
在本公开实施例的另一种示例性的实施方式中,容器集的调度装置可以每隔一定时间向第一数据处理器节点发送一次更新请求,以使第一数据处理器节点在收到更新请求后返回包含更新时间的更新消息。
在本公开实施例的又一种示例性的实施方式中,容器集的调度装置可以从程序接口服务器(Application Programming Interface Server,APIServer)中获取第一数据处理器节点最近一次写入的更新时间,APIServer可以存储第一数据处理器节点写入的预设数量的更新时间,在写入数量超过预设数量时,新写入的更新时间会覆盖最先写入的更新时间。
在本公开实施例的再一种示例性的实施方式中,容器集的调度装置可以获取容器网络接口(Container Network Interface,CNI)定期对第一数据处理器节点进行监听得到的更新消息,并从中提取包含的更新时间。
S102、判断当前时间与更新时间的时间差是否大于第一预设时间。
本公开实施例中的当前时间可以理解为容器集的调度装置从集群控制(master)节点获取的当前时刻的标准参考时间。
本公开实施例中的第一预设时间可以理解为预先设定的时间长度阈值。
本公开实施例中,容器集的调度装置可以在获得第一数据处理器节点最近一次的更新时间后,计算当前时间与更新时间的时间差,并将该时间差与第一预设时间进行比较,判断该时间差是否大于第一预设时间。
S103、若时间差大于第一预设时间,则从第一主机节点以外的主机节点中确定一个第二主机节点,第一主机节点为第一数据处理器节点对应的主机节点。
本公开实施例中的第一主机节点可以理解为第一数据处理器节点对应的,与第一数据处理器节点协作组成一个完整的工作节点的主机节点。
本公开实施例中的第二主机节点可以理解为对第一主机节点上运行的容器集进行调度时的目标主机节点,示例的,第二主机节点对应的第二数据处理器节点的更新时间与当前时间的时间差小于第一预设时间。
本公开实施例中,容器集的调度装置可以在确定当前时间与更新时间的时间差大于第一预设时间时,确定第一数据处理器节点在第一预设时间内未进行更新,第一数据处理器节点发生故障,与其协作的第一主机节点也无法正常工作,需要对第一主机节点上运行的容器集(pod)进行调度,因此从第一主机节点以外的主机节点中确定一个第二主机节点作为容器集目标调度的主机节点。
在本公开实施例的一种示例性的实施方式中,容器集的调度装置可以在确定当前时间与更新时间的时间差大于第一预设时间时,获取数据处理器节点与主机节点之间的对应关系,进而确定第一数据处理器节点对应的第一主机节点,从第一主机节点以外的主机节点中,确定一个第二主机节点,并保证该第二主机节点对应的数据处理器节点在第一预设时间内正常更新。若第一主机节点以外的主机节点中存在多个满足上述条件的主机节点,则从这多个主机节点中选择负载最小的主机节点作为第二主机节点。
S104、将第一主机节点中的容器集调度至第二主机节点。
本公开实施例中,容器集的调度装置可以在确定第二主机节点后,将第一主机节点上运行的容器集调度至第二主机节点。
在本公开实施例的一种示例性的实施方式中,容器集的调度装置可以在确定第二主机节点后,获取第二主机节点的节点名称,并基于第二主机节点的节点名称采用调度指令将第一主机节点上运行的容器集强制调度至第二主机节点。
本公开实施例通过获取第一数据处理器节点的更新时间,判断当前时间与所述更新时间的时间差是否大于第一预设时间,若所述时间差大于所述第一预设时间,则从第一主机节点以外的主机节点中确定一个第二主机节点,所述第一主机节点为所述第一数据处理器节点对应的主机节点,将所述第一主机节点中的容器集调度至所述第二主机节点,能够在通过第一数据处理器节点的更新时间判断其无法正常工作时,确定第一数据处理器节点对应的第一主机节点也无法正常工作,需要将运行在第一主机节点上的容器集调度至其他主机节点,保证这部分容器集的正常运行,从而保证集群的正常通信。
图2是本公开实施例提供的一种确定第二主机节点的方法的流程图,如图2所示,在上述实施例的基础上,可以通过如下方法确定第二主机节点。
S201、将第一主机节点由可调度节点标记为不可调度节点。
本公开实施例中,可调度节点为可以接受其他节点上的容器集或新创建的容器集的调度的节点,不可调度节点为不接受其他节点上的容器集或新创建的容器集的调度的节点。
本公开实施例中,容器集的调度装置可以在确定当前时间与更新时间的时间差大于第一预设时间后,将第一主机节点的标记由原始的可调度节点更改为不可调度节点。
在本公开实施例的一种示例性的实施方式中,容器集的调度装置可以在记录各个主机节点的状态的文件中,将第一主机节点的状态由可调度节点修改为不可调度节点。
S202、从标记为可调度节点的主机节点中确定第二主机节点。
本公开实施例中,容器集的调度装置可以在将第一主机节点由可调度节点标记为不可调度节点后,从集群内标记为可调度节点的主机节点中选择一个主机节点作为第二主机节点。
本公开实施例通过将第一主机节点由可调度节点标记为不可调度节点,从标记为可调度节点的主机节点中确定第二主机节点,能够在确定第一主机节点无法正常工作后对其进行标记,使得其他容器不再调度至第一主机节点,降低第一主机节点异常所带来的影响,同时保证第一主机节点上运行的容器集能够被调度至正常工作的可调度节点,尽快恢复集群通信。
在本公开一些实施例中,容器集的调度装置可以获取第一主机节点的标识信息。
具体地,标识信息可以是名称、编号、ID等,在此不做限定。容器集的调度装置可以在获取第一数据处理器节点的更新时间时,同时获取第一数据处理器节点对应的第一主机节点的标识信息,从而方便后续对容器集的调度。
图3是本公开实施例提供的另一种确定第二主机节点的方法的流程图,如图3所示,在上述实施例的基础上,可以通过如下方法确定第二主机节点。
S301、获取各个主机节点的资源信息。
本公开实施例中的资源信息可以理解为节点能够提供的数据处理资源的类型、数量、大小等基本属性信息。
本公开实施例中,容器集的调度装置可以获取集群内部的各个主机节点的资源信息。
在本公开实施例的一种示例性的实施方式中,容器集的调度装置可以遍历集群内部的各个主机节点,获取各个主机节点的资源信息。
在本公开实施例的另一种示例性的实施方式中,容器集的调度装置可以从集群的节点资源配置文件中获取各个主机节点的资源信息。
S302、基于资源信息以及标识信息,确定第一主机节点的第一资源信息。
本公开实施例中,容器集的调度装置可以在获得各个主机节点的资源信息,以及第一主机节点的标识信息后,从各个主机节点的资源信息中查找第一主机节点的标识信息对应的资源信息,并将该资源信息确定为第一主机节点的第一资源信息。
S303、在标记为可调度节点的主机节点中筛选资源信息与第一资源信息相匹配的主机节点。
本公开实施例中,容器集的调度装置可以从集群内部的各个主机节点中筛选标记为可调度节点的主机节点,并获取这些节点的标识信息,再根据这些节点的标识信息确定这些节点对应的资源信息,进而筛选资源信息与第一资源信息相匹配的主机节点。
在本公开实施例的一种示例性的实施方式中,容器集的调度装置可以在筛选资源信息与第一资源信息相匹配的主机节点时,确定资源信息包含第一资源信息的主机节点,例如,当第一资源信息为内存资源和磁盘I/O资源时,可以筛选能够提供内存资源和磁盘I/O资源的主机节点。
S304、基于筛选结果,确定第二主机节点。
本公开实施例中,容器集的调度装置可以从筛选后得到的标记为可调度节点且资源信息与第一资源信息相匹配的主机节点中,选择一个主机节点作为第二主机节点。
在本公开实施例的一种示例性的实施方式中,容器集的调度装置可以根据预设参数对筛选后满足条件的主机节点进行评分,选择评分最高的主机节点作为第二主机节点。示例的,预设参数可以包括空闲资源比例、节点亲和性等,在此不做限定。
本公开实施例通过获取各个主机节点的资源信息,基于资源信息以及标识信息,确定第一主机节点的第一资源信息,在标记为可调度节点的主机节点中筛选资源信息与第一资源信息相匹配的主机节点,基于筛选结果,确定第二主机节点,能够保证第一主机节点上运行的容器集在经过调度后所处的第二主机节点能够为容器集提供运行所需的资源,以使容器集在第二主机节点上正常运行,从而保证集群的正常通信。
在本公开另一些实施例中,容器集的调度装置可以将筛选结果中负载最小的主机节点确定为第二主机节点。
具体地,容器集的调度装置可以在筛选得到标记为可调度节点且资源信息与第一资源信息相匹配的多个主机节点后,按照负载从小到大的顺序对这多个主机节点进行排序,并选择负载最小的主机节点,将其确定为第二主机节点,从而使得容器集的运行速度更快,集群的通信性能良好。
在本公开又一些实施例中,容器集的调度装置可以向第一主机节点发送驱逐指令,以使第一主机节点在接收到驱逐指令后对容器集进行驱逐。
具体地,容器集的调度装置可以在确定第二主机节点后,向第一主机节点发送驱逐指令,示例的,容器集的调度装置可以基于预先获取的第一主机节点的节点名称向第一主机节点发送驱逐指令:kubectl drain nodeName,其中nodeName为第一主机节点的节点名称,第一主机节点在接收到驱逐指令后,会对运行在第一主机节点上的容器集进行驱逐,为下一步将容器集调度至第二主机节点做准备。
在本公开再一些实施例中,容器集的调度装置可以每隔第二预设时间,从配置文件中获取第一数据处理器节点最新写入的更新时间,第二预设时间小于第一预设时间。
具体地,容器集的调度装置可以每隔第二预设时间对配置文件configmap进行一次访问,配置文件中记录了集群内部以及数据处理器上的各个节点的更新时间,容器集的调度装置可以从配置文件中获取第一数据处理器节点最新写入的更新时间,并且第二预设时间小于第一预设时间,示例的,第一预设时间可以为30秒,第二预设时间为5秒,从而稳定的对第一数据处理器节点的通信状态进行监听,保障集群通信的正常进行。
图4是本公开实施例提供的一种容器集的调度装置的结构示意图。如图4所示,该容器集的调度装置400包括:第一获取模块410,判断模块420,第一确定模块430,调度模块440,其中,第一获取模块410,用于获取第一数据处理器节点的更新时间;判断模块420,用于判断当前时间与所述更新时间的时间差是否大于第一预设时间;第一确定模块430,用于若所述时间差大于所述第一预设时间,则从第一主机节点以外的主机节点中确定一个第二主机节点,所述第一主机节点为所述第一数据处理器节点对应的主机节点;调度模块440,用于将所述第一主机节点中的容器集调度至所述第二主机节点。
可选的,所述容器集的调度装置400还包括:标记模块,用于将所述第一主机节点由可调度节点标记为不可调度节点;所述第一确定模块430,具体用于从标记为可调度节点的主机节点中确定所述第二主机节点。
可选的,所述容器集的调度装置400还包括:第二获取模块,用于获取所述第一主机节点的标识信息。
可选的,所述容器集的调度装置400还包括:第三获取模块,用于获取各个主机节点的资源信息;第二确定模块,用于基于所述资源信息以及所述标识信息,确定所述第一主机节点的第一资源信息;所述第一确定模块430,包括:筛选单元,用于在标记为可调度节点的主机节点中筛选资源信息与所述第一资源信息相匹配的主机节点;确定单元,用于基于筛选结果,确定所述第二主机节点。
可选的,所述确定单元,具体用于将所述筛选结果中负载最小的主机节点确定为所述第二主机节点。
可选的,所述容器集的调度装置还包括:驱逐模块,用于向所述第一主机节点发送驱逐指令,以使所述第一主机节点在接收到所述驱逐指令后对所述容器集进行驱逐。
可选的,所述第一获取模块,具体用于每隔第二预设时间,从配置文件中获取所述第一数据处理器节点最新写入的所述更新时间,所述第二预设时间小于所述第一预设时间。
本实施例提供的容器集的调度装置能够执行上述任一实施例所述的方法,其执行方式和有益效果类似,在这里不再赘述。
图5是本公开实施例提供的一种计算机设备的结构示意图。
如图5所示,该计算机设备可以包括处理器510以及存储有计算机程序指令的存储器520。
具体地,上述处理器510可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器520可以包括用于信息或指令的大容量存储器。举例来说而非限制,存储器520可以包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个及其以上这些的组合。在合适的情况下,存储器520可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器520可在综合网关设备的内部或外部。在特定实施例中,存储器520是非易失性固态存储器。在特定实施例中,存储器520包括只读存储器(Read-Only Memory,ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable ROM,PROM)、可擦除PROM(Electrical Programmable ROM,EPROM)、电可擦除PROM(Electrically ErasableProgrammable ROM,EEPROM)、电可改写ROM(Electrically Alterable ROM,EAROM)或闪存,或者两个或及其以上这些的组合。
处理器510通过读取并执行存储器520中存储的计算机程序指令,以执行本公开实施例所提供的容器集的调度方法的步骤。
在一个示例中,该计算机设备还可包括收发器530和总线540。其中,如图5所示,处理器510、存储器520和收发器530通过总线540连接并完成相互间的通信。
总线540包括硬件、软件或两者。举例来说而非限制,总线可包括加速图形端口(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(ExtendedIndustry Standard Architecture,EISA)总线、前端总线(Front Side BUS,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(Industrial Standard Architecture,ISA)总线、无限带宽互连、低引脚数(Low Pin Count,LPC)总线、存储器总线、微信道架构(MicroChannel Architecture,MCA)总线、外围控件互连(Peripheral Component Interconnect,PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial Advanced TechnologyAttachment,SATA)总线、视频电子标准协会局部(Video Electronics StandardsAssociation Local Bus,VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线540可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
本公开实施例还提供了一种计算机可读存储介质,该存储介质可以存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现本公开实施例所提供的容器集的调度方法。
上述的存储介质可以例如包括计算机程序指令的存储器520,上述指令可由容器集的调度设备的处理器510执行以完成本公开实施例所提供的容器集的调度方法。可选的,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(Random Access Memory,RAM)、光盘只读存储器(Compact DiscROM,CD-ROM)、磁带、软盘和光数据存储设备等。上述计算机程序可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种容器集的调度方法,其特征在于,所述方法适用于一种集群控制节点,所述方法包括:
获取第一数据处理器节点的更新时间;
判断当前时间与所述更新时间的时间差是否大于第一预设时间;
若所述时间差大于所述第一预设时间,则从第一主机节点以外的主机节点中确定一个第二主机节点,所述第一主机节点为所述第一数据处理器节点对应的主机节点;
将所述第一主机节点中的容器集调度至所述第二主机节点。
2.根据权利要求1所述的方法,其特征在于,所述从第一主机节点以外的主机节点中确定一个第二主机节点之前,所述方法还包括:
将所述第一主机节点由可调度节点标记为不可调度节点;
所述从第一主机节点以外的主机节点中确定一个第二主机节点,包括:
从标记为可调度节点的主机节点中确定所述第二主机节点。
3.根据权利要求2所述的方法,其特征在于,所述判断当前时间与所述更新时间的时间差是否大于第一预设时间之前,所述方法还包括:
获取所述第一主机节点的标识信息。
4.根据权利要求3所述的方法,其特征在于,所述从标记为可调度节点的主机节点中确定所述第二主机节点之前,所述方法还包括:
获取各个主机节点的资源信息;
基于所述资源信息以及所述标识信息,确定所述第一主机节点的第一资源信息;
所述从标记为可调度节点的主机节点中确定所述第二主机节点,包括:
在标记为可调度节点的主机节点中筛选资源信息与所述第一资源信息相匹配的主机节点;
基于筛选结果,确定所述第二主机节点。
5.根据权利要求4所述的方法,其特征在于,所述基于筛选结果,确定所述第二主机节点,包括:
将所述筛选结果中负载最小的主机节点确定为所述第二主机节点。
6.根据权利要求1所述的方法,其特征在于,所述将所述第一主机节点中的容器集调度至所述第二主机节点之前,所述方法包括:
向所述第一主机节点发送驱逐指令,以使所述第一主机节点在接收到所述驱逐指令后对所述容器集进行驱逐。
7.根据权利要求1所述的方法,其特征在于,所述获取第一数据处理器节点的更新时间,包括:
每隔第二预设时间,从配置文件中获取所述第一数据处理器节点最新写入的所述更新时间,所述第二预设时间小于所述第一预设时间。
8.一种容器集的调度装置,其特征在于,所述装置适用于一种集群控制节点,所述装置包括:
第一获取模块,用于获取第一数据处理器节点的更新时间;
判断模块,用于判断当前时间与所述更新时间的时间差是否大于第一预设时间;
第一确定模块,用于若所述时间差大于所述第一预设时间,则从第一主机节点以外的主机节点中确定一个第二主机节点,所述第一主机节点为所述第一数据处理器节点对应的主机节点;
调度模块,用于将所述第一主机节点中的容器集调度至所述第二主机节点。
9.一种计算机设备,其特征在于,包括:存储器;处理器;以及计算机程序;其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,当所述计算机程序被处理器执行时,实现如权利要求1-7中任一项所述的容器集的调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311431183.8A CN117331650A (zh) | 2023-10-31 | 2023-10-31 | 容器集的调度方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311431183.8A CN117331650A (zh) | 2023-10-31 | 2023-10-31 | 容器集的调度方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117331650A true CN117331650A (zh) | 2024-01-02 |
Family
ID=89290332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311431183.8A Pending CN117331650A (zh) | 2023-10-31 | 2023-10-31 | 容器集的调度方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117331650A (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018049873A1 (zh) * | 2016-09-13 | 2018-03-22 | 华为技术有限公司 | 一种应用调度方法及装置 |
CN110647580A (zh) * | 2019-09-05 | 2020-01-03 | 南京邮电大学 | 分布式容器集群镜像管理主节点、从节点、系统及方法 |
CN111176789A (zh) * | 2019-12-30 | 2020-05-19 | 重庆紫光华山智安科技有限公司 | 一种容器集异常处理方法、装置、存储介质及服务器 |
CN112015536A (zh) * | 2020-08-28 | 2020-12-01 | 北京浪潮数据技术有限公司 | Kubernetes集群容器组调度方法、装置及介质 |
CN112084072A (zh) * | 2020-09-11 | 2020-12-15 | 重庆紫光华山智安科技有限公司 | 一种提高PostgreSQL集群容灾能力的方法、系统、介质及终端 |
CN112540829A (zh) * | 2020-12-16 | 2021-03-23 | 恒生电子股份有限公司 | 容器组驱逐方法、装置、节点设备及存储介质 |
US20210141900A1 (en) * | 2019-11-13 | 2021-05-13 | Vmware, Inc. | Methods and systems for troubleshooting applications using streaming anomaly detection |
CN114443302A (zh) * | 2022-01-27 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 容器集群扩容方法、系统、终端及存储介质 |
CN114564281A (zh) * | 2022-02-28 | 2022-05-31 | 百果园技术(新加坡)有限公司 | 容器调度方法、装置、设备及存储介质 |
CN114610497A (zh) * | 2022-03-21 | 2022-06-10 | 中国电信股份有限公司 | 容器调度方法、集群系统、装置、电子设备及存储介质 |
CN115328735A (zh) * | 2022-08-23 | 2022-11-11 | 杭州谐云科技有限公司 | 一种基于容器化应用管理系统的故障隔离方法和系统 |
CN115712521A (zh) * | 2022-11-28 | 2023-02-24 | 上海浦东发展银行股份有限公司 | 一种集群节点故障处理方法、系统及介质 |
CN116360922A (zh) * | 2023-03-15 | 2023-06-30 | 广州文远知行科技有限公司 | 集群资源调度方法、装置、计算机设备和存储介质 |
CN116633766A (zh) * | 2023-06-09 | 2023-08-22 | 中国联合网络通信集团有限公司 | 故障处理方法、装置、电子设备及存储介质 |
-
2023
- 2023-10-31 CN CN202311431183.8A patent/CN117331650A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018049873A1 (zh) * | 2016-09-13 | 2018-03-22 | 华为技术有限公司 | 一种应用调度方法及装置 |
CN110647580A (zh) * | 2019-09-05 | 2020-01-03 | 南京邮电大学 | 分布式容器集群镜像管理主节点、从节点、系统及方法 |
US20210141900A1 (en) * | 2019-11-13 | 2021-05-13 | Vmware, Inc. | Methods and systems for troubleshooting applications using streaming anomaly detection |
CN111176789A (zh) * | 2019-12-30 | 2020-05-19 | 重庆紫光华山智安科技有限公司 | 一种容器集异常处理方法、装置、存储介质及服务器 |
CN112015536A (zh) * | 2020-08-28 | 2020-12-01 | 北京浪潮数据技术有限公司 | Kubernetes集群容器组调度方法、装置及介质 |
CN112084072A (zh) * | 2020-09-11 | 2020-12-15 | 重庆紫光华山智安科技有限公司 | 一种提高PostgreSQL集群容灾能力的方法、系统、介质及终端 |
CN112540829A (zh) * | 2020-12-16 | 2021-03-23 | 恒生电子股份有限公司 | 容器组驱逐方法、装置、节点设备及存储介质 |
CN114443302A (zh) * | 2022-01-27 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 容器集群扩容方法、系统、终端及存储介质 |
CN114564281A (zh) * | 2022-02-28 | 2022-05-31 | 百果园技术(新加坡)有限公司 | 容器调度方法、装置、设备及存储介质 |
CN114610497A (zh) * | 2022-03-21 | 2022-06-10 | 中国电信股份有限公司 | 容器调度方法、集群系统、装置、电子设备及存储介质 |
CN115328735A (zh) * | 2022-08-23 | 2022-11-11 | 杭州谐云科技有限公司 | 一种基于容器化应用管理系统的故障隔离方法和系统 |
CN115712521A (zh) * | 2022-11-28 | 2023-02-24 | 上海浦东发展银行股份有限公司 | 一种集群节点故障处理方法、系统及介质 |
CN116360922A (zh) * | 2023-03-15 | 2023-06-30 | 广州文远知行科技有限公司 | 集群资源调度方法、装置、计算机设备和存储介质 |
CN116633766A (zh) * | 2023-06-09 | 2023-08-22 | 中国联合网络通信集团有限公司 | 故障处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11616840B2 (en) | Method, apparatus and system for processing unmanned vehicle data, and storage medium | |
CN103347009B (zh) | 一种信息过滤方法及装置 | |
CN111091813B (zh) | 语音唤醒模型更新及唤醒方法、系统、装置、设备及介质 | |
CN110727608A (zh) | 一种日志数据的存储方法、电子设备及存储介质 | |
CN112650478B (zh) | 一种嵌入式软件开发平台动态构建方法、系统及设备 | |
CN109215169B (zh) | 行车数据的存储方法、装置和设备 | |
CN110795400B (zh) | 一种文件的管理方法、装置、设备及介质 | |
CN109558145B (zh) | 一种面向安卓应用的安装包体积优化方法及装置 | |
CN113869778A (zh) | 一种基于城市管理的无人机河道巡检方法及系统 | |
CN110855529A (zh) | 网络信息安全监护方法、装置、服务器及可读存储介质 | |
CN117331650A (zh) | 容器集的调度方法、装置、设备及存储介质 | |
CN115061386B (zh) | 智能驾驶的自动化仿真测试系统及相关设备 | |
CN111145380A (zh) | 适配车载设备的上报数据处理方法、装置、电子设备 | |
CN107193721B (zh) | 一种生成日志的方法和装置 | |
CN116303456A (zh) | 工业数据处理方法、系统、装置及计算机可读存储介质 | |
CN106649064B (zh) | 一种应用操作监测方法及装置 | |
CN114297048A (zh) | 一种自动驾驶仿真测试方法、系统、电子设备及存储介质 | |
CN110032624B (zh) | 一种样本筛选方法及装置 | |
CN111061744B (zh) | 图数据的更新方法、装置、计算机设备及存储介质 | |
CN110674839B (zh) | 异常用户识别方法、装置、存储介质及电子设备 | |
CN111950644A (zh) | 模型的训练样本选择方法、装置及计算机设备 | |
CN111343105A (zh) | 基于深度学习的断流识别方法及装置 | |
CN105630877A (zh) | 文件清理方法及系统 | |
CN110675648B (zh) | 停车场数据源采集及数据去重采集的方法及系统、服务器 | |
CN115081233B (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 |