K8s集群的资源调度方法、设备及存储介质技术

技术编号:39061603 阅读:13 留言:0更新日期:2023-10-12 19:54
本发明专利技术涉及资源调度领域,公开了一种K8s集群的资源调度方法、设备及存储介质。该方法包括:接收资源请求;利用预置Rancher集群读取预置K8s集群中N个k8s节点对应的节点名称,其中,N为正整数;通过预置yaml配置文件和N个k8s节点对应的节点名称,对N个k8s节点均添加affinity标签的匹配规则,得到N个带标签K8s节点;利用Rancher集群监控N个带标签K8s节点对应的资源使用数据,从N个带标签K8s节点中筛选出affinity标签匹配的带标签K8s节点,得到M个匹配K8s节点,其中,M为不大于N的正整数;调用M个匹配K8s节点的资源执行资源请求。在本发明专利技术实施例中,解决了当前K8s集群的各个节点资源使用分布不均匀,导致各个节点的负载差别巨大。大。大。

【技术实现步骤摘要】
K8s集群的资源调度方法、设备及存储介质


[0001]本专利技术涉及资源调度领域,尤其涉及一种K8S集群的资源调度方法、设备及存储介质。

技术介绍

[0002]在使用Rancher集群部署在K8s集群上调度的容器时,Rancher集群的主机负载不均衡,有的主机只有十几个容器,有的主机有三十几个容器。容器部署采用默认主机调度规则,主机没有污点且容器有设置cpu和内存资源预留,但是容器调度不均衡,经常往资源占用高的主机部署。有的主机资源相对富余,但新容器却不往对主机部署,而对其他负载较大的主机进行部署。导致个别主机实际负载高、个别主机空闲的情况,这样会导致资源的严重浪费以及会导致业务容器OOM对业务造成影响。
[0003]因此,针对当前K8s集群的各个节点资源使用分布不均匀,导致各个节点的负载差别巨大的技术问题,需要一种新的技术来解决当前的问题。

技术实现思路

[0004]本专利技术的主要目的在于解决当前K8s集群的各个节点资源使用分布不均匀,导致各个节点的负载差别巨大的技术问题。
[0005]本专利技术第一方面提供了一种K8S集群的资源调度方法,所述K8S集群的资源调度方法包括:接收资源请求;利用预置Rancher集群读取预置K8s集群中N个k8s节点对应的节点名称,其中,N为正整数;通过预置yaml配置文件和N个k8s节点对应的节点名称,对所述N个k8s节点均添加affinity标签的匹配规则,得到N个带标签K8s节点;利用所述Rancher集群监控所述N个带标签K8s节点对应的资源使用数据,从所述N个带标签K8s节点中筛选出affinity标签匹配的带标签K8s节点,得到M个匹配K8s节点,其中,M为不大于N的正整数;调用所述M个匹配K8s节点的资源执行所述资源请求。
[0006]可选的,在本专利技术第一方面的第一种实现方式中,所述调用所述M个匹配K8s节点的资源执行所述资源请求包括:在所述M个匹配K8s节点选择一个节点确定为K8s执行节点;通过所述K8s执行节点执行所述资源请求。
[0007]可选的,在本专利技术第一方面的第二种实现方式中,在所述通过所述K8s执行节点执行所述资源请求之后,还包括:读取所述K8s执行节点的资源使用数据;判断所述资源使用数据是否超过预置扩容阈值;
若超过预置扩容阈值,则对所述K8s执行节点进行pod容器扩容处理,得到扩容的K8s执行节点;若未超过预置扩容阈值,则对所述K8s执行节点进行pod容器进行缩容处理,得到缩容的K8s执行节点。
[0008]可选的,在本专利技术第一方面的第三种实现方式中,所述读取所述K8s执行节点的资源使用数据包括:利用metric

