CN110795245B - 一种Kubernetes服务权重管理的方法以及装置 - Google Patents

一种Kubernetes服务权重管理的方法以及装置 Download PDF

Info

Publication number
CN110795245B
CN110795245B CN201911025097.0A CN201911025097A CN110795245B CN 110795245 B CN110795245 B CN 110795245B CN 201911025097 A CN201911025097 A CN 201911025097A CN 110795245 B CN110795245 B CN 110795245B
Authority
CN
China
Prior art keywords
level
cluster
deployments
requirements
deployment
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
Application number
CN201911025097.0A
Other languages
English (en)
Other versions
CN110795245A (zh
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.)
Beijing Inspur Data Technology Co Ltd
Original Assignee
Beijing Inspur Data 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 Beijing Inspur Data Technology Co Ltd filed Critical Beijing Inspur Data Technology Co Ltd
Priority to CN201911025097.0A priority Critical patent/CN110795245B/zh
Publication of CN110795245A publication Critical patent/CN110795245A/zh
Application granted granted Critical
Publication of CN110795245B publication Critical patent/CN110795245B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/5044Allocation 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 hardware capabilities
    • 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/5055Allocation 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 software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种Kubernetes服务权重管理的方法、装置、设备及计算机可读存储介质,应用于Kubernetes调度器,包括:判断集群中可用资源与集群总资源的比值是否小于预设比例阈值;若小于,则获取预先为不同deployment设置的权重等级、硬性需求与软性需求;根据集群的CPU占用率与内存占用率,确定集群的占用等级;根据所述不同deployment的权重等级、硬性需求与软性需求以及所述Kubernetes集群的占用等级,为所述不同deployment分配集群资源。本发明所提供的方法、装置、设备及计算机可读存储介质,避免了集群资源紧张时重大服务无法正常运行现象的发生。

Description

