CN112527449B - 一种集群节点标签创建方法、系统及电子设备和存储介质 - Google Patents
一种集群节点标签创建方法、系统及电子设备和存储介质 Download PDFInfo
- Publication number
- CN112527449B CN112527449B CN202011301971.1A CN202011301971A CN112527449B CN 112527449 B CN112527449 B CN 112527449B CN 202011301971 A CN202011301971 A CN 202011301971A CN 112527449 B CN112527449 B CN 112527449B
- Authority
- CN
- China
- Prior art keywords
- nodes
- node
- information
- label
- pod
- 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
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012216 screening Methods 0.000 claims abstract description 28
- 238000004590 computer program Methods 0.000 claims description 11
- 238000000605 extraction Methods 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 2
- 238000005728 strengthening Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012360 testing method Methods 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/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/5011—Allocation 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/5016—Allocation 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
-
- 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
-
- 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种集群节点标签创建方法、系统及设备和介质,该方法包括:当Pod资源对象创建完成后,解析对应的定义信息,在定义信息中提取节点标签相关信息;根据其中的CPU与内存限制条件,初步筛选满足资源限制条件的候选节点;基于Pod副本数量、以及是否采用主机网络模式信息确定出需要创建标签的节点数量;从候选节点中选出满足节点数量的目标节点,根据节点标签信息中的标签信息自动为各个目标节点创建节点标签,并在创建完成后进入Pod资源对象调度流程。由上可知,本申请在集群创建、部署Pod过程中,可以自动在满足要求的节点上创建对应的标签,无需用户手动创建,从而提升集群的使用友好性并进一步加强K8s的自动化机制。
Description
技术领域
本申请涉及云计算技术领域,更具体地说,涉及一种集群节点标签创建方法、系统及一种电子设备和一种计算机可读存储介质。
背景技术
在云计算时代,大量应用服务通过容器化的方式进行部署和运行,容器技术让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,实现应用的快速部署。Kubernetes简称K8s,是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,提供了强大的自动化机制,其中,标签在K8s的高度自动化机制中承担着非常重要的角色。Node、Pod、Deployment、Service等统称为K8s集群中的资源对象,其中Node是K8s集群中的工作负载节点;Pod是K8s集群的最小工作单元,Pod里包含容器,容器内运行服务应用;Deployment是Pod的一种控制器,主要用来编排Pod相关配置、监控Pod的部署过程及控制副本数等;Service是K8s中的一个提供负载均衡和服务自动发现的资源对象。
在K8s集群中,Deployment可以根据Pod标签筛选要监控的Pod副本数量,从而实现Pod副本数量始终符合预期设定的全自动控制流程;Service根据Pod标签选择对应Pod,自动建立起每个Service到对应Pod的请求转发路由表,从而实现Service的智能负载均衡机制;还有一种是对某些Node定义特定的Label,在Pod定义文件中使用nodeSelector实现Pod的定向调度,这种基于节点标签的调度方式灵活性很高,比如可以把一组Node分别贴上“开发环境”、“测试环境”、“用户验收环境”这三组标签中的一种,此时一个K8s集群就承载了3个环境,这将大大提高开发效率。然而,上述Pod标签在Pod定义文件中定义后在创建Pod时会自动创建,而Node的标签需要手动创建,这样就存在一个问题,在集群规模小的时候可以逐个手动创建,但当集群规模非常大的时候逐个手动创建就显得非常麻烦,影响了K8s集群部署服务应用的效率。
因此,如何解决上述问题是本领域技术人员需要重点关注的。
发明内容
本申请的目的在于提供一种集群节点标签创建方法、系统及一种电子设备和一种计算机可读存储介质,无需用户手动创建,提升了K8s集群的使用友好性并进一步加强了K8s集群的自动化机制。
为实现上述目的,本申请提供了一种集群节点标签创建方法,包括:
当Pod资源对象创建完成后,解析所述Pod资源对象对应的定义信息,并在所述定义信息中提取节点标签相关信息;
根据所述节点标签相关信息中的CPU与内存限制条件,初步筛选出满足资源限制条件的候选节点;
基于所述节点标签相关信息中的Pod副本数量、以及是否采用主机网络模式信息确定出需要创建标签的节点数量;
从所述候选节点中选出满足所述节点数量的目标节点,根据所述节点标签信息中的标签信息自动为各个所述目标节点创建节点标签,并在创建完成后进入Pod资源对象调度流程。
可选的,所述当Pod资源对象创建完成后,解析所述Pod资源对象对应的定义信息,并在所述定义信息中提取节点标签相关信息,包括:
当Pod资源对象创建完成后,解析所述Pod资源对象对应的定义信息,判断所述定义信息中是否包括节点选择器信息;
如果是,则提取Pod副本数量、节点网络模式信息、标签信息以及CPU与内存限制条件;
如果否,则直接进入Pod资源对象调度流程。
可选的,所述根据所述节点标签相关信息中的CPU与内存限制条件,初步筛选出满足资源限制条件的候选节点之后,还包括:
根据所述候选节点的可用CPU和可用内存大小,确定各所述候选节点对应的资源可用度;
基于所述资源可用度从大到小的顺序对所述候选节点进行排序,得到候选节点列表;
相应的,所述从所述候选节点中选出满足所述节点数量的目标节点,包括:
按照节点排列顺序,从所述候选节点列表中选出满足所述节点数量的目标节点。
可选的,所述根据所述节点标签相关信息中的CPU与内存限制条件,初步筛选出满足资源限制条件的候选节点之后,还包括:
确定所述节点标签相关信息中的标签信息,并检测所述候选节点中是否存在已添加所述标签信息的节点;
如果是,则记录已添加所述标签信息的节点数量。
可选的,所述基于所述节点标签相关信息中的Pod副本数量、以及是否采用主机网络模式信息确定出需要创建标签的节点数量,包括:
若采用主机网络模式,则判断所述候选节点的节点总数量是否大于所述Pod副本数量;
如果否,则需要创建标签的节点数量为所述候选节点的总数量与已添加所述标签信息的节点数量的差值;
如果是,则需要创建标签的节点数量为所述Pod副本数量与已添加所述标签信息的节点数量的差值。
可选的,所述基于所述节点标签相关信息中的Pod副本数量、以及是否采用主机网络模式信息确定出需要创建标签的节点数量,包括:
若未采用主机网络模式,则判断所述候选节点的节点总数量是否小于所述Pod副本数量的预设倍数;
如果是,则需要创建标签的节点数量为所述候选节点的总数量与已添加所述标签信息的节点数量的差值;
如果否,则需要创建标签的节点数量为所述Pod副本数量的所述预设倍数与已添加所述标签信息的节点数量的差值。
可选的,所述从所述候选节点中选出满足所述节点数量的目标节点,包括:
从所述候选节点中滤除已添加所述标签信息的节点,并从剩余候选节点中选出满足所述节点数量的目标节点。
为实现上述目的,本申请提供了一种集群节点标签创建系统,包括:
信息提取模块,用于当Pod资源对象创建完成后,解析所述Pod资源对象对应的定义信息,并在所述定义信息中提取节点标签相关信息;
节点筛选模块,用于根据所述节点标签相关信息中的CPU与内存限制条件,初步筛选出满足资源限制条件的候选节点;
数量确定模块,用于基于所述节点标签相关信息中的Pod副本数量、以及是否采用主机网络模式信息确定出需要创建标签的节点数量;
标签创建模块,用于从所述候选节点中选出满足所述节点数量的目标节点,根据所述节点标签信息中的标签信息自动为各个所述目标节点创建节点标签,并在创建完成后进入Pod资源对象调度流程。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现前述公开的任一种集群节点标签创建方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的任一种集群节点标签创建方法的步骤。
通过以上方案可知,本申请提供的一种集群节点标签创建方法,包括:当Pod资源对象创建完成后,解析所述Pod资源对象对应的定义信息,并在所述定义信息中提取节点标签相关信息;根据所述节点标签相关信息中的CPU与内存限制条件,初步筛选出满足资源限制条件的候选节点;基于所述节点标签相关信息中的Pod副本数量、以及是否采用主机网络模式信息确定出需要创建标签的节点数量;从所述候选节点中选出满足所述节点数量的目标节点,根据所述节点标签信息中的标签信息自动为各个所述目标节点创建节点标签,并在创建完成后进入Pod资源对象调度流程。由上可知,本申请在K8s集群创建、部署Pod过程中,可以根据Pod资源对象的定义信息确定出符合要求的目标节点,并自动在目标节点上创建对应的标签,无需用户手动创建,从而提升了K8s集群的使用友好性并进一步加强了K8s集群的自动化机制。
本申请还公开了一种集群节点标签创建系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种集群节点标签创建方法的流程图;
图2为本申请实施例公开的一种具体的集群节点标签创建方法的流程图;
图3为本申请实施例公开的节点筛选装置的筛选流程图;
图4为本申请实施例公开的计算需要创建标签的节点数目的流程图;
图5为本申请实施例公开的一种集群节点标签创建系统的结构图;
图6为本申请实施例公开的一种电子设备的结构图;
图7为本申请实施例公开的另一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1所示,本申请实施例公开的一种集群节点标签创建方法包括:
S101:当Pod资源对象创建完成后,解析所述Pod资源对象对应的定义信息,并在所述定义信息中提取节点标签相关信息;
本申请实施例中,当Pod资源对象创建完成,具体指创建Pod资源对象存入etcd后且调度之前。当创建成功后,获取Pod资源对象对应的定义信息,进而在定义信息中提取节点标签相关信息,具体可以包括但不限于Pod副本数量、节点网络模式信息、标签信息以及CPU与内存限制条件。
作为一种可行的实施方式,本实施例可在Pod资源对象创建完成后,解析所述Pod资源对象对应的定义信息,判断所述定义信息中是否包括节点选择器信息;如果是,则提取包括Pod副本数量、节点网络模式信息、标签信息以及CPU与内存限制条件的节点标签相关信息;如果否,则可以直接进入Pod资源对象调度流程。
S102:根据所述节点标签相关信息中的CPU与内存限制条件,初步筛选出满足资源限制条件的候选节点;
在本步骤中,可根据上述节点标签相关信息中的CPU与内存限制条件,初步筛选出满足资源限制条件的候选节点。具体地,在筛选出候选节点之后,还可以根据候选节点的可用CPU和可用内存大小,确定各候选节点对应的资源可用度;基于资源可用度从大到小的顺序对候选节点进行排序,得到候选节点列表。
S103:基于所述节点标签相关信息中的Pod副本数量、以及是否采用主机网络模式信息确定出需要创建标签的节点数量;
需要指出的是,本实施例中可基于节点标签相关信息中的Pod副本数量、以及是否采用主机网络模式信息计算出需要创建标签的节点数量。
在具体实施中,可在上述步骤确定候选节点之后,首先确定节点标签相关信息中的标签信息,并检测候选节点中是否存在已添加标签信息的节点;如果是,则记录已添加标签信息的节点数量。
进一步地,上述基于节点标签相关信息中的Pod副本数量、以及是否采用主机网络模式信息计算出需要创建标签的节点数量的过程可以包括:在一种具体的实施方式中,若采用主机网络模式,则判断候选节点的节点总数量是否大于Pod副本数量;如果否,则需要创建标签的节点数量为候选节点的总数量与已添加标签信息的节点数量的差值;如果是,则需要创建标签的节点数量为Pod副本数量与已添加标签信息的节点数量的差值。
在另外一种具体的实施方式中,若未采用主机网络模式,则判断候选节点的节点总数量是否小于Pod副本数量的预设倍数;如果是,则需要创建标签的节点数量为候选节点的总数量与已添加标签信息的节点数量的差值;如果否,则需要创建标签的节点数量为Pod副本数量的预设倍数与已添加标签信息的节点数量的差值。
S104:从所述候选节点中选出满足所述节点数量的目标节点,根据所述节点标签信息中的标签信息自动为各个所述目标节点创建节点标签,并在创建完成后进入Pod资源对象调度流程。
可以理解的是,在确定节点数量之后,可以从候选节点中选出满足节点数量的多个目标节点,进而根据节点标签信息中的标签信息自动为各个目标节点创建节点标签,并在创建完成后进入Pod资源对象调度流程。具体地,在候选节点中选出满足节点数量的多个目标节点时,可以首先从候选节点中滤除已添加标签信息的节点,并从剩余候选节点中选出满足节点数量的目标节点。
作为一种优选的实施方式,本步骤在选取目标节点时,可以根据前述排序得到的候选节点列表,按照节点排列顺序从候选节点列表中选出满足节点数量的目标节点,以确保选到资源性能较优的节点。
通过以上方案可知,本申请提供的一种集群节点标签创建方法,包括:当Pod资源对象创建完成后,解析所述Pod资源对象对应的定义信息,并在所述定义信息中提取节点标签相关信息;根据所述节点标签相关信息中的CPU与内存限制条件,初步筛选出满足资源限制条件的候选节点;基于所述节点标签相关信息中的Pod副本数量、以及是否采用主机网络模式信息确定出需要创建标签的节点数量;从所述候选节点中选出满足所述节点数量的目标节点,根据所述节点标签信息中的标签信息自动为各个所述目标节点创建节点标签,并在创建完成后进入Pod资源对象调度流程。由上可知,本申请在K8s集群创建、部署Pod过程中,可以根据Pod资源对象的定义信息确定出符合要求的目标节点,并自动在目标节点上创建对应的标签,无需用户手动创建,从而提升了K8s集群的使用友好性并进一步加强了K8s集群的自动化机制。
下面通过一种具体的实施场景对本申请实施例提供的集群节点标签创建方法进行介绍。具体地,为了实现集群节点标签创建方案,本实施例可提供Pod信息提取装置、节点筛选装置和节点标签创建装置,具体应用于Pod创建后、调度前。参见图2所示,用户创建Deployment后,也可以是其它可以监控Pod的部署过程及控制副本数的控制器,进而K8s集群会依据Deployment中定义的Pod信息创建Pod资源对象并存入etcd。当Pod创建成功后触发Pod信息提取装置,Pod信息提取装置通过解析Pod的定义信息,首先从中提取是否使用节点选择器nodeSelector信息,若没有使用节点选择器,则直接进入Pod调度阶段,否则就从Deployment的spec中提取Pod副本数信息,从Pod模板的spec信息部分提取节点标签信息及网络模式信息,从容器配置信息部分提取cpu及内存最小限制信息,提取到这些关键信息后发送至节点筛选装置。节点筛选装置可根据Pod信息提取装置发送的信息进行节点筛选,根据cpu和内存限制信息初选出满足资源限制的节点;进而根据满足资源限制的节点数目、Pod副本数及是否采用主机网络模式信息计算出需要创建标签的节点数目,再一次从前述满足资源限制的节点中选择出相应数目的资源较优节点,并将节点信息和标签信息发送至节点标签创建装置。也即,节点筛选装置主要用于筛选出从数量到cpu、内存资源都合适的节点信息提供给节点标签创建装置,该筛选节点策略的设置主要是为了在后期调度时减小调度失败的可能性及合理使用集群资源。节点标签创建装置则根据节点筛选装置传来的节点信息和需要创建的节点标签信息逐个自动创建对应节点标签,当所有节点标签创建成功后,进入Pod调度流程,至此完成节点标签的自动创建。
具体地,如图3所示,节点筛选装置的筛选流程可包括:根据Pod信息提取装置传来的cpu、内存信息,首先筛选出满足资源限制的节点并计算其数目,根据节点的可用cpu、内存资源大小,以资源高者节点优先的规则维护一个节点优选顺序。根据Pod信息提取装置传来的节点标签信息,从前述满足资源限制的节点中查找是否有节点已存在该标签,若存在,记录已存在该标签的节点数目,若不存在,则记录已存在该标签的节点数目为0。进而根据Pod信息提取装置传来的Pod副本数信息、是否采用主机网络模式信息以及前述满足资源限制的节点数目确定最终需要创建标签的节点数目,以进一步确定需要创建标签的节点信息。
参见图4所示,计算需要创建标签的节点数目的过程可以包括:首先判断是否采用主机网络模式。如果网络采用的是主机网络模式,则需要有对应标签的节点数目大于等于Pod副本数目,因为Pod采用主机网络模式时会有端口冲突问题,一个节点只能部署一个Pod副本。若满足资源限制的节点数目小于Pod副本数,则为所有满足资源限制的节点创建节点标签,即需要创建标签的节点数为满足资源限制的节点数减去计算出的已存在该标签的节点数;若满足资源限制的节点数目大于等于Pod副本数,则需要创建标签的节点数等于Pod副本数减去计算出的已存在该标签的节点数。
如果网络没有采用主机网络模式,则需要有对应标签的节点数可以小于Pod副本数,相比主机网络模式,这里设置一个比例系数k(小于1)以实现合理分组利用集群资源,k的值可依据集群节点数目和计划部署应用的数量设置,比如可以设置为2/3。若满足资源限制的节点数目小于k倍的Pod副本数,则应为所有满足资源限制的节点创建该标签,即需要创建该标签的节点数为满足资源限制的节点数减去前述步骤计算出的已存在该标签的节点数;若满足资源限制的节点数目大于等于k倍的Pod副本数,则需要创建标签的节点数等于k倍的Pod副本数减去前述步骤计算出的已存在该标签的节点数。
进一步地,可以从满足资源限制的节点中去除已存在该标签的节点,从剩下的节点中选择满足计算出的需要创建标签的节点数目的资源较优节点,并将这些节点信息及标签信息发送至节点标签创建装置,以便节点标签创建装置为每个节点逐个创建节点标签,创建完成后进入Pod调度流程。
本申请实施例可应用于基于K8s集群部署应用的云平台技术领域,具体应用在K8s集群部署Pod时通过节点标签定向部署Pod的过程中。通过解析Pod的定义信息,并从中提取影响到节点标签创建的信息,利用这些信息设置合理的节点筛选策略,筛选出符合要求的节点,并自动为符合要求的节点创建对应标签,最终实现节点标签的自动创建,从而提高K8s集群的使用友好性,并进一步加强K8s的自动化机制。
下面对本申请实施例提供的一种集群节点标签创建系统进行介绍,下文描述的一种集群节点标签创建系统与上文描述的一种集群节点标签创建方法可以相互参照。
参见图5所示,本申请实施例提供的一种集群节点标签创建系统包括:
信息提取模块201,用于当Pod资源对象创建完成后,解析所述Pod资源对象对应的定义信息,并在所述定义信息中提取节点标签相关信息;
节点筛选模块202,用于根据所述节点标签相关信息中的CPU与内存限制条件,初步筛选出满足资源限制条件的候选节点;
数量确定模块203,用于基于所述节点标签相关信息中的Pod副本数量、以及是否采用主机网络模式信息确定出需要创建标签的节点数量;
标签创建模块204,用于从所述候选节点中选出满足所述节点数量的目标节点,根据所述节点标签信息中的标签信息自动为各个所述目标节点创建节点标签,并在创建完成后进入Pod资源对象调度流程。
关于上述模块201至204的具体实施过程可参考前述实施例公开的相应内容,在此不再进行赘述。
本申请还提供了一种电子设备,参见图6所示,本申请实施例提供的一种电子设备包括:
存储器100,用于存储计算机程序;
处理器200,用于执行所述计算机程序时可以实现上述实施例所提供的步骤。
具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200在一些实施例中可以是一中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,为电子设备提供计算和控制能力,执行所述存储器100中保存的计算机程序时,可以实现前述任一实施例公开的集群节点标签创建方法。
在上述实施例的基础上,作为优选实施方式,参见图7所示,所述电子设备还包括:
输入接口300,与处理器200相连,用于获取外部导入的计算机程序、参数和指令,经处理器200控制保存至存储器100中。该输入接口300可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。
显示单元400,与处理器200相连,用于显示处理器200处理的数据以及用于显示可视化的用户界面。该显示单元400可以为LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。
网络端口500,与处理器200相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(MHL)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。
图7仅示出了具有组件100-500的电子设备,本领域技术人员可以理解的是,图7示出的结构并不构成对电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本申请还提供了一种计算机可读存储介质,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一实施例公开的集群节点标签创建方法。
本申请在K8s集群创建、部署过程中,可以根据Pod资源对象的定义信息确定出符合要求的目标节点,并自动在目标节点上创建对应的标签,无需用户手动创建,从而提升了K8s集群的使用友好性并进一步加强了K8s集群的自动化机制。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种集群节点标签创建方法,其特征在于,包括:
当Pod资源对象创建完成后,解析所述Pod资源对象对应的定义信息,并在所述定义信息中提取节点标签相关信息;
根据所述节点标签相关信息中的CPU与内存限制条件,初步筛选出满足资源限制条件的候选节点;
基于所述节点标签相关信息中的Pod副本数量、以及是否采用主机网络模式信息确定出需要创建标签的节点数量;
从所述候选节点中选出满足所述节点数量的目标节点,根据所述节点标签信息中的标签信息自动为各个所述目标节点创建节点标签,并在创建完成后进入Pod资源对象调度流程。
2.根据权利要求1所述的集群节点标签创建方法,其特征在于,所述当Pod资源对象创建完成后,解析所述Pod资源对象对应的定义信息,并在所述定义信息中提取节点标签相关信息,包括:
当Pod资源对象创建完成后,解析所述Pod资源对象对应的定义信息,判断所述定义信息中是否包括节点选择器信息;
如果是,则提取Pod副本数量、节点网络模式信息、标签信息以及CPU与内存限制条件;
如果否,则直接进入Pod资源对象调度流程。
3.根据权利要求1所述的集群节点标签创建方法,其特征在于,所述根据所述节点标签相关信息中的CPU与内存限制条件,初步筛选出满足资源限制条件的候选节点之后,还包括:
根据所述候选节点的可用CPU和可用内存大小,确定各所述候选节点对应的资源可用度;
基于所述资源可用度从大到小的顺序对所述候选节点进行排序,得到候选节点列表;
相应的,所述从所述候选节点中选出满足所述节点数量的目标节点,包括:
按照节点排列顺序,从所述候选节点列表中选出满足所述节点数量的目标节点。
4.根据权利要求1至3任一项所述的集群节点标签创建方法,其特征在于,所述根据所述节点标签相关信息中的CPU与内存限制条件,初步筛选出满足资源限制条件的候选节点之后,还包括:
确定所述节点标签相关信息中的标签信息,并检测所述候选节点中是否存在已添加所述标签信息的节点;
如果是,则记录已添加所述标签信息的节点数量。
5.根据权利要求4所述的集群节点标签创建方法,其特征在于,所述基于所述节点标签相关信息中的Pod副本数量、以及是否采用主机网络模式信息确定出需要创建标签的节点数量,包括:
若采用主机网络模式,则判断所述候选节点的节点总数量是否大于所述Pod副本数量;
如果否,则需要创建标签的节点数量为所述候选节点的总数量与已添加所述标签信息的节点数量的差值;
如果是,则需要创建标签的节点数量为所述Pod副本数量与已添加所述标签信息的节点数量的差值。
6.根据权利要求4所述的集群节点标签创建方法,其特征在于,所述基于所述节点标签相关信息中的Pod副本数量、以及是否采用主机网络模式信息确定出需要创建标签的节点数量,包括:
若未采用主机网络模式,则判断所述候选节点的节点总数量是否小于所述Pod副本数量的预设倍数;
如果是,则需要创建标签的节点数量为所述候选节点的总数量与已添加所述标签信息的节点数量的差值;
如果否,则需要创建标签的节点数量为所述Pod副本数量的所述预设倍数与已添加所述标签信息的节点数量的差值。
7.根据权利要求4所述的集群节点标签创建方法,其特征在于,所述从所述候选节点中选出满足所述节点数量的目标节点,包括:
从所述候选节点中滤除已添加所述标签信息的节点,并从剩余候选节点中选出满足所述节点数量的目标节点。
8.一种集群节点标签创建系统,其特征在于,包括:
信息提取模块,用于当Pod资源对象创建完成后,解析所述Pod资源对象对应的定义信息,并在所述定义信息中提取节点标签相关信息;
节点筛选模块,用于根据所述节点标签相关信息中的CPU与内存限制条件,初步筛选出满足资源限制条件的候选节点;
数量确定模块,用于基于所述节点标签相关信息中的Pod副本数量、以及是否采用主机网络模式信息确定出需要创建标签的节点数量;
标签创建模块,用于从所述候选节点中选出满足所述节点数量的目标节点,根据所述节点标签信息中的标签信息自动为各个所述目标节点创建节点标签,并在创建完成后进入Pod资源对象调度流程。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述集群节点标签创建方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述集群节点标签创建方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011301971.1A CN112527449B (zh) | 2020-11-19 | 2020-11-19 | 一种集群节点标签创建方法、系统及电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011301971.1A CN112527449B (zh) | 2020-11-19 | 2020-11-19 | 一种集群节点标签创建方法、系统及电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112527449A CN112527449A (zh) | 2021-03-19 |
CN112527449B true CN112527449B (zh) | 2024-07-02 |
Family
ID=74981698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011301971.1A Active CN112527449B (zh) | 2020-11-19 | 2020-11-19 | 一种集群节点标签创建方法、系统及电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527449B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115145714A (zh) * | 2021-03-30 | 2022-10-04 | 中国电信股份有限公司 | 容器实例的调度方法、装置和系统 |
CN113873045B (zh) * | 2021-11-11 | 2023-09-12 | 深圳市云语科技有限公司 | 一种基于能力协商的文件多节点传输方法 |
CN116339927B (zh) * | 2023-05-29 | 2023-08-15 | 苏州浪潮智能科技有限公司 | 设备确定方法、装置、存储介质及电子装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107547595A (zh) * | 2016-06-27 | 2018-01-05 | 腾讯科技(深圳)有限公司 | 云资源调度系统、方法及装置 |
CN109358965A (zh) * | 2018-09-25 | 2019-02-19 | 杭州朗和科技有限公司 | 云计算集群资源调度方法、介质、装置和计算设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582433B (zh) * | 2017-09-29 | 2022-02-01 | 腾讯科技(深圳)有限公司 | 一种资源调度方法、装置、云计算系统及存储介质 |
CN110221901A (zh) * | 2019-06-06 | 2019-09-10 | 深圳前海微众银行股份有限公司 | 容器资源创建方法、装置、设备及计算机可读存储介质 |
CN110531987A (zh) * | 2019-07-30 | 2019-12-03 | 平安科技(深圳)有限公司 | 基于Kubernetes集群的管理方法、装置及计算机可读存储介质 |
CN110784347A (zh) * | 2019-10-18 | 2020-02-11 | 北京浪潮数据技术有限公司 | 一种容器集群的节点管理方法、系统、设备及存储介质 |
CN111045821A (zh) * | 2019-12-06 | 2020-04-21 | 北京浪潮数据技术有限公司 | 一种容器调度方法、装置、容器调度器及可读存储介质 |
CN111522639B (zh) * | 2020-04-16 | 2022-11-01 | 南京邮电大学 | Kubernetes集群架构系统下多维资源调度方法 |
-
2020
- 2020-11-19 CN CN202011301971.1A patent/CN112527449B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107547595A (zh) * | 2016-06-27 | 2018-01-05 | 腾讯科技(深圳)有限公司 | 云资源调度系统、方法及装置 |
CN109358965A (zh) * | 2018-09-25 | 2019-02-19 | 杭州朗和科技有限公司 | 云计算集群资源调度方法、介质、装置和计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112527449A (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112527449B (zh) | 一种集群节点标签创建方法、系统及电子设备和存储介质 | |
CN109447253B (zh) | 显存分配的方法、装置、计算设备及计算机存储介质 | |
US9223601B2 (en) | Control device, control method, and non-transitory computer-readable storage medium for a virtual system deployment | |
JP2005056391A (ja) | コンピューティング環境の作業負荷を均衡させる方法およびシステム | |
CN110427252A (zh) | 基于任务依赖关系的任务调度方法、装置及存储介质 | |
CN108809683B (zh) | 部署云应用系统的方法及装置 | |
CN111258913A (zh) | 算法自动测试方法、装置、计算机系统及可读存储介质 | |
CN115543577A (zh) | 基于协变量的Kubernetes资源调度优化方法、存储介质及设备 | |
CN115292014A (zh) | 图像渲染方法、装置和服务器 | |
CN115686805A (zh) | Gpu资源共享的方法和装置、调度gpu资源共享的方法和装置 | |
JP2007140791A (ja) | ジョブ実行管理方法、ジョブ実行管理システム及びジョブ実行管理プログラム | |
CN113886069A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN110912967A (zh) | 一种服务节点调度方法、装置、设备及存储介质 | |
CN113301087A (zh) | 资源调度方法、装置、计算设备和介质 | |
CN116974689A (zh) | 集群容器调度方法、装置、设备及计算机可读存储介质 | |
CN115309558A (zh) | 一种资源调度管理系统、方法、计算机设备及存储介质 | |
US20220058060A1 (en) | Ranking computing resources | |
US8631375B2 (en) | Via selection in integrated circuit design | |
CN115665231A (zh) | 服务创建方法、装置以及计算机可读存储介质 | |
CN110659125A (zh) | 一种分析任务执行方法、装置、系统及电子设备 | |
CN114911538A (zh) | 一种运行系统的启动方法及计算设备 | |
CN104657240A (zh) | 多内核操作系统的失效控制方法及装置 | |
CN111800446B (zh) | 调度处理方法、装置、设备和存储介质 | |
CN106445599A (zh) | 应用程序的升级方法、升级装置和终端 | |
CN111752682A (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 |