CN109542605A - 一种基于Kubernetes系统架构的容器组生命周期管理方法 - Google Patents

一种基于Kubernetes系统架构的容器组生命周期管理方法 Download PDF

Info

Publication number
CN109542605A
CN109542605A CN201811424020.6A CN201811424020A CN109542605A CN 109542605 A CN109542605 A CN 109542605A CN 201811424020 A CN201811424020 A CN 201811424020A CN 109542605 A CN109542605 A CN 109542605A
Authority
CN
China
Prior art keywords
task
pod
current
interim
timed
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
Application number
CN201811424020.6A
Other languages
English (en)
Inventor
钟金
尹刚
何振远
肖立成
杨树明
韩梅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changsha Zhi Qing Information Technology Co Ltd
Original Assignee
Changsha Zhi Qing Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Changsha Zhi Qing Information Technology Co Ltd filed Critical Changsha Zhi Qing Information Technology Co Ltd
Priority to CN201811424020.6A priority Critical patent/CN109542605A/zh
Publication of CN109542605A publication Critical patent/CN109542605A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

本发明公开了一种一种基于Kubernetes系统架构的容器组生命周期管理方法,包括以下步骤:1、用户提交任务至Kubernetes系统申请处理;2、Kubernetes系统判断是否存在与当前任务对应的Pod,若不存在与当前任务对应的Pod,则新建Pod,同时为该Pod设置一个定时销毁任务;3、Pod的定时销毁任务执行前,检查任务暂存池中是否存在与当前Pod对应的任务,若存在与当前Pod对应的任务,则将所述任务暂存池中与当前Pod对应的任务导入到该Pod,并将该Pod的原有定时销毁任务取消,重新为该临时Pod设置一个定时销毁任务;通过在Pod执行完任务后进行销毁倒计时的模式,以规避任务频繁提交场景下Pod不断被销毁重建的问题,有效提高了Pod的实际利用率,降低系统资源失控的风险。

Description

