OpenStack DRS(动态资源调度)之架构设计篇

这篇具有很好参考价值的文章主要介绍了OpenStack DRS(动态资源调度)之架构设计篇。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一:应用背景

drs动态资源调度,OpenStack架构及源码分析,云计算,openstack,python

随着时间推移,虚机的不断创建和销毁,数据中心的资源使用情况往往处于如上图所 示的不均衡的状态,各种资源得不到高效利用,而系统管理员和云计算提供商希望通过一些优化措施,如下图所示提高资源的利用效率,减少数据中心的运营成本。

drs动态资源调度,OpenStack架构及源码分析,云计算,openstack,python

二:整体架构设计

drs动态资源调度,OpenStack架构及源码分析,云计算,openstack,python

​DRS 从 nova/neutron/cinder 等得到集群数据模型,利用 ceilometer 采集集群运行的性能数据, 并根据数据模型和采集的历史数据,通过特定策略动态调整工作负载或调整计算、存储、网络等资源,从而提高资源的利用效率,减少数据中心的运营成本。 Watcher 提供了一个灵活的、可伸缩的多租户 OpenStack-based 云资源优化服务,通过智能的虚拟机迁移策略来减少数据中心的运营成本和提高资源的利用效率。

watcher 的目标:

1)提供一个可以实现各类优化目标的框架(framework);

2) 为新的资源优化算法和数据收集分析提供一个可插拔的(pluggable)架构

3) 用户可定制的丰富的资源优化算法与策略 DRS 功能以 openstack-watcher 为基础,并参考 VMware DRS&DPM 及 IBM PRS 产品进行新 功能的设计和开发。

1:watcher 架构

drs动态资源调度,OpenStack架构及源码分析,云计算,openstack,python

​上图为 watcher 项目的架构图,Watcher 由三个组件组成:

1)watcher api:对外部提供 REST API 接口,使系统管理员能够通过 cli/dashboard 与 watcher 进行交互。 watcher decision engine: 根据具体的对资源优化的目标,执行相应的优化策略,根据数据模型 和采集的历史数据,然后生成一组可以执行的优化动作。

2)watcher decision engine: 根据具体的对资源优化的目标,执行相应的优化策略,根据数据模型 和采集的历史数据,然后生成一组可以执行的优化动作。

3) watcher applier: watcher 中的执行组件,负责执行已生成的优化动作,对资源进行优化调整。

2:watcher优化流程

drs动态资源调度,OpenStack架构及源码分析,云计算,openstack,python

​watcher 实现一个资源优化的目标的流程是,先创建一个 Audit(审计)对象, Audit 包含了优化 目标(Goals),然后 watcher 组件开始执行 Audit, 执行 Audit 的过程就是为实现该目标找到合适 的 Strategy (策略),执行 Audit 的结果是生成有序的 Action Plan (行动方案),该 Action Plan 包含 了一系列可执行的 Action(操作) 。

3:watcher 时序图

下面是不同组件的消息传递的场景。 创建一个新的 Audit template(模板):使用现有的 goal(优化目标)和 strategy(优化策略), 可以一对一的来创建模板也可以创建 goal 不指定 strategy,会自动选择一条策略来执行。

drs动态资源调度,OpenStack架构及源码分析,云计算,openstack,python

创建和启动一个新的 audit(审计):使用现有的 audit template 来创建和启动一个唯一 uuid 的审计。(这边是通过唯一 uuid 表示审计的,没有名字。)

drs动态资源调度,OpenStack架构及源码分析,云计算,openstack,python

​创建 audit 的时候支持 2 种类型:ONESHOT(仅一次)和 CONTINUOUS(连续审计)。 ONESHOT Audit 被启动一次,启动会提供一个 action plan。 Continuous Audit 按给定的时间间隔(单位:s)创建行动计划,所有之前的行动计划会被取 消。 创建后就自动触发 audit,决策引擎更新 audit 状态为 ongoing,查询数据库,调用策略,策 略监控,满足时返回给决策引擎,决策调用planner,创建行动计划(actions plan)会变成recommend。 然后 audit 状态会更新会 succeed。

drs动态资源调度,OpenStack架构及源码分析,云计算,openstack,python

​详细的 Decision Engine 的时序图:

drs动态资源调度,OpenStack架构及源码分析,云计算,openstack,python

​触发 action plan 管理员手工触发建议的 action plan。

drs动态资源调度,OpenStack架构及源码分析,云计算,openstack,python

​当触发 action plan 后详细的 watcher applier 的序列图:

drs动态资源调度,OpenStack架构及源码分析,云计算,openstack,python

