OpenStack Watcher组件分析介绍
简介
- Watcher为基于多租户OpenStack的云提供灵活和可扩展的资源优化服务。
- Watcher提供了一个健壮的框架去实现云优化目标,包括通过智能迁移虚拟机等动作减少数据中心运营成本和提高性能、能效。
结构
Watcher包括以下几个items来实现功能:
- Goals:优化实现的目标
- Strategies:实现目标的策略
- Audit Templates:选用指定的参数创建审核模板
- Audits:模板,选择审核Type,是否自动触发
- Action plans:动作计划
- Actions:每一个具体动作,包括动作type
架构
主要服务包括:
- watcher api:watcher系统给外部提供的REST API;
- Watcher decision engine:此组件负责根据需要计算一组潜在的优化动作,以实现审核的目标;
- Watcher applier:执行由decision-engine 创建的action plan。
Watcher实现流程
- 用户通过horizon或dashboard创建策略;
- watcher-api通过MQ通知watcher-decision-engine去处理优化请求;
- 通过ceilometer或者其他服务api等获取指定plan所需的数据;
- 生成此次优化的计划动作;
- 自动或由用户发起执行计划;
- watcher-api通过MQ通知watcher-appiler服务去执行计划;
- 调用其他openstack服务(nova、neutron、cinder)等去实现热迁移、关闭物理节点等动作。
Watcher 目标与策略
可以实现节省能量,虚机工作负载平衡,主机负载平衡,计算节点集群维护等功能。