一种基于Kubernetes系统架构的容器组生命周期管理方法
技术领域
本发明属于Kubernetes系统架构应用技术领域,具体涉及一种基于Kubernetes系统架构的容器组生命周期管理方法。
背景技术
Kubernetes是一个全新的基于容器技术的分布式架构领先方案,利用Kubernetes管理容器组并在容器组中执行特定的需要隔离环境的任务是一种流行的应用方法。容器组以Pod对象的形式对外提供统一服务,Pod是托管应用或服务的基础单位。
在实际应用过程中,开发者需要关注Pod的生命周期,这意味着开发者必须明确Pod中所托管的应用或服务需要何时创建何时销毁。合理的Pod生命周期管理策略将帮助有效地利用有限的生产服务器资源,并将有效提高Pod的实际利用率。
目前,一种常见的Kubernetes应用场景是通过Pod提供一个轻量级服务,而该服务往往要求长时间稳定运行。在这样的使用场景下,Pod对于创建或销毁的时机并无严格要求,其设计目标仅关注所提供服务的稳定性即可,无需特别探讨该场景下的Pod生命周期管理。
但是实际上,在某些其他Kubernetes系统使用场景下,Pod的生命周期管理策略是十分敏感且重要的。如存在应用场景为:设计一个Kubernetes系统,用于处理要求相互隔离的临时性任务,这些临时性任务不需要长期维持一个服务,只是需要临时执行的任务,不会长期处于任务执行的状态。并且这些临时性任务以某种分类方式划分成不同的任务群(如,每个用户发起的所有任务属于一个任务群,而不同用户发起的任务则分属不同的任务群),而不同的任务群要求运行在相互隔离且独立的Pod中,每个任务本身从创建到结束的时间周期较短,且一个任务群中的各次任务的执行间隔不确定,这也是一种十分常见的Kubernetes系统应用场景,比如为不同用户提供个性化定制的服务环境等。在这样的使用场景下,Pod若仍采取任务不敏感的生命周期管理策略,则将长时间处于空闲状态,浪费系统资源,并导致一些资源相关的系统问题。
最为常见的解决方案是同步一次临时任务与执行该任务的Pod的生命周期,任务开始时Pod创建;任务结束时Pod销毁。但这样将导致Pod频繁创建及销毁,并存在无法及时响应一次新任务的问题,特别是当一个任务群中的各任务以很小的时间间隔到达,这种处理方式将导致任务执行的效率较为低下。
发明内容
本发明要解决的技术问题是针对Kubernetes系统在处理要求相互隔离的临时性任务时,这些临时性任务不需要长期维持一个服务,采用现有的任务不敏感的生命周期管理策略容易造成容器组Pod长时间处于空闲状态,浪费系统资源的问题,提供了一种基于Kubernetes系统架构的容器组生命周期管理方法。
为解决该问题,本发明采用的技术方案是:
一种基于Kubernetes系统架构的容器组生命周期管理方法,所述Kubernetes系统包括多个服务器节点和一个用于跨节点系统管理的Master服务器节点,所述服务器节点上包括有根据任务请求创建对应环境的Pod来执行任务,所述Master服务器节点上设有一个基于Redis有序集合的任务暂存池,所述任务暂存池中包含多个任务暂存队列,所述任务暂存队列用于对任务进行存储,其特征在于:包括以下步骤:
步骤1:用户提交任务至Kubernetes系统申请处理;
步骤2:Kubernetes系统判断是否存在与当前任务对应的临时Pod,若不存在与当前任务对应的临时Pod,判断Kubernetes系统当前资源是否充足,当Kubernetes系统资源充足时,则为当前任务新建临时Pod,同时为该临时Pod设置一个定时销毁任务;当判定当前Kubernetes系统资源为紧张时,则将当前任务暂存到任务暂存队列中,等待执行时机;若Kubernetes系统存在与当前任务对应的临时Pod,将当前任务导入到该临时Pod,并将该临时Pod的原有定时销毁任务取消,重新设置新的定时销毁任务;
步骤3:临时Pod的定时销毁任务执行前,检查任务暂存池中是否存在与当前临时Pod对应的任务,若存在与当前Pod对应的任务,则将所述任务暂存池中与当前Pod对应的任务导入到该临时Pod,并将该临时Pod的原有定时销毁任务取消,重新为该临时Pod设置一个定时销毁任务;若不存在与当前Pod对应的任务,则在临时Pod的定时销毁任务定时时长达到后,执行Pod的定时销毁任务,销毁临时Pod;
进一步地,所述定时销毁的定时长依据Kubernetes系统动态设定。
进一步地,定时销毁任务由独立的定时线程控制和执行。
进一步地,所述时机是指当前任务为任务暂存池中最高优先级任务时,即任务所处暂存队列优先级最高且处于队列队首,且判断当前Kubernetes系统资源为充足时。
进一步地,所述Kubernetes系统系统为其分配或创建任务所对应的临时Pod时,任务和临时Pod的对应关系由用户ID和任务ID共同定义,一个用户所发起的某具体任务只在某个特定Pod中被执行。
进一步地,当Kubernetes系统资源判定为紧张时,将当前任务暂存到任务暂存队列中,具体为:进入任务暂存池中的任务优先级依据任务资源请求量确定,分为N个优先级别,基于Redis有序集合的任务暂存池中具有编号从1到N的N个任务暂存队列,将不同优先级的任务存储到与任务优先级编号相一致的任务暂存队列中,同时赋予存储在任务暂存队列中的当前任务入队顺序号。
进一步地,所述将当前任务暂存到任务暂存队列中是指将当前任务的关键参数所拼接的字符串存入任务暂存队列中。
进一步地,所述基于Redis有序集合的任务暂存池中具有体现任务优先级、进入暂存队列的顺序号和由任务的关键参数所拼接的字符串三个属性具体为“键”、“值”以及“分数”三个属性,其中“键”为该任务所属优先级任务组编号,“值”为该任务的具体任务生成参数所组合成的字符串,用该参数字符串能够生成最终被执行的任务对象,与“值”对应的“分数”标识该任务在该任务暂存队列中的具体入队顺序号。
进一步地,所述当前任务的资源阈值是指系统在执行当前任务时所需要的内存需求量和CPU需求量,所述内存需求量和CPU需求量是指满足当前任务正常执行时的内存阈值和CPU阈值。
与现有技术相比,本发明取得的有益效果为:
本发明一种基于Kubernetes系统架构的容器组生命周期管理方法,针对Kubernetes系统使用场景中有隔离要求的大量临时性任务,通过创建临时Pod来运行特定应用,则可以较为方便地执行有隔离需求的临时任务,在创建临时Pod时,为该临时Pod设置一个定时销毁任务,当临时Pod的定时销毁任务执行前,检查任务暂存队列是否存在与该临时Pod对应的任务,若存在与该临时Pod对应的任务,则将所述任务暂存队列中与当前Pod对应的任务导入到该临时Pod,并将该临时Pod的原有定时销毁任务取消,重新为该临时Pod设置一个定时销毁任务,通过在临时Pod执行完任务后进行销毁倒计时的模式,以规避任务频繁提交场景下Pod不断被销毁重建的问题,有效提高了Pod的实际利用率,降低系统资源失控的风险,兼顾了在普通使用场景和极大并发使用场景下的性能和稳定性要求,具有良好的实用性。
附图说明
图1为本发明的流程图;
图2为本发明针对任务T1的流程图;
图3为本发明针对任务T2的流程图;
图4为本发明针对任务T3的流程图;
图5为本发明针对任务T4的流程图。
具体实施方式
下面将结合图1至图5,对本发明的技术方案进行清楚、完整地描述。本发明一种基于Kubernetes系统架构的容器组生命周期管理方法,如图1所示,所述Kubernetes系统包括多个服务器节点和一个用于跨节点系统管理的Master服务器节点,所述服务器节点上包括有根据任务请求创建对应环境的Pod来执行任务,Pod是用于任务执行的基本单位,通过yaml文件对组成Pod的Docker容器、最低资源分配以及资源阈值分配进行设置和定义,对于任务请求,创建对应环境的Pod来执行任务,所述Master服务器节点上设有一个基于Redis有序集合的任务暂存池,所述任务暂存池中包含多个任务暂存队列,所述任务暂存队列用于对任务进行存储。
步骤1:用户提交任务至Kubernetes系统申请处理,
步骤2:Kubernetes系统判断是否存在与当前任务对应的临时Pod,若不存在与当前任务对应的临时Pod,判断Kubernetes系统当前资源是否充足,当Kubernetes系统资源充足时,则为当前任务新建临时Pod,同时为该临时Pod设置一个定时销毁任务,定时时长可按实际自由调控,同时考虑提升任务重复命中率以及缩短Pod空闲期时长。定时销毁任务由独立的定时线程控制和执行;当判定当前Kubernetes系统资源为紧张时,则将当前任务暂存到任务暂存队列中,等待执行时机;执行时机是指:指当前任务为任务暂存池中最高优先级任务时,即任务所处暂存队列优先级最高且处于队列队首,且判断当前Kubernetes系统资源为充足时;若Kubernetes系统存在与当前任务对应的临时Pod,将当前任务导入到该临时Pod,并将该临时Pod的原有定时销毁任务取消,重新设置新的定时销毁任务;
步骤3:临时Pod的定时销毁任务执行前,检查任务暂存池中是否存在与当前临时Pod对应的任务,若存在与当前Pod对应的任务,则将所述任务暂存池中与当前Pod对应的任务导入到该临时Pod,并将该临时Pod的原有定时销毁任务取消,重新为该临时Pod设置一个定时销毁任务;若不存在与当前Pod对应的任务,则在临时Pod的定时销毁任务定时时长达到后,执行Pod的定时销毁任务,销毁临时Pod。
本发明通过在新建临时Pod,同时为该临时Pod设置一个定时销毁任务,并且在临时Pod的定时销毁任务执行前,检查任务暂存池中是否存在与当前临时Pod对应的任务,若存在与当前Pod对应的任务,则将所述任务暂存池中与当前Pod对应的任务导入到该临时Pod,并将该临时Pod的原有定时销毁任务取消,重新为该临时Pod设置一个定时销毁任务;以规避任务频繁提交场景下Pod不断被销毁重建的问题,有效提高了Pod的实际利用率,降低系统资源失控的风险,兼顾了在普通使用场景和极大并发使用场景下的性能和稳定性要求,具有良好的实用性。
上述步骤有以下几种可能的表现形式,
如图2所示,Kubernetes系统接收到任务T1,查询到Kubernetes系统中不存在与任务T1相对应的Pod;判断当前Kubernetes系统资源是否充足,计算出Kubernetes系统内存使用剩余量M1和CPU占用剩余量C1,设定任务T1的内存阈值为m1和CPU阈值为c1,比较结果为:M1≤m1,C1≤c1;则当前Kubernetes系统资源判定为紧张,记录任务T1的内存阈值m1和CPU阈值c1,将任务T1的关键参数所拼接的字符串存入基于Redis的任务暂存队列中;当任务T1处于任务暂存池中优先级最高的暂存队列,且位于暂存队列队首时,且Kubernetes系统资源允许,则取出任务T1导入新建的Pod执行。
如图3所示,Kubernetes系统接收到任务T2,查询到Kubernetes系统中不存在与任务T2相对应的Pod;判断当前Kubernetes系统资源是否充足,计算出Kubernetes系统内存使用剩余量M2和CPU占用剩余量C2;设定任务T2的内存阈值为m2和CPU阈值为c2;比较结果为:M2>m2,C2>c2;则当前Kubernetes系统资源判定为充足,创建任务T2所对应的Pod,将任务T2导入到该Pod中执行,并为该Pod设置定时销毁任务;该Pod执行完提交给它的任务T2后,在销毁倒计时t内没有新任务导入,则销毁该Pod。
如图4所示,Kubernetes系统接收到任务T3,查询到Kubernetes系统中不存在与任务T3相对应的Pod;判断当前Kubernetes系统资源的情况,计算出Kubernetes系统内存使用剩余量M3和CPU占用剩余量C3;设定任务T3的内存阈值为m3和CPU阈值为c3;比较结果为:M3>m3,C3>c3;当前Kubernetes系统资源判定为充足,创建任务T3所对应的Pod,将任务T3导入到该Pod中执行,并为该Pod设置定时销毁任务;当该Pod执行完提交给它的任务T3后,该Pod在销毁倒计时t内,有相应的新任务导入,则直接导入该对应的新任务并执行,将之前的定时销毁任务取消,并重新生成定时销毁任务。
如图5所示,Kubernetes系统接收到任务T4,查询到Kubernetes系统中已经存在与任务T4相对应的Pod,且该Pod处于闲置状态,限制状态是指当任务执行完毕,Pod还没销毁时,此时Pod处于一种“正在运行,但并未执行实际任务”的状态;将任务T4导入到其对应的Pod中执行,并为该Pod重置定时销毁任务;该Pod执行完提交给它的任务T4后,在销毁倒计时t内没有新任务导入,则销毁该Pod。
本实施例中,Kubernetes系统内存使用剩余量M1和CPU占用剩余量C1的计算方法使用的是公式:
M=∑[Mi·(1-PM)];C=∑[Ci·(1-PC)]来获取,
M代表Kubernetes系统中内存使用剩余量,
C代表Kubernetes系统中CPU占用剩余量,
Mi代表Kubernetes系统中节点i的内存总量,
Ci代表Kubernetes系统中节点i的CPU总量,
PM是查询指令所返回节点i的内存使用量,
PC是查询指令所返回节点i的CPU使用量。
本实施例中,为临时Pod所设置的定时销毁任务,定时时长根据系统当前状态进行动态确定,即将该定时销毁任务的倒计时设置为t,销毁倒计时t依据Kubernetes系统实际来设定,当系统资源压力较大时,t设置可偏短;当系统资源压力较小时,t可适度设长。
Pod执行完当前任务后,Pod在定时销毁任务的倒计时t内无新任务执行也无对应任务导入,则Pod通过『kubectl delete pod podName』命令被销毁,若任务暂存池中有任务等待执行,则为处于任务暂存池执行序列队首的任务新建临时Pod,并为该临时Pod生成一个定时销毁任务。
所述Kubernetes系统为其分配或创建任务所对应的临时Pod时,任务和临时Pod的对应关系由用户ID和任务ID共同定义,以此达到为每个用户提供运行某任务的特定的有隔离属性的虚拟容器环境,一个用户所发起的特定任务只在某个特定Pod中被执行,不会影响其他用户的任何任务请求,每次在Pod创建时或获取到新提交的任务时,会有一个Pod定时销毁任务的定时时长t。
根据当前任务的实际情况设定当前任务的资源阈值,将当前任务被判定为可执行的内存阈值设为m,将当前任务被判定为可执行的CPU阈值设为c,m和c分别表示当前任务被判定为可直接执行的内存需求量和CPU需求量,当前任务的资源阈值设定以满足该当前任务正常有效执行为基础,某个任务的资源阈值设定应与实际的任务类型相匹配:对于简单任务,如编译执行一段基础代码并获取代码执行结果,则可将其资源阈值按实际情况设低;对于复杂应用,如在Pod中运行一个网站服务,则应将资源阈值按实际情况设高。
本实施例中,所述Master服务器节点上设有一个基于Redis有序集合的任务暂存池,任务暂存池中具有编号从1到N的N个任务暂存队列;当Kubernetes系统资源判定为紧张时,记录该任务的内存阈值和CPU阈值,将当前任务暂存到任务暂存队列中,也就是指将当前任务的关键参数所拼接的字符串存入任务暂存队列中。具体为:进入任务暂存池中的任务优先级依据任务资源请求量确定,并由实际任务集资源请求上下限进行灵活划分,任务优先级被分为N个优先级别,从而在任务暂存池中得到编号从1到N的N个任务暂存队列。本实施例中,将不同优先级的任务存储到与任务优先级编号相一致的任务暂存队列中,队列编号越小,则队列中暂存任务的全局优先级更高,体现小任务优先原则。同时赋予存储在任务暂存队列中的当前任务入队顺序号。在同一队列中,顺序号越小,即分数值越小,表示优先级越高,体现先来先服务原则。在本实施例中,当Kubernetes系统资源判定为紧张时,记录该任务的内存阈值和CPU阈值,将该任务属性和关键生成参数所拼接成的描述字符串存入基于Redis的有序队列中,将该任务所属优先级任务组编号存入为“键”,该任务的关键参数所拼接的字符串存入为“值”,该任务在所属任务暂存队列中的入队顺序号存入为“分数”。比如暂存任务队列有多个,如按优先级划分为1,2,3三个暂存队列,其中队列1存储资源消耗小的小型任务(“资源消耗小中大”的定义可以按照实际去定义阈值);队列2中存储大多数中型的普通任务;队列3存储资源消耗大的大型任务,队列1的优先级高于队列2,拥有先执行的权限,这样保证小任务优先。每次进行任务暂存的时候,依照任务属性,将其放到某个队列中去。
其次,在每个队列中,如在队列1中,任务是按照先来先执行的顺序处理的,这种优先级使用“分数”来指定,所以“键”和“分数”共同确定了一个暂存任务的执行顺序,即优先级。
在大量任务并发时,本发明通过基于Redis有序集合的任务暂存队列,既可以实现基本的任务先进先出功能以保证任务执行公平,又能足够方便地查询到某一个具体任务在任务队列中的实时位置,还能通过不同优先级任务分队列的方式满足小任务优先执行的需求,控制系统资源占用以保障系统服务稳定性,并保障生命周期内任务安全的容器组生命周期管理方法,以尽可能提高各Pod的利用率,同时兼顾处于任务执行活跃期的Pod的任务执行效率。