一种Kubernetes服务权重管理的方法以及装置
技术领域
本发明涉及集群系统管理技术领域,特别是涉及一种Kubernetes服务权重管理的方法、装置、设备以及计算机可读存储介质。
背景技术
Kubernetes对集群中的服务采用的是无差别管理,即Kubernetes调度器认为,集群中的所有服务都同等重要,调度器总是尝试满足所有服务对副本数、CPU、内存等资源的需求。在集群资源紧张的情况下,这种机制有可能会造成重点服务无法运行,而一些可有可无的服务却占有大量资源。
综上所述可以看出,Kubernetes如何在集群资源紧张时为不同服务合理分配资源,保证重要服务可以正常运行是目前有待解决的问题。
发明内容
本发明的目的是提供一种Kubernetes服务权重管理的方法、装置、设备以及计算机可读存储介质,已解决现有技术中Kubernetes调度器的在集群资源紧张时的资源分配方法有可能会造成重点服务无法运行的问题。
为解决上述技术问题,本发明提供一种Kubernetes服务权重管理的方法,应用于Kubernetes调度器,包括:判断Kubernetes集群中可用资源与集群总资源的比值是否小于预设比例阈值;若所述可用资源与集群总资源的比值小于所述预设比例阈值,则获取预先为不同deployment设置的权重等级、硬性需求与软性需求;根据所述Kubernetes集群的CPU占用率与内存占用率,确定所述Kubernetes集群的占用等级;根据所述不同deployment的权重等级、硬性需求与软性需求以及所述Kubernetes集群的占用等级,为所述不同deployment分配集群资源。
优选地,所述判断Kubernetes集群中可用资源与集群总资源的比值是否小于预设比例阈值后包括:
若所述可用资源与所述集群总资源的比值大于等于所述预设比例阈值,则为每个deployment分配所需的全部集群资源。
优选地,所述获取预先为不同deployment设置的权重等级、硬性需求与软性需求包括:
获取预先为不同deployment设置的权重等级,其中,deployment的权重等级包括A级、B级、C级、D级四个等级,A级deployment、B级deployment 、C级deployment 、D级deployment的权重依次递减;
获取不同权重等级的deployment的硬性需求与软性需求;其中,所述A级deployment的副本数、CPU与内存均为硬性需求;所述B级deployment的CPU与内存为硬性需求,副本数为软性需求 ;C级deployment的副本数为硬性需求,CPU与内存为软性需求;所述D级deployment的副本数、CPU与内存均为软性需求;相同权重等级的deployment的硬性需求权重大于软性需求权重。
优选地,所述根据所述Kubernetes集群的CPU占用率与内存占用率,确定所述Kubernetes集群的占用等级包括:
若所述CPU占用率与所述内存占用率中任意一个占用率小于等于第一占用率阈值时,则判定所述Kubernetes集群的占用等级为第一级;
若所述CPU占用率与所述内存占用率中任意一个占用率大于所述第一占用率阈值小于等于第二占用率阈值时,则判定所述Kubernetes集群的占用等级为第二级;
若所述CPU占用率与所述内存占用率中任意一个占用率大于所述第二占用率阈值小于等于第三占用率阈值时,则判定所述Kubernetes集群的占用等级为第三级;
若所述CPU占用率与所述内存占用率中任意一个占用率大于所述第三占用率阈值时,则判定所述Kubernetes集群的占用等级为第四级;
其中,所述第一占用率阈值、所述第二占用率阈值及所述第三占用率阈值依次递增。
优选地,所述根据所述不同deployment的权重、硬性需求与软性需求以及所述Kubernetes集群的占用等级,为所述不同deployment分配集群资源包括:
当所述Kubernetes集群的占用等级为所述第四级时,为所述A级deployment分配所述A级deployment的硬性需求所需的全部副本、CPU与内存;
为所述B级deployment分配所述B级deployment的硬性需求所需的全部CPU与内存以及所述B级deployment的软性需求所需的部分副本;
为所述C级deployment分配所述C级deployment的硬性需求所需的全部副本以及所述C级deployment的软性需求所需的部分CPU与内存;
为所述D级deployment分配所述D级deployment的软性需求所需的部分副本、CPU与内存。
本发明还提供了一种Kubernetes服务权重管理的装置,应用于Kubernetes调度器,包括:
判断模块,用于判断Kubernetes集群中可用资源与集群总资源的比值是否小于预设比例阈值;
获取模块,用于若所述可用资源与集群总资源的比值小于所述预设比例阈值,则获取预先为不同deployment设置的权重等级、硬性需求与软性需求;
确定模块,用于根据所述Kubernetes集群的CPU占用率与内存占用率,确定所述Kubernetes集群的占用等级;
第一分配模块,用于根据所述不同deployment的权重等级、硬性需求与软性需求以及所述Kubernetes集群的占用等级,为所述不同deployment分配集群资源。
优选地,所述判断模块后包括:
第二分配模块,用于若所述可用资源与所述集群总资源的比值大于等于所述预设比例阈值,则为每个deployment分配所需的全部集群资源。
优选地,所述获取模块包括:
第一获取单元,用于获取预先为不同deployment设置的权重等级,其中,deployment的权重等级包括A级、B级、C级、D级四个等级,A级deployment、B级deployment 、C级deployment 、D级deployment的权重依次递减;
第二获取单元,用于获取不同权重等级的deployment的硬性需求与软性需求;其中,所述A级deployment的副本数、CPU与内存均为硬性需求;所述B级deployment的CPU与内存为硬性需求,副本数为软性需求 ;C级deployment的副本数为硬性需求,CPU与内存为软性需求;所述D级deployment的副本数、CPU与内存均为软性需求;相同权重等级的deployment的硬性需求权重大于软性需求权重。
本发明还提供了一种Kubernetes服务权重管理的设备,包括:
存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述一种Kubernetes服务权重管理的方法的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种Kubernetes服务权重管理的方法的步骤。
本发明所提供的Kubernetes服务权重管理的方法,Kubernetes调度器判断Kubernetes集群的可用资源与集群总资源的比值是否小于预设比例阈值,若小于,则说明当前集群资源紧张。获取预先为不同deployment设置的权重等级,以及不同权重等级对应的硬性需求与软性需求。读取所述Kubernetes集群的CPU占用率与内存占用率,根据所述CPU占用率与所述内存占用率,确定所述Kubernetes集群的占用等级。在集群资源紧张的情况下,根据不同deployment的权重等级、不同权重等级对应的硬性需求与软性需求以及集群的占用等级,所述Kubernetes调度器为不同的deployment服务分配资源。本发明对不同deployment设置不同权重,在集群资源紧张时Kubernetes调度器根据权重区别对待不同deployment,实现资源合理利用。在集群资源紧张的情况下,可以忽略非重点deployment的部分需求,最大程度确保重点deployment的正常运行,从而避免了集群资源紧张时重大deployment服务无法正常运行现象的发生。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所提供的Kubernetes服务权重管理的方法的第一种具体实施例的流程图;
图2为本发明所提供的Kubernetes服务权重管理的方法的第二种具体实施例的流程图;
图3为本发明实施例提供的一种Kubernetes服务权重管理的装置的结构框图。
具体实施方式
本发明的核心是提供一种Kubernetes服务权重管理的方法、装置、设备以及计算机可读存储介质,在集群资源紧张时依据不同deployment的权重与资源的占用等级为不同权重等级的deployment划分资源,避免了集群资源紧张时无法正常运行重大服务现象的发生。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明所提供的Kubernetes服务权重管理的方法的第一种具体实施例的流程图。本实施例应用于Kubernetes调度器,具体操作步骤如下:
步骤S101:判断Kubernetes集群中可用资源与集群总资源的比值是否小于预设比例阈值;
本发明所提供的Kubernetes服务权重管理机制有一个总开关,当其关闭时,权重管理无效,集群中所有deployment拥有同等地位。当权重管理打开时,机制启动。
当所述Kubernetes集群中的可用资源与所述集群总资源的比值小于所述预设比例阈值时,则说明当前集群资源较紧张,所述Kubernetes调度器根据不同deployment的权重为不同的deployment区别分配集群资源。
当所述可用资源与所述集群总资源的比值大于等于所述预设比例阈值时,则说明当前集群资源充足,所述Kubernetes调度器不需要根据权重为不同deployment分配资源,而是为每个deployment分配所需的全部集群资源。
步骤S102:若所述可用资源与集群总资源的比值小于所述预设比例阈值,则获取预先为不同deployment设置的权重等级、硬性需求与软性需求;
获取预先为不同deployment设置的权重等级,其中,deployment的权重等级包括A级、B级、C级、D级四个等级。
不同权重等级对应不同的硬性需求和软性需求:所述A级deployment的副本数、CPU与内存均为硬性需求;所述B级deployment的CPU与内存为硬性需求,副本数为软性需求;C级deployment的副本数为硬性需求,CPU与内存为软性需求;所述D级deployment的副本数、CPU与内存均为软性需求。
需要说明的是,在本实施例中,A级deployment、B级deployment 、C级deployment、D级deployment的权重依次递减;相同权重等级的deployment的硬性需求权重大于软性需求权重。因此,不同deployment的权重从高到低依次为:A级deployment,B级deployment硬性需求,B级deployment软性需求,C级deployment 硬性需求,C级deployment软性需求,D级deployment。
步骤S103:根据所述Kubernetes集群的CPU占用率与内存占用率,确定所述Kubernetes集群的占用等级;
步骤S104:根据所述不同deployment的权重等级、硬性需求与软性需求以及所述Kubernetes集群的占用等级,为所述不同deployment分配集群资源。
本实施例所提供的方法,在Kubernetes集群资源紧张时,为deployment设置权重值,Kubernetes调度器根据策略优先满足权重较高的需求,忽略部分权重较低的需求,从而优化集群资源配置策略。
基于上述实施例,在本实施例中,利用第一占用率阈值、第二占用率阈值、第三占用率阈值,将Kubernetes集群资源的占用等级划分为第一级至第四级四个等级。其中,所述第一占用率阈值、所述第二占用率阈值及所述第三占用率阈值依次递增。
请参考图2,图2为本发明所提供的Kubernetes服务权重管理的方法的第二种具体实施例的流程图。本实施例应用于Kubernetes调度器,具体操作步骤如下:
步骤S201:判断Kubernetes集群中可用资源与集群总资源的比值是否小于预设比例阈值;
步骤S202:若所述可用资源与集群总资源的比值小于所述预设比例阈值,则获取预先为不同deployment设置的权重等级以及不同权重等级deployment的硬性需求与软性需求;
步骤S203:获取所述Kubernetes集群的CPU占用率与内存占用率;
步骤S204:若所述CPU占用率与所述内存占用率中任意一个占用率小于等于第一占用率阈值时,则判定所述Kubernetes集群的占用等级为第一级;
步骤S205:若所述CPU占用率与所述内存占用率中任意一个占用率大于所述第一占用率阈值小于等于第二占用率阈值时,则判定所述Kubernetes集群的占用等级为第二级;
步骤S206:若所述CPU占用率与所述内存占用率中任意一个占用率大于所述第二占用率阈值小于等于第三占用率阈值时,则判定所述Kubernetes集群的占用等级为第三级;
步骤S207:若所述CPU占用率与所述内存占用率中任意一个占用率大于所述第三占用率阈值时,则判定所述Kubernetes集群的占用等级为第四级;
步骤S208:根据所述不同deployment的权重等级、所述不同权重等级deployment的硬性需求与软性需求以及所述Kubernetes集群的占用等级,为所述不同deployment分配集群资源。
在本实施例中,集群资源占用等级的所述第一级可以用绿色表示,所述第二级可以用黄色表示,所述第三级可以用橙色表示,所述第四级可以用红色表示。在不同集群资源的占用等级下,对不同权重等级的deployment采取不同的调度策略,所述Kubernetes调度器的调度策略如表1所示,表中“√”表示所述Kubernetes调度器需要满足的项。
表1 Kubernetes调度器的调度策略
Figure DEST_PATH_IMAGE001
如表1所示,当所述Kubernetes集群的占用等级为所述第四级,即红色时,为所述A级deployment分配所述A级deployment的硬性需求所需的全部副本、CPU与内存。为所述B级deployment分配所述B级deployment的硬性需求所需的全部CPU与内存以及所述B级deployment的软性需求所需的部分副本。为所述C级deployment分配所述C级deployment的硬性需求所需的全部副本以及所述C级deployment的软性需求所需的部分CPU与内存。为所述D级deployment分配所述D级deployment的软性需求所需的部分副本、CPU与内存。
例如,所述D级deployment本来需要1GB的内存,当集群资源的占用等级为第四级时,只给所述D级分配800MB的部分内存。
当所述Kubernetes集群的占用等级为所述第三级,即橙色时,为所述A级deployment分配所述A级deployment的硬性需求所需的全部副本、CPU与内存。为所述B级deployment分配所述B级deployment的硬性需求及软性需求所需的全部CPU、内存与副本。为所述C级deployment分配所述C级deployment的硬性需求所需的全部副本以及所述C级deployment的软性需求所需的部分CPU与内存。为所述D级deployment分配所述D级deployment的软性需求所需的部分副本、CPU与内存。
当所述Kubernetes集群的占用等级为所述第二级,即黄色时,为所述A级deployment分配所述A级deployment的硬性需求所需的全部副本、CPU与内存。为所述B级deployment分配所述B级deployment的硬性需求及软性需求所需的全部CPU、内存与副本。为所述C级deployment分配所述C级deployment的硬性需求及软性需求所需的全部副本、CPU与内存。为所述D级deployment分配所述D级deployment的软性需求所需的部分副本、CPU与内存。
当所述Kubernetes集群的占用等级为所述第一级,即绿色时,为所述A级deployment分配所述A级deployment的硬性需求所需的全部副本、CPU与内存。为所述B级deployment分配所述B级deployment的硬性需求及软性需求所需的全部CPU、内存与副本。为所述C级deployment分配所述C级deployment的硬性需求及软性需求所需的全部副本、CPU与内存。为所述D级deployment分配所述D级deployment的软性需求所需的全部副本、CPU与内存。
在本实施例中,所述Kubernetes可设置不同占用阈值,从而判断所述Kubernetes集群资源的当前占用等级。所述Kubernetes调度器可根据集群资源的占用等级采取不同的调度策略,舍弃部分权重较低的服务的需求,为权重较高的服务腾出更多资源。
请参考图3,图3为本发明实施例提供的一种Kubernetes服务权重管理的装置的结构框图;具体装置可以包括:
判断模块100,用于判断Kubernetes集群中可用资源与集群总资源的比值是否小于预设比例阈值;
获取模块200,用于若所述可用资源与集群总资源的比值小于所述预设比例阈值,则获取预先为不同deployment设置的权重等级、硬性需求与软性需求;
确定模块300,用于根据所述Kubernetes集群的CPU占用率与内存占用率,确定所述Kubernetes集群的占用等级;
第一分配模块400,用于根据所述不同deployment的权重等级、硬性需求与软性需求以及所述Kubernetes集群的占用等级,为所述不同deployment分配集群资源。
本实施例的Kubernetes服务权重管理的装置用于实现前述的Kubernetes服务权重管理的方法,因此Kubernetes服务权重管理的装置中的具体实施方式可见前文中的Kubernetes服务权重管理的方法的实施例部分,例如,判断模块100,获取模块200,确定模块300,第一分配模块400,分别用于实现上述Kubernetes服务权重管理的方法中步骤S101,S102,S103和S104,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
本发明具体实施例还提供了一种Kubernetes服务权重管理的设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述一种Kubernetes服务权重管理的方法的步骤。
本发明具体实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种Kubernetes服务权重管理的方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的Kubernetes服务权重管理的方法、装置、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (8)