​当所有的 action 都执行成功,action plan 会被更新状态为成功。 watcher-dashboard 创建 audit 时可以选择是否 auto trigger action plans (自动触发审计) 自动触发后,action plan 便会自动被触发不需要管理员手工触发。文章来源地址https://www.toymoban.com/news/detail-855069.html

到了这里,关于OpenStack DRS(动态资源调度)之架构设计篇的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • openstack 之 nova架构,源码剖析

            nova是openstack最核心的服务,负责维护和管理云环境的计算资源。因此,云主机的整个生命周期都是由nova负责的。         负责接收和相应客户的API调用。         nova-schedule         负责决定在哪个计算节点运行虚拟机。         nova-compute         通过调用Hype

    2024年02月09日
    浏览(28)
  • kubernetes scheduler 源码解析及自定义资源调度算法实践

    小到运行着几十个工作负载的 kubernetes 集群,大到运行成千上万个工作负载 kubernetes 集群,每个工作负载到底应该在哪里运行,这需要一个聪明的大脑进行指挥,kubernetes scheduler 就是这个聪明的大脑。从结果看,他的工作很简单,只是为 pod.spec.nodeName 填充上一个 node 的名字而

    2023年04月24日
    浏览(25)
  • 第二十章 分布式任务调度中心&DolphinScheduler架构设计

    1、调度系统概述 1.1、调度系统介绍 含义:在 指定时间协调器 通过分布式执行器并行执行任务。 (1)目标 ​ 分布式环境下处理任务调度,在基于给定的时间点,给定的时间间隔或者给定执行次数自动的执行任务。 (2)作用 分布式调度 作业高可用 最大限度利用资源 (

    2024年02月08日
    浏览(31)
  • 资源分配问题【算法设计与分析】<动态规划问题>

    问题分析: ( 要把问题分为多步解决,每步求出子问题的多个最优策略后一步依赖于上一步的最有策略,最后一步得出问题的解) (1)首先要考虑分配给项目A的资金与利润的关系。得到此时投资数x与其相对应的 的关系。 (2)其次要考虑分配给前两个项目A,B的总资金 与利

    2023年04月08日
    浏览(33)
  • 小程序应用&解包反编译&动态调试&抓包&静态分析&源码架构

    直接在微信小程序上搜就完了 参考地址:https://blog.csdn.net/m0_60571842/article/details/132564881 反编译之后就会得到源码,然后对源码架构进行分析以下4个方面 1.更多的资产信息 2.敏感的配置信息 3.未授权访问测试 4.源码中的安全问题 小程序多功能组手 简单工具:http://xcx.

    2024年02月05日
    浏览(24)
  • CKA 10_Kubernetes工作负载与调度 资源调度 资源限制 LimitRanger 资源配额 ResourceQuota

    官方文档: 概念 | 策略 | 限制范围 官方文档: 概念 | 策略 | 资源配额 默认情况下, Kubernetes 集群上的容器运行使用的计算资源没有限制。 使用资源配额,集群管理员可以以名字空间为单位,限制其资源的使用与创建。 在命名空间中,一个 Pod 或 Container 最多能够使用命名空

    2024年02月08日
    浏览(55)
  • 什么是云计算中的资源调度,解释资源调度的挑战和算法

    在云计算中,资源调度(Resource Scheduling)指的是如何在不同类型的资源(例如计算资源、存储资源、网络资源等)之间合理地分配和调度资源,以实现高效的资源管理和任务执行。资源调度的目标是提高系统的可用性、可靠性和性能。 然而,资源调度面临着一些挑战。首先

    2024年02月04日
    浏览(37)
  • Openstack服务器平台搭建手册(基于省赛资源搭建)

    Openstack版本:Q版本(chinaskills_cloud_iaas.iso)其他版本也可 配置需求:一台交换机(能通外网的交换机,这里不做网络的配置),两台服务器(CPU,内存和硬盘等资源越大越好),装有CentOS系统的启动盘(这里使用CentOS-7-x86_64-DVD-1804.iso作为例子) 1.交换机的配置 为三层交换机

    2024年04月16日
    浏览(36)
  • 基于Java资源共享平台设计实现(源码+lw+部署文档+讲解等)

    博主介绍 : ✌ 全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精彩专栏 推荐订阅 👇🏻 不然下次找不到哟 2022-2024年

    2024年02月12日
    浏览(31)
  • Day18:信息打点-小程序应用&解包反编译&动态调试&抓包&静态分析&源码架构

    目录 小程序获取-各大平台搜索 小程序体验-凡科建站模版测试上线 小程序抓包-ProxifierBurpSuite联动 小程序逆向-解包反编译动态调试架构 思维导图 章节知识点 Web:语言 / CMS / 中间件 / 数据库 / 系统 / WAF 等 系统:操作系统 / 端口服务 / 网络环境 / 防火墙等 应用: APP

    2024年04月09日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包