Claims (9)

1.一种基于Kubernetes系统架构的容器组生命周期管理方法,所述Kubernetes系统包括多个服务器节点和一个用于跨节点系统管理的Master服务器节点,所述服务器节点上包括有根据任务请求创建对应环境的Pod来执行任务,Pod为用于任务执行的基本单位,所述Master服务器节点上设有一个基于Redis有序集合的任务暂存池,所述任务暂存池中包含多个任务暂存队列,所述任务暂存队列用于对任务进行存储,其特征在于:包括以下步骤:
步骤1:用户提交任务至Kubernetes系统申请处理;
步骤2:Kubernetes系统判断是否存在与当前任务对应的临时Pod,若不存在与当前任务对应的临时Pod,判断Kubernetes系统当前资源是否充足,当Kubernetes系统资源充足时,则为当前任务新建临时Pod,同时为该临时Pod设置一个定时销毁任务;当判定当前Kubernetes系统资源为紧张时,则将当前任务暂存到任务暂存队列中,等待执行时机;若Kubernetes系统存在与当前任务对应的临时Pod,将当前任务导入到该临时Pod,并将该临时Pod的原有定时销毁任务取消,重新设置新的定时销毁任务;
步骤3:临时Pod的定时销毁任务执行前,检查任务暂存池中是否存在与当前临时Pod对应的任务,若存在与当前Pod对应的任务,则将所述任务暂存池中与当前Pod对应的任务导入到该临时Pod,并将该临时Pod的原有定时销毁任务取消,重新为该临时Pod设置一个定时销毁任务;若不存在与当前Pod对应的任务,则在临时Pod的定时销毁任务定时时长达到后,执行Pod的定时销毁任务,销毁临时Pod。
2.根据权利要求1所述的一种基于Kubernetes系统架构的容器组生命周期管理方法,其特征在于:所述定时销毁任务的定时长依据Kubernetes系统动态设定。
3.根据权利要求2所述的一种基于Kubernetes系统架构的容器组生命周期管理方法,其特征在于:定时销毁任务由独立的定时线程控制和执行。
4.根据权利要求3所述的一种基于Kubernetes系统架构的容器组生命周期管理方法,其特征在于:所述等待执行时机的时机是指当前任务为任务暂存池中暂存队列优先级最高且处于队首,且判断当前Kubernetes系统资源为充足时。
5.根据权利要求1所述的一种基于Kubernetes系统架构的容器组生命周期管理方法,其特征在于:所述Kubernetes系统为其分配或创建任务所对应的临时Pod,任务和临时Pod的对应关系由用户ID和任务本身共同定义。
6.根据权利要求1所述的一种基于Kubernetes系统架构的容器组生命周期管理方法,其特征在于:当Kubernetes系统资源判定为紧张时,将当前任务暂存到任务暂存队列中,具体为:进入任务暂存池中的任务优先级依据任务资源请求量确定,分为N个优先级别,基于Redis有序集合的任务暂存池中具有编号从1到N的N个任务暂存队列,将不同优先级的任务存储到与任务优先级编号相一致的任务暂存队列中,同时赋予存储在任务暂存队列中的当前任务入队顺序号。
7.根据权利要求6所述的一种基于Kubernetes系统架构的容器组生命周期管理方法,其特征在于:所述将当前任务暂存到任务暂存队列中是指将当前任务的关键参数所拼接的字符串存入任务暂存队列中。
8.根据权利要求7所述的一种基于Kubernetes系统架构的容器组生命周期管理方法,其特征在于:所述基于Redis有序集合的任务暂存池中具有体现任务优先级、进入暂存队列的顺序号和由任务的关键参数所拼接的字符串三个属性,具体为“键”、“值”以及“分数”三个属性,其中“键”为该任务所属优先级任务组编号,“值”为该任务的具体任务生成参数所组合成的字符串,与“值”对应的“分数”标识该任务在该任务暂存队列中的具体入队顺序号。
9.根据权利要求1至8任一项所述的一种基于Kubernetes系统架构的容器组生命周期管理方法,其特征在于:当前任务的资源阈值是指系统在执行当前任务时所需要的内存需求量和CPU需求量,所述内存需求量和CPU需求量是指满足当前任务正常执行时的内存阈值和CPU阈值。
CN201811424020.6A 2018-11-27 2018-11-27 一种基于Kubernetes系统架构的容器组生命周期管理方法 Pending CN109542605A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811424020.6A CN109542605A (zh) 2018-11-27 2018-11-27 一种基于Kubernetes系统架构的容器组生命周期管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811424020.6A CN109542605A (zh) 2018-11-27 2018-11-27 一种基于Kubernetes系统架构的容器组生命周期管理方法