1.一种Kubernetes服务权重管理的方法,其特征在于,应用于Kubernetes调度器,包括:
判断Kubernetes集群中可用资源与集群总资源的比值是否小于预设比例阈值;
若所述可用资源与集群总资源的比值小于所述预设比例阈值,则获取预先为不同deployment设置的权重等级、硬性需求与软性需求;
根据所述Kubernetes集群的CPU占用率与内存占用率,确定所述Kubernetes集群的占用等级;
根据所述不同deployment的权重等级、硬性需求与软性需求以及所述Kubernetes集群的占用等级,为所述不同deployment分配集群资源;
其中,所述获取预先为不同deployment设置的权重等级、硬性需求与软性需求包括:
获取预先为不同deployment设置的权重等级,其中,deployment的权重等级包括A级、B级、C级、D级四个等级,A级deployment、B级deployment 、C级deployment 、D级deployment的权重依次递减;
获取不同权重等级的deployment的硬性需求与软性需求;其中,所述A级deployment的副本数、CPU与内存均为硬性需求;所述B级deployment的CPU与内存为硬性需求,副本数为软性需求 ;C级deployment的副本数为硬性需求,CPU与内存为软性需求;所述D级deployment的副本数、CPU与内存均为软性需求;相同权重等级的deployment的硬性需求权重大于软性需求权重。
2.如权利要求1所述的方法,其特征在于,所述判断Kubernetes集群中可用资源与集群总资源的比值是否小于预设比例阈值后包括:
若所述可用资源与所述集群总资源的比值大于等于所述预设比例阈值,则为每个deployment分配所需的全部集群资源。
3.如权利要求1所述的方法,其特征在于,所述根据所述Kubernetes集群的CPU占用率与内存占用率,确定所述Kubernetes集群的占用等级包括:
若所述CPU占用率与所述内存占用率中任意一个占用率小于等于第一占用率阈值时,则判定所述Kubernetes集群的占用等级为第一级;
若所述CPU占用率与所述内存占用率中任意一个占用率大于所述第一占用率阈值小于等于第二占用率阈值时,则判定所述Kubernetes集群的占用等级为第二级;
若所述CPU占用率与所述内存占用率中任意一个占用率大于所述第二占用率阈值小于等于第三占用率阈值时,则判定所述Kubernetes集群的占用等级为第三级;
若所述CPU占用率与所述内存占用率中任意一个占用率大于所述第三占用率阈值时,则判定所述Kubernetes集群的占用等级为第四级;
其中,所述第一占用率阈值、所述第二占用率阈值及所述第三占用率阈值依次递增。
4.如权利要求3所述的方法,其特征在于,所述根据所述不同deployment的权重、硬性需求与软性需求以及所述Kubernetes集群的占用等级,为所述不同deployment分配集群资源包括:
当所述Kubernetes集群的占用等级为所述第四级时,为所述A级deployment分配所述A级deployment的硬性需求所需的全部副本、CPU与内存;
为所述B级deployment分配所述B级deployment的硬性需求所需的全部CPU与内存以及所述B级deployment的软性需求所需的部分副本;
为所述C级deployment分配所述C级deployment的硬性需求所需的全部副本以及所述C级deployment的软性需求所需的部分CPU与内存;
为所述D级deployment分配所述D级deployment的软性需求所需的部分副本、CPU与内存。
5.一种Kubernetes服务权重管理的装置,其特征在于,应用于Kubernetes调度器,包括:
判断模块,用于判断Kubernetes集群中可用资源与集群总资源的比值是否小于预设比例阈值;
获取模块,用于若所述可用资源与集群总资源的比值小于所述预设比例阈值,则获取预先为不同deployment设置的权重等级、硬性需求与软性需求;
确定模块,用于根据所述Kubernetes集群的CPU占用率与内存占用率,确定所述Kubernetes集群的占用等级;
第一分配模块,用于根据所述不同deployment的权重等级、硬性需求与软性需求以及所述Kubernetes集群的占用等级,为所述不同deployment分配集群资源;
其中,所述获取模块包括:
第一获取单元,用于获取预先为不同deployment设置的权重等级,其中,deployment的权重等级包括A级、B级、C级、D级四个等级,A级deployment、B级deployment 、C级deployment 、D级deployment的权重依次递减;
第二获取单元,用于获取不同权重等级的deployment的硬性需求与软性需求;其中,所述A级deployment的副本数、CPU与内存均为硬性需求;所述B级deployment的CPU与内存为硬性需求,副本数为软性需求 ;C级deployment的副本数为硬性需求,CPU与内存为软性需求;所述D级deployment的副本数、CPU与内存均为软性需求;相同权重等级的deployment的硬性需求权重大于软性需求权重。
6.如权利要求5所述的装置,其特征在于,所述判断模块后包括:
第二分配模块,用于若所述可用资源与所述集群总资源的比值大于等于所述预设比例阈值,则为每个deployment分配所需的全部集群资源。
7.一种Kubernetes服务权重管理的设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述一种Kubernetes服务权重管理的方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述一种Kubernetes服务权重管理的方法的步骤。
CN201911025097.0A 2019-10-25 2019-10-25 一种Kubernetes服务权重管理的方法以及装置 Active CN110795245B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911025097.0A CN110795245B (zh) 2019-10-25 2019-10-25 一种Kubernetes服务权重管理的方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911025097.0A CN110795245B (zh) 2019-10-25 2019-10-25 一种Kubernetes服务权重管理的方法以及装置