server组件,读取所述K8s执行节点的内存使用率和CPU使用率。
[0009]可选的,在本专利技术第一方面的第四种实现方式中,所述对所述K8s执行节点进行pod容器扩容处理,得到扩容的K8s执行节点包括:读取预置扩容等待时长;经过所述扩容等待时长,对所述K8s执行节点进行pod容器扩容处理,得到扩容的K8s执行节点。
[0010]可选的,在本专利技术第一方面的第五种实现方式中,所述对所述K8s执行节点进行pod容器进行缩容处理,得到缩容的K8s执行节点包括:读取预置缩容等待时长;经过所述缩容等待时长,对所述K8s执行节点进行pod容器缩容处理,得到缩容的K8s执行节点。
[0011]可选的,在本专利技术第一方面的第六种实现方式中,在所述利用预置Rancher集群读取预置K8s集群中N个k8s节点对应的节点名称之前,还包括:基于预置K8s集群的Java服务端,对所述K8s集群中N个k8s节点添加节点名称标签。
[0012]可选的,在本专利技术第一方面的第七种实现方式中,所述通过预置yaml配置文件和N个k8s节点对应的节点名称,对所述N个k8s节点添加affinity标签的匹配规则包括:基于预置Descheduler组件,查询出所述K8s集群中N个k8s节点对应节点名称的configmap.yam文件夹;通过所述Rancher集群,基于预置yaml配置文件修改所有的configmap.yam文件夹,将affinity标签的匹配规则均添加至所述N个k8s节点中。
[0013]本专利技术第二方面提供了一种K8S集群的资源调度设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述K8S集群的资源调度设备执行上述的K8S集群的资源调度方法。
[0014]本专利技术的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的K8S集群的资源调度方法。
[0015]在本专利技术实施例中,通过利用Rancher集群对K8S集群的每个节点注入affinity标签的匹配规则,匹配出资源占用不高的节点,将资源调用请求使用匹配的节点执行,通过容器和Pod的资源请求和限制设置合理,以避免资源浪费和资源争用问题,避免了资源瓶颈和满负荷运行的情况,解决了当前K8s集群的各个节点资源使用分布不均匀,导致各个节点的负载差别巨大的技术问题。
附图说明
[0016]图1为本专利技术实施例中K8s集群的资源调度方法的第一个实施例示意图;图2为本专利技术实施例中K8s集群的资源调度方法的103步骤的一个实施例示意图;图3为本专利技术实施例中K8s集群的资源调度方法的105步骤的一个实施例示意图;图4为本专利技术实施例中K8s集群的资源调度方法的一个具体扩展实施例示意图;图5为本专利技术实施例中K8s集群的资源调度设备的一个实施例示意图。
具体实施方式
[0017]本专利技术实施例提供了一种K8s集群的资源调度方法、设备及存储介质。
[0018]下面将参照附图更详细地描述本专利技术公开的实施例。虽然附图中显示了本专利技术公开的某些实施例,然而应当理解的是,本专利技术公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本专利技术公开的附图及实施例仅用于示例性作用,并非用于限制本专利技术公开的保护范围。
[0019]在本专利技术公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
[0020]为便于理解,下面对本专利技术实施例的具体流程进行描述,请参阅图1,本专利技术实施例中K8S集群的资源调度方法的一个实施例包括:101、接收资源请求;在本实施例中,接收到资源调度的请求的方式可以是远程互联网进行数据传输。
[0021]102、利用预置Rancher集群读取预置K8s集群中N个k8s节点对应的节点名称,其中,N为正整数;在本实施例中,接收到资本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种K8s集群的资源调度方法,其特征在于,包括步骤:接收资源请求;利用预置Rancher集群读取预置K8s集群中N个k8s节点对应的节点名称,其中,N为正整数;通过预置yaml配置文件和N个k8s节点对应的节点名称,对所述N个k8s节点均添加affinity标签的匹配规则,得到N个带标签K8s节点;利用所述Rancher集群监控所述N个带标签K8s节点对应的资源使用数据,从所述N个带标签K8s节点中筛选出affinity标签匹配的带标签K8s节点,得到M个匹配K8s节点,其中,M为不大于N的正整数;调用所述M个匹配K8s节点的资源执行所述资源请求。2.根据权利要求1所述的K8s集群的资源调度方法,其特征在于,所述调用所述M个匹配K8s节点的资源执行所述资源请求包括:在所述M个匹配K8s节点选择一个节点确定为K8s执行节点;通过所述K8s执行节点执行所述资源请求。3.根据权利要求2所述的K8s集群的资源调度方法,其特征在于,在所述通过所述K8s执行节点执行所述资源请求之后,还包括:读取所述K8s执行节点的资源使用数据;判断所述资源使用数据是否超过预置扩容阈值;若超过预置扩容阈值,则对所述K8s执行节点进行pod容器扩容处理,得到扩容的K8s执行节点;若未超过预置扩容阈值,则对所述K8s执行节点进行pod容器进行缩容处理,得到缩容的K8s执行节点。4.根据权利要求3所述的K8s集群的资源调度方法,其特征在于,所述读取所述K8s执行节点的资源使用数据包括:利用metric

server组件,读取所述K8s执行节点的内存使用率和CPU使用率。5.根据权利要求3所述的K8s集群的资源调度方法,其特征在于,所述对所述K8s执行节点进行pod容器扩容处理,得到扩容的K8s执行节点包括:读取预置扩容等待时长;经过所述扩容等待时长,对所述K8s...

【专利技术属性】
技术研发人员:徐约可谢国斌马明王振华
申请(专利权)人:深圳大道云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1