System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及资源调度,具体涉及一种kubernetes资源调度方法及装置。
技术介绍
1、对每一个新创建的pod或者是未被调度的pod,kube-scheduler(kubernetes集群的默认调度器)会选择一个最优的node去运行这个pod。然而,pod内的每一个容器对资源都有不同的需求,而且pod本身也有不同的资源需求。因此,pod在被调度到node上之前,根据这些特定的资源调度需求,需要对集群中的node进行一次过滤。
2、现有技术中,在一个集群中,满足一个pod调度请求的所有node称之为可调度节点。针对某个pod调度请求,调度器先在集群中找到所有的可调度节点序列,然后根据一系列规则对这些可调度节点打分,选出其中得分最高的node来运行该pod。然而,原始的kube-scheduler的打分过程仅仅是根据node的cpu和内存的利用率来决定该node的分数,即只考虑单节点的简单资源余量。
3、然而,对于一个待分配的pod,其分配倾向不仅仅跟cpu和内存利用率相关,还跟其属于同一应用或者业务逻辑的上下游pod的位置以及特征属性等高度相关,因此,现有技术中,kube-scheduler原有的基本评分标准无法保证集群资源的负载均衡,容易造成资源浪费和资源过载问题。
技术实现思路
1、有鉴于此,本专利技术实施例提供一种kubernetes资源调度方法及装置,以实现集群资源的负载均衡,防止资源浪费和资源过载的目的。
2、为实现上述目的,本专利技
3、本专利技术实施例第一方面公开了一种kubernetes资源调度方法,所述方法包括:
4、获取多个资源分配对;所述资源分配对包括历史时间区间内未报错的pod单元和node节点的配对;所述pod单元包括kubernetes的基本调度单元;
5、根据多个资源分配对中的所述pod单元所承载的微服务类型进行分类,得到各个所述pod单元的类别;
6、针对多个资源分配对中的每一所述node节点,基于多个预设资源指标构建得到多维向量;
7、对每一所述node节点对应的多维向量进行k-means聚类,得到各个所述node节点的类别和对应的聚类得分;
8、基于各个所述node节点的类别、各个所述pod单元的类别和所述聚类得分,得到评分矩阵;
9、利用svd算法对所述评分矩阵进行分解,得到pod矩阵和node矩阵;
10、利用所述pod矩阵和所述node矩阵对待分配的pod单元进行资源调度,从而将所述待分配的pod单元分配给最优的node节点运行。
11、优选的,所述对每一所述node节点对应的多维向量进行k-means聚类,得到各个所述node节点的类别和对应的聚类得分,包括:
12、对每一所述node节点对应的多维向量进行k-means聚类,得到各个所述node节点的类别和对应的聚类中心;
13、针对每一所述node节点,计算所述node节点对应的多维向量与所述node节点的类别对应的聚类中心之间的余弦相似度,得到聚类得分。
14、优选的,所述基于各个所述node节点的类别、各个所述pod单元的类别和所述聚类得分,得到评分矩阵,包括:
15、针对每一pod单元的类别,基于预设的聚类得分累加公式和所述聚类得分,计算到每一类别的所述node节点的聚类得分累加和;
16、基于每一pod单元的类别对应的聚类得分累加和生成评分矩阵。
17、优选的,所述利用svd算法对所述评分矩阵进行分解,得到pod矩阵和node矩阵,包括:
18、利用svd算法针对所述评分矩阵内的每一所述pod单元,生成对应的pod隐向量;所述pod隐向量代表对应的pod单元在二维隐语义空间上的映射;
19、利用所述svd算法针对所述评分矩阵内的每一所述node节点,生成对应的node隐向量;所述node隐向量代表对应的node节点在所述二维隐语义空间上的映射;
20、基于各个所述pod隐向量生成pod矩阵,基于各个所述node隐向量生成node矩阵。
21、优选的,所述利用所述pod矩阵和所述node矩阵对待分配的pod单元进行资源调度,从而将所述待分配的pod单元分配给最优的node节点运行,包括:
22、确定所述待分配的pod单元,在各个所述pod单元的类别中所属的目标pod类别;
23、对各个现有node节点,按照各个所述node节点的类别进行分类,得到各个现有node节点的类别;
24、利用所述pod矩阵和所述node矩阵,计算所述目标pod类别与各个现有node节点的类别之间的相似度,将所述相似度最大的所述现有node节点的类别作为目标node类别;
25、针对所述目标node类别的每一所述node节点,获取所述node节点各个所述预设资源指标的指标值,基于各个所述预设资源指标的指标值,计算得到所述node节点的评分;
26、将所述待分配的pod单元分配给所述评分最高的node节点运行。
27、本专利技术实施例第二方面公开了一种kubernetes资源调度装置,所述装置包括:
28、获取单元,用于获取多个资源分配对;所述资源分配对包括历史时间区间内未报错的pod单元和node节点的配对;所述pod单元包括kubernetes的基本调度单元;
29、分类单元,用于根据多个资源分配对中的所述pod单元所承载的微服务类型进行分类,得到各个所述pod单元的类别;
30、构建单元,用于针对多个资源分配对中的每一所述node节点,基于多个预设资源指标构建得到多维向量;
31、聚类单元,用于对每一所述node节点对应的多维向量进行k-means聚类,得到各个所述node节点的类别和对应的聚类得分;
32、矩阵单元,用于基于各个所述node节点的类别、各个所述pod单元的类别和所述聚类得分,得到评分矩阵;
33、分解单元,用于利用svd算法对所述评分矩阵进行分解,得到pod矩阵和node矩阵;
34、调度单元,用于利用所述pod矩阵和所述node矩阵对待分配的pod单元进行资源调度,从而将所述待分配的pod单元分配给最优的node节点运行。
35、优选的,所述聚类单元,具体用于:
36、对每一所述node节点对应的多维向量进行k-means聚类,得到各个所述node节点的类别和对应的聚类中心;
37、针对每一所述node节点,计算所述node节点对应的多维向量与所述node节点的类别对应的聚类中心之间的余弦相似度,得到聚类得分。
38、优选的,所述矩阵单元,具体用于:
39、针对每一pod单元的类别,基于预设的聚类得分累加公式和所述聚类得分,计算到本文档来自技高网...
【技术保护点】
1.一种Kubernetes资源调度方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述对每一所述node节点对应的多维向量进行K-Means聚类,得到各个所述node节点的类别和对应的聚类得分,包括:
3.根据权利要求1所述的方法,其特征在于,所述基于各个所述node节点的类别、各个所述pod单元的类别和所述聚类得分,得到评分矩阵,包括:
4.根据权利要求1所述的方法,其特征在于,所述利用SVD算法对所述评分矩阵进行分解,得到pod矩阵和node矩阵,包括:
5.根据权利要求1至4任一所述的方法,其特征在于,所述利用所述pod矩阵和所述node矩阵对待分配的pod单元进行资源调度,从而将所述待分配的pod单元分配给最优的node节点运行,包括:
6.一种Kubernetes资源调度装置,其特征在于,所述装置包括:
7.根据权利要求6所述的装置,其特征在于,所述聚类单元,具体用于:
8.根据权利要求6所述的装置,其特征在于,所述矩阵单元,具体用于:
9.根据
10.根据权利要求6至9任一所述的装置,其特征在于,所述调度单元,具体用于:
...【技术特征摘要】
1.一种kubernetes资源调度方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述对每一所述node节点对应的多维向量进行k-means聚类,得到各个所述node节点的类别和对应的聚类得分,包括:
3.根据权利要求1所述的方法,其特征在于,所述基于各个所述node节点的类别、各个所述pod单元的类别和所述聚类得分,得到评分矩阵,包括:
4.根据权利要求1所述的方法,其特征在于,所述利用svd算法对所述评分矩阵进行分解,得到pod矩阵和node矩阵,包括:
5.根据权利要求1至4任一所述...
【专利技术属性】
技术研发人员:张洁,来宾,何世丽,
申请(专利权)人:中国农业银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。