consul 主机监控¶
https://blueprints.launchpad.net/masakari-monitors/+spec/host-monitor-by-consul
问题描述¶
通常,在一个云平台中存在管理网络、租户网络和存储网络。计算节点可能具有管理、租户和存储接口来连接到这三个网络。
目前,Masakari 主机监控使用 pacemaker 和 pacemaker-remote 来监控主机连接。实际上,它通过管理接口监控主机的心跳。一旦检测到主机的管理连接中断,它将向 masakari 发送通知,以触发主机故障恢复工作流。
这个方案存在一些缺陷,尤其是在 management 连接中断,而另外两个连接 tenant 和 storage 正常的情况下。用户仍然可以无中断地访问他们的虚拟机,因此在这种情况下无需发送主机故障通知。
提议的变更¶
此规范引入了一个新的主机监控器。具体来说,通过 consul agent 监控管理、租户和存储接口的主机连接性。
主机监控的低层架构如下所示
每个主机运行三个 consul agent,分别绑定管理、租户和存储接口。它们构成三个独立的 consul 集群。
Consul agent 在控制器节点上以服务器模式运行,而在计算节点上以客户端模式运行。
例如,通过管理连接性的 consul 集群。所有 agent 绑定管理接口,并负责运行检查和保持服务同步。
Consul 构建在 Serf 之上,Serf 提供了一个完整的 gossip 协议,用于多种目的。Serf 提供成员资格、故障检测和事件广播。Consul 使用 gossip 协议来管理成员资格。如果发现某个 agent 已断开连接,它将快速向集群广播消息。
主机监控器定期从本地 consul agent 检索所有 consul 成员的健康数据。它分别挑选出每个节点管理、租户和存储的健康状态,并将它们组合在一起。然后,它将根据 HA 策略发送通知 - 主机状态和相应的操作。将有一个配置文件供用户决定 HA 策略,默认 HA 策略如下
管理 |
tenant |
存储 |
actions |
正常 |
正常 |
中断 |
恢复 |
正常 |
中断 |
中断 |
恢复 |
中断 |
正常 |
中断 |
恢复 |
中断 |
中断 |
中断 |
恢复 |
“正常”表示连接正常。
“中断”表示连接中断。
“恢复”表示主机恢复。
用户可以根据物理环境定义 HA 策略。例如,如果只有一个管理 consul 集群,则 HA 策略将与基于 pacemaker 的现有解决方案相同。
管理 |
actions |
中断 |
恢复 |
备选方案¶
无
数据模型影响¶
无
REST API 影响¶
无
安全影响¶
无
通知影响¶
无
其他最终用户影响¶
无
性能影响¶
无
其他部署者影响¶
无
开发人员影响¶
无
实现¶
负责人¶
主要负责人
suzhengwei <sugar-2008@163.com>
工作项¶
基于 consul 的 Masakari 主机监控驱动程序
masakari 文档更新
依赖项¶
要求安装并运行 consul agent 以监控主机的管理、租户和存储连接性。
测试¶
需要单元测试和功能测试。
文档影响¶
需要更新管理员配置文档。
参考资料¶
历史¶
发布名称 |
描述 |
|---|---|
Victoria |
引入 |
Xena |
重新提出 |
瑜伽 |
重新提出 |