Publications (2)

Publication Number Publication Date
CN110795245A CN110795245A (zh) 2020-02-14
CN110795245B true CN110795245B (zh) 2022-07-08

Family

ID=69441363

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911025097.0A Active CN110795245B (zh) 2019-10-25 2019-10-25 一种Kubernetes服务权重管理的方法以及装置

Country Status (1)

Country Link
CN (1) CN110795245B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104168318A (zh) * 2014-08-18 2014-11-26 中国联合网络通信集团有限公司 一种资源服务系统及其资源分配方法
CN108519911A (zh) * 2018-03-23 2018-09-11 上饶市中科院云计算中心大数据研究院 一种基于容器的集群管理系统中资源的调度方法和装置
CN109167835A (zh) * 2018-09-13 2019-01-08 重庆邮电大学 一种基于kubernetes的物理资源调度方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9207976B2 (en) * 2013-08-13 2015-12-08 International Business Machines Corporation Management of prioritizing virtual machines in an operating environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104168318A (zh) * 2014-08-18 2014-11-26 中国联合网络通信集团有限公司 一种资源服务系统及其资源分配方法
CN108519911A (zh) * 2018-03-23 2018-09-11 上饶市中科院云计算中心大数据研究院 一种基于容器的集群管理系统中资源的调度方法和装置
CN109167835A (zh) * 2018-09-13 2019-01-08 重庆邮电大学 一种基于kubernetes的物理资源调度方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Docker的云资源弹性调度策略;彭丽苹等;《计算机应用》;20180210(第02期);全文 *

