Masakari 与 OpenStack-Ansible 集成¶
- 日期:
2018-03-22 14:00
- 标签:
openstack, masakari, masakari-monitors
Masakari 为 OpenStack 云提供虚拟机高可用性 (VMHA) 服务,通过自动从故障事件中恢复基于 KVM 的虚拟机 (VM),例如 VM 进程崩溃、置备进程崩溃和 nova-compute 主机故障。它还提供 API 服务,用于管理和控制自动恢复机制。Masakari 服务由以下组件组成
masakari-api: 一个 OpenStack 原生的 REST API,通过
masakari-engine通过 远程过程调用 (RPC) 处理 API 请求。masakari-engine: 处理从
masakari-api接收到的通知,以异步方式执行恢复工作流。masakari-monitors: Masakari 监控器为 OpenStack 云提供虚拟机高可用性 (VMHA) 服务,通过自动检测故障事件(例如 VM 进程崩溃、置备进程崩溃和 nova-compute 主机故障)来实现。如果检测到这些事件,它会将通知发送到 masakari-api。
本文档概述了将 Masakari 与 OpenStack-Ansible 集成的步骤。
问题描述¶
Masakari 为 OpenStack 云提供实例高可用性服务,通过自动恢复故障实例来实现。但是,它需要手动与 OpenStack-Ansible 一起安装。目前没有角色来像部署其他服务一样部署它。
提议的变更¶
拟议的更改包括
从 https://github.com/NirajSingh90/openstack-ansible-os_masakari 导入 Masakari 的概念验证角色到
openstack-ansible-os_masakari遵循开发人员文档中描述的常用路径。
备选方案¶
没有替代方案。
Playbook/Role 影响¶
这是一个添加到 OpenStack-Ansible 的新功能。目前尚不存在任何角色。因此,需要从头开始编写新的角色 openstack-ansible-os_masakari。
升级影响¶
由于这将是拟议更改的首次实现,因此不会产生升级影响。
安全影响¶
没有安全影响。
性能影响¶
没有性能影响。
最终用户影响¶
最终用户将能够在 OpenStack-Ansible 中将 masakari 作为一项服务使用。
部署者影响¶
部署者需要启用 Masakari 部署才能选择使用它。Masakari 不会默认部署。
开发人员影响¶
没有影响。
依赖项¶
通过结合使用 Corosync 和 Pacemaker,OpenStack Masakari 创建一个服务器集群,检测并报告集群中主机的故障。因此,masakari 依赖于 Corosync 和 Pacemaker。
我们将重用 corosync 和 pacemaker 的外部角色,而不是重复造轮子,例如在 https://github.com/leucos/ansible-pacemaker-corosync 中找到的那个。
实现¶
负责人¶
- 主要负责人
Niraj Singh (IRC: niraj_singh)
工作项¶
Masakari 在 OpenStack-Ansible 中不可用作为一项服务。目前尚不存在任何角色。将从头开始开发一个新角色,符合社区设定的标准。它将添加到 https://github.com/openstack/openstack-ansible-os_masakari
注意:Masakari 角色将安装以下服务:masakari-api masakari-engine masakari-processmonitor masakari-hostmonitor masakari-instancemonitor
masakari-processmonitor、masakari-hostmonitor 和 masakari-instancemonitor 将仅安装在 nova-compute 节点上
测试¶
将开发测试以确保 Masakari 的部署正常工作。Masakari 没有 tempest 测试,因此我们将从测试 API 响应代码开始。Masakari-monitor 和 Masakari-engine 服务的测试将在未来使用第三方 CI 测试添加。
文档影响¶
由于这将是添加到 OpenStack-Ansible 的新功能,因此需要对其进行文档记录,解释所有配置参数。
参考资料¶
Masakari 概述
Masakari 开发人员/操作员文档