节点资源整合

https://blueprints.launchpad.net/watcher/+spec/node-resource-consolidation

问题描述

在边缘计算系统中,边缘节点分布在不同的位置。虽然边缘节点的总数可能很大,但每个位置的边缘节点数量有限,因此资源(VCPU、内存)也有限。一种应用场景是动态创建 VM(应用程序)处理服务。处理完成后,VM 被删除并释放资源。在此过程中(在不同节点上创建和删除 VM),会产生资源碎片。例如,如果两个节点每个都有两个空闲 VCPU,即使总 VCPU 足够,创建具有四个 VCPU 的 VM 仍然会失败。

用例

作为 Watcher 用户,我希望 Watcher 提供一种可以通过整合节点上的资源来消除资源碎片的策略。

提议的变更

  • 添加新的策略:节点资源整合

  • 一个输入参数:host_choice(指定/自动)。此参数确定如何选择服务器迁移的目标节点。值 auto 表示 Nova 调度器选择目标节点,而 specify 表示策略指定目标节点。默认值为 auto

  • 此策略的算法

    • 计算计算节点的已用资源

    • 按已用资源百分比对计算节点进行排序

    • 将计算节点划分为源组和目标组。过程:对于排序后的计算节点,从使用资源最少的节点开始,如果所有服务器都可以迁移到其他计算节点,则将此节点放入源组,并将其他节点放入目标组。重复此过程,直到所有计算节点都放置在源组或目标组中。对于 连续 审计,如果之前的行动计划中存在失败的服务器,则应将此计算节点放入目标组。

    • 创建策略解决方案:如果参数 host_choiceauto,则为源组中的每个 VM 创建一个迁移操作,并在服务器迁移之前禁用源组中的计算节点,并在迁移完成后启用它们。如果参数 host_choicespecify,则按空闲资源对目标组中的节点进行排序。然后,对于源节点上的每个 VM,从目标组中选择一个最适合该 VM 的节点作为迁移的目标节点。重复此过程(每次按空闲资源重新排序目标组),直到所有 VM 都有目标节点或资源不足。

备选方案

数据模型影响

REST API 影响

安全影响

通知影响

其他最终用户影响

性能影响

其他部署者影响

开发人员影响

实现

负责人

主要负责人

licanwei

工作项

  • 将新参数 audit 添加到策略的 do_execute 方法。

  • 添加新的策略。

依赖项

测试

需要单元测试和功能测试。

文档影响

添加关于如何使用此策略的文档。

参考资料

历史

修订版

发布名称

描述

Train

引入