Publications (1)

Publication Number Publication Date
CN109542605A true CN109542605A (zh) 2019-03-29

Family

ID=65850506

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811424020.6A Pending CN109542605A (zh) 2018-11-27 2018-11-27 一种基于Kubernetes系统架构的容器组生命周期管理方法

Country Status (1)

Country Link
CN (1) CN109542605A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489239A (zh) * 2019-08-22 2019-11-22 中国工商银行股份有限公司 一种容器管理方法、装置及设备
CN110516934A (zh) * 2019-08-13 2019-11-29 湖南智擎科技有限公司 基于可伸缩集群的智能化大数据实训方法及系统
CN111694666A (zh) * 2020-06-10 2020-09-22 中国建设银行股份有限公司 一种任务分发管理方法、装置、设备及介质
CN113422700A (zh) * 2021-06-22 2021-09-21 汇付天下有限公司 无感升级方法及无感升级装置
CN115080201A (zh) * 2022-05-07 2022-09-20 北京控制工程研究所 一种面向应急任务的高可靠卫星自主任务规划方法及系统
CN115361283A (zh) * 2022-10-20 2022-11-18 深圳依时货拉拉科技有限公司 基于k8s的云主机管理方法、装置、计算机设备
US11900173B2 (en) 2021-05-18 2024-02-13 Kyndryl, Inc. Container runtime optimization
WO2024078465A1 (zh) * 2022-10-13 2024-04-18 杭州阿里云飞天信息技术有限公司 一种定时任务的处理方法、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159768A (zh) * 2015-09-09 2015-12-16 浪潮集团有限公司 一种任务管理方法及云数据中心管理平台
CN106027643A (zh) * 2016-05-18 2016-10-12 无锡华云数据技术服务有限公司 一种基于Kubernetes容器集群管理系统的资源调度方法
US20180048545A1 (en) * 2016-08-11 2018-02-15 Hewlett Packard Enterprise Development Lp Container monitoring configuration deployment
CN107832146A (zh) * 2017-10-27 2018-03-23 北京计算机技术及应用研究所 高可用集群系统中的线程池任务处理方法
CN108228327A (zh) * 2017-12-29 2018-06-29 北京奇虎科技有限公司 一种任务的处理方法和装置
CN108304250A (zh) * 2018-03-05 2018-07-20 北京百度网讯科技有限公司 用于确定运行机器学习任务的节点的方法和装置
US10133619B1 (en) * 2015-06-08 2018-11-20 Nutanix, Inc. Cluster-wide virtual machine health monitoring

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10133619B1 (en) * 2015-06-08 2018-11-20 Nutanix, Inc. Cluster-wide virtual machine health monitoring
CN105159768A (zh) * 2015-09-09 2015-12-16 浪潮集团有限公司 一种任务管理方法及云数据中心管理平台
CN106027643A (zh) * 2016-05-18 2016-10-12 无锡华云数据技术服务有限公司 一种基于Kubernetes容器集群管理系统的资源调度方法
US20180048545A1 (en) * 2016-08-11 2018-02-15 Hewlett Packard Enterprise Development Lp Container monitoring configuration deployment
CN107832146A (zh) * 2017-10-27 2018-03-23 北京计算机技术及应用研究所 高可用集群系统中的线程池任务处理方法
CN108228327A (zh) * 2017-12-29 2018-06-29 北京奇虎科技有限公司 一种任务的处理方法和装置
CN108304250A (zh) * 2018-03-05 2018-07-20 北京百度网讯科技有限公司 用于确定运行机器学习任务的节点的方法和装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110516934A (zh) * 2019-08-13 2019-11-29 湖南智擎科技有限公司 基于可伸缩集群的智能化大数据实训方法及系统
CN110489239A (zh) * 2019-08-22 2019-11-22 中国工商银行股份有限公司 一种容器管理方法、装置及设备
CN111694666A (zh) * 2020-06-10 2020-09-22 中国建设银行股份有限公司 一种任务分发管理方法、装置、设备及介质
CN111694666B (zh) * 2020-06-10 2023-11-07 中国建设银行股份有限公司 一种任务分发管理方法、装置、设备及介质
US11900173B2 (en) 2021-05-18 2024-02-13 Kyndryl, Inc. Container runtime optimization
CN113422700A (zh) * 2021-06-22 2021-09-21 汇付天下有限公司 无感升级方法及无感升级装置
CN113422700B (zh) * 2021-06-22 2022-04-26 汇付天下有限公司 无感升级方法及无感升级装置
CN115080201A (zh) * 2022-05-07 2022-09-20 北京控制工程研究所 一种面向应急任务的高可靠卫星自主任务规划方法及系统
CN115080201B (zh) * 2022-05-07 2024-05-14 北京控制工程研究所 一种面向应急任务的高可靠卫星自主任务规划方法及系统
WO2024078465A1 (zh) * 2022-10-13 2024-04-18 杭州阿里云飞天信息技术有限公司 一种定时任务的处理方法、设备及存储介质
CN115361283A (zh) * 2022-10-20 2022-11-18 深圳依时货拉拉科技有限公司 基于k8s的云主机管理方法、装置、计算机设备
CN115361283B (zh) * 2022-10-20 2023-03-24 深圳依时货拉拉科技有限公司 基于k8s的云主机管理方法、装置、计算机设备