Also Published As

Publication number Publication date
CN110795245A (zh) 2020-02-14

Similar Documents

Publication Publication Date Title
US10848428B2 (en) Method for dynamically allocating resources in an SDN/NFV network based on load balancing
CN111880936B (zh) 资源调度方法、装置、容器集群、计算机设备和存储介质
CN104102543B (zh) 一种云计算环境中负载调整的方法和装置
CN112269641B (zh) 一种调度方法、装置、电子设备及存储介质
CN103532873B (zh) 应用于分布式文件系统的流量控制策略
KR20120128681A (ko) 시스템 리소스들의 계층 관리를 위한 방법 및 장치
CN105791254B (zh) 网络请求处理方法、装置及终端
CN103729236B (zh) 一种限制云计算用户资源使用额度的方法
CN109039953B (zh) 带宽调度方法及装置
CN111324424A (zh) 一种虚拟机部署方法、装置、服务器及存储介质
CN114385370B (zh) 内存分配方法、系统、设备及介质
CN108694083B (zh) 一种服务器的数据处理方法和装置
CN110007867B (zh) 一种缓存空间分配方法、装置、设备及存储介质
CN105530202A (zh) 一种带宽分配方法及服务器
CN110795245B (zh) 一种Kubernetes服务权重管理的方法以及装置
CN109039694B (zh) 一种面向业务的全局网络资源分配方法及装置
CN108200185B (zh) 一种实现负载均衡的方法及装置
CN111143071A (zh) 基于mcs系统的缓存分区管理方法、系统及相关组件
CN107493577A (zh) 无线网络部署方法和装置
CN111651274A (zh) 一种基于微服务架构的业务分发方法及相关装置
CN107408058A (zh) 一种虚拟资源的部署方法、装置及系统
CN109298949A (zh) 一种分布式文件系统的资源调度系统
CN104899072A (zh) 基于虚拟化平台的细粒度资源调度系统及方法
CN110399216B (zh) 一种整机箱功耗的分配方法、系统、装置及可读存储介质
CN111597034B (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