(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210875813.X
(22)申请日 2022.07.25
(71)申请人 浪潮云信息技 术股份公司
地址 250100 山东省济南市高新区浪潮路
1036号浪潮科技园S01号楼
(72)发明人 张勇 石光银 张佳伟 蔡卫卫
高传集
(74)专利代理 机构 济南信达专利事务所有限公
司 37100
专利代理师 潘悦梅
(51)Int.Cl.
G06F 9/455(2006.01)
G06F 9/50(2006.01)
(54)发明名称
云容器集群资源动态均衡的方法及系统
(57)摘要
本发明公开了云容器集群资源动态均衡的
方法及系统, 属于云服务技术领域, 要解决的技
术问题为如何通过Desch eduler内置的策略实现
集群资源动态均衡。 包括如下步骤: 对节点的资
源利用率进行 实时检测, 如果节 点的资源利用率
超过节点资源利用率阈值, 触发驱逐动作; 执行
驱逐动作时, 基于descheduler的内置策略、 pod
驱逐优先级以及监测策略逐个对节点上的pod进
行驱逐直至所述节点的资源利用率低于所述节
点资源利用率阈值; 执行驱逐动作时, 每驱逐一
个pod后, 检测所述被驱逐pod新起后的状态, 如
果所述被驱逐pod新起后的状态为ru nning, 则继
续驱逐下一个pod, 否则停止驱逐动作。
权利要求书3页 说明书8页 附图2页
CN 115291999 A
2022.11.04
CN 115291999 A
1.一种云容器集群资源动态均衡的方法, 其特 征在于包括如下步骤:
设定节点 监测次数阈值和节点资源利用率阈值;
配置监测策略, 通过监测策略限定: 对节点中的pod执行驱逐时, 如果基于descheduler
的内置策 略所述pod为可被驱逐的pod, 基于节点监测次数阈值对节点连续监测多 次, 如果
节点的资源利用率连续多次超过节点资源利用率阈值, 基于 descheduler的内置策略驱逐
所述pod;
配置pod驱逐优先级, 所述pod驱逐优先级为优先驱逐节点上的重复pod;
对节点的资源利用率进行实时检测, 如果节点的资源利用率超过节点资源利用率阈
值, 触发驱逐动作;
执行驱逐动作时, 基于descheduler的内置策略、 pod驱逐优先级以及监测策略逐个对
节点上的pod进行驱逐直至所述节点的资源利用率低于所述节点资源利用率阈值;
执行驱逐动作时, 每驱逐一个pod后, 检测所述被驱逐pod新起后的状态, 如果所述被驱
逐pod新起后的状态为run ning, 则继续驱逐 下一个pod, 否则停止驱逐动作。
2.根据权利要求1所述的云容器集群资源动态均衡的方法, 其特征在于所述
descheduler的内置策略包括如下 策略:
关键pod不会被驱逐, 所述关键pod为将priorityClassName设置为system ‑cluster‑
critical或system ‑node‑critical的pod, 但是ev ictSystemCriti ‑calPods:true已设置的
pod除外;
不属于ReplicationController、 ReplicaSet(Deployment)、 StatefulSet或Job的po d
不会被请重新创建, 所述 不会被重建的pod不会被驱逐;
与DaemonSet关联的Pod不会被驱逐;
具有本地存 储的Pod不会被驱逐, 除非evictL ocalStora gePods:t rue已设置;
带有PVC的Pod被驱逐, 除非ign orePvcPods:t rue设置;
在LowNodeUtilization和RemoveP odsViolatingInterPodAntiAffinity, pod会按优先
级从低到高逐出, 如果两个pod具有相同的优先级, 则尽力而为的pod会在可爆裂和有保证
的pod之前被逐 出;
带有注解descheduler.alpha.kubernetes.io/evict的所有pod都有资格被驱逐, 所述
带有注解desc heduler.alpha.kubernetes.i o/evict的所有pod由用户确定是否被驱逐;
默认情况 下具有非空Deleti onTimestamp的Pod不会被驱逐。
3.根据权利要求1所述的云容器集群资源动态均衡的方法, 其特征在于每驱逐一个pod
后, 通过如下步骤检测所述被驱逐pod新 起后的状态:
根据原pod标签label查询所有该label的pod, 在原pod非运行状态且该label的pod运
行状态总数量大于等于驱逐前总数量时, 判定为新pod已经正常运行起来, 可以进 行下一个
pod的驱逐;
所述原pod表示被驱逐 前的所述被驱逐pod, 所述 新pod表示 新起后所述被驱逐pod。
4.根据权利要求1 ‑3任一项所述的云容器集群资源动态均衡的方法, 其特征在于基于
descheduler的内置策略、 pod驱逐优 先级以及监测策略逐个对节 点上的pod进行驱逐时, 如
果基于descheduler的内置策略, 当前po d为不被驱逐的po d, 将当前po d保留在节点上并执
行下一个pod的驱逐; 如果基于descheduler的内置策略, 当前pod为可被驱逐的pod, 基于节权 利 要 求 书 1/3 页
2
CN 115291999 A
2点监测次数阈值对节 点进行多次连续监测, 如果节点的资源利用率连续多次超过节点资源
利用率阈值, 从节点上驱逐 所述pod。
5.一种云容器集群资源动态均衡的系统, 其特征在于用于通过如权利要求1 ‑4任一项
所述的云容器集群资源动态均衡的方法对云容器集群资源进行动态均衡, 所述系统包括:
节点监测配置模块, 所述节点监测配置模块用于设定节点监测次数阈值和节点资源利
用率阈值;
监测策略设置模块, 所述监测策略设置模块用于配置监测策略, 通过监测策略限定: 对
节点中的po d执行驱逐时, 如果基于descheduler的内置策略所述po d为可被驱逐的po d, 基
于节点监测次数阈值对节点连续监测多次, 如果节点的资源利用率连续多次超过节点资源
利用率阈值, 基于desc heduler的内置策略驱逐 所述pod;
优先级设置模块, 所述优先级设置模块用于配置pod驱逐优先级, 所述pod驱逐优先级
为优先驱逐节点上的重复pod;
节点监测模块, 所述节点监测用于对节点的资源利用率进行实时检测, 如果节点的资
源利用率超过节点资源利用率阈值, 触发驱逐动作;
驱逐模块, 所述驱逐模块用于通过如下操作执 行驱逐动作:
基于descheduler的内置策略、 pod驱逐优先级以及监测策略逐个对节点上的pod进行
驱逐直至所述节点的资源利用率低于所述节点资源利用率阈值;
执行驱逐动作 时, 每驱逐一个pod后, 所述驱逐模块用于检测所述被驱逐pod新起后的
状态, 如果所述被驱逐pod新起后的状态为running, 则继续驱逐下一个pod, 否则停止驱逐
动作。
6.根据权利要求5所述的云容器集群资源动态均衡的系统, 其特征在于所述
descheduler的内置策略包括如下 策略:
关键pod不会被驱逐, 所述关键pod为将priorityClassName设置为system ‑cluster‑
critical或system ‑node‑critical的pod, 但是ev ictSystemCriti ‑calPods:true已设置的
pod除外;
不属于ReplicationController、 ReplicaSet(Deployment)、 StatefulSet或Job的po d
不会被请重新创建, 所述 不会被重建的pod不会被驱逐;
与DaemonSet关联的Pod不会被驱逐;
具有本地存 储的Pod不会被驱逐, 除非evictL ocalStora gePods:t rue已设置;
带有PVC的Pod被驱逐, 除非ign orePvcPods:t rue设置;
在LowNodeUtilization和RemoveP odsViolatingInterPodAntiAffinity, pod会按优先
级从低到高逐出, 如果两个pod具有相同的优先级, 则尽力而为的pod会在可爆裂和有保证
的pod之前被逐 出;
带有注解descheduler.alpha.kubernetes.io/evict的所有pod都有资格被驱逐, 所述
带有注解desc heduler.alpha.kubernetes.i o/evict的所有pod由用户确定是否被驱逐;
默认情况 下具有非空Deleti onTimestamp的Pod不会被驱逐。
7.根据权利要求5所述的云容器集群资源动态均衡的系统, 其特征在于每驱逐一个pod
后, 所述驱逐模块用于通过如下步骤检测所述被驱逐pod新 起后的状态:
根据原pod标签label查询所有该label的pod, 在原pod非运行状态且该label的pod运权 利 要 求 书 2/3 页
3
CN 115291999 A
3
专利 云容器集群资源动态均衡的方法及系统
文档预览
中文文档
14 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 13:30:02上传分享