Similar Documents

Publication Publication Date Title
CN109542605A (zh) 一种基于Kubernetes系统架构的容器组生命周期管理方法
Lin et al. Ant colony algorithm for multi-objective optimization of container-based microservice scheduling in cloud
Salihoglu et al. Gps: A graph processing system
Collier et al. Repast HPC: A Platform for Large‐Scale Agent‐Based Modeling
Liu et al. A survey on workflow management and scheduling in cloud computing
CN104050042B (zh) Etl作业的资源分配方法及装置
CN103023963B (zh) 一种用于云存储资源优化分配的方法
Ghumman et al. Dynamic combination of improved max-min and ant colony algorithm for load balancing in cloud system
CN108021435B (zh) 一种基于截止时间的具有容错能力的云计算任务流调度方法
US8239872B2 (en) Method and system for controlling distribution of work items to threads in a server
CN105988872A (zh) 一种cpu资源分配的方法、装置及电子设备
US11182217B2 (en) Multilayered resource scheduling
CN107562528A (zh) 支持多种计算框架的单元化按需计算方法及相关装置
CN104102533A (zh) 一种基于带宽感知的Hadoop调度方法和系统
Prajapati et al. Comparison of virtual machine scheduling algorithms in cloud computing
Zhang et al. Design and implementation of task scheduling strategies for massive remote sensing data processing across multiple data centers
Begam et al. Timer-cloud: Time-sensitive vm provisioning in resource-constrained clouds
CN102790715B (zh) 一种基于互联网的资源分配系统及方法
CN105095438A (zh) 一种基于.net数据库连接池的数据管理方法及系统
Goh et al. Design and performance evaluation of combined first-fit task allocation and migration strategies in mesh multiprocessor systems
Lin et al. A configurable and executable model of Spark Streaming on Apache YARN
Gohil et al. Load balancing in cloud using improved gray wolf optimizer
Leite et al. Excalibur: An autonomic cloud architecture for executing parallel applications
CN116700924A (zh) 一种平铺加速器资源分配方法及系统
Zhang et al. Optimizing completion time and resource provisioning of pig programs

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
CB02 Change of applicant information

Address after: 410000 Room 201, 13 Building, Changsha Zhongdian Software Park Phase I, 39 Jianshan Road, Changsha High-tech Development Zone, Hunan Province

Applicant after: Hunan Zhijing Technology Co., Ltd.

Address before: 410000 No. 167, F26 Shop, Lugu Linyu District, 408 Tongzipo West Road, Changsha High-tech Development Zone, Hunan Province

Applicant before: Changsha Zhi Qing Information Technology Co., Ltd.

CB02 Change of applicant information
CB03 Change of inventor or designer information

Inventor after: Zhong Jin

Inventor after: He Zhenyuan

Inventor after: Xiao Licheng

Inventor after: Yang Shuming

Inventor before: Zhong Jin

Inventor before: Yin Gang

Inventor before: He Zhenyuan

Inventor before: Xiao Licheng

Inventor before: Yang Shuming

Inventor before: Han Mei

CB03 Change of inventor or designer information
RJ01 Rejection of invention patent application after publication

Application publication date: 20190329

RJ01 Rejection of invention patent application after publication