这是关于 OpenStack 内自动化项目的系列三篇文章中的第三篇,解释了它们的作用、运作方式以及在开发准备和现场使用方面的现状。之前在第一部分中,我介绍了云部署工具,这些工具使您能够在裸机上安装/更新 OpenStack 云。在第二部分中,我介绍了工作负载部署工具。今天,我们将着眼于第二天运维的工具。
第二天运维自动化完全是为了维护和管理云基础设施和工作负载,以保持其运行。
第二天的用例包括响应硬件故障和应用程序性能下降、故障排除、被动和主动维护以及其他任务,这些任务通常枯燥乏味—我们非常希望自动化这些工作,以便我们可以将时间花在更具创造性的工作上。这是一个广泛的领域,但这里的项目才刚刚兴起。而且,与云或工作负载部署自动化不同,自动化第二天运维没有既定的模式或主要方法。
一些项目,如 Rubick、Blazar 或 Satori,正在解决特定的、狭窄的用例。另一些项目,如 Mistral 和 Congress,则有望成为通用的、跨领域的通用自动化工具。
Blazar
Blazar(前身为 Climate)是一个“OpenStack 预留即服务项目”。Blazar 管理云资源(虚拟或物理)的“租约”,安排未来资源的使用,在用户和系统之间协商租约条款,自动化分配和释放资源的过程,并提供资源消耗的可见性。
Blazar 引入了 Nova 过滤器和 Nova 的 API 扩展 (blazar-nova),使其能够感知租约概念(参见 blazar-nova)。
它目前实现了虚拟实例和物理主机的预留。凭借其可插拔的架构,对卷和其他资源的支持即将到来。
Blazar 是一个新的“相关”项目,于 2013 年在香港 OpenStack 峰会上首次宣布,现在已实现基本功能,但尚未准备好在 POC 之外使用。
Rubick
Rubick 是一种诊断工具,用于检查和验证 OpenStack 云配置的正确性和一致性,并报告任何错误或配置错误。
Rubick 自动发现 OpenStack 集群,提取 OpenStack 组件(Keystone、Cinder、Nova 等)的实际配置,并根据规则集检查它们以验证一致性和正确性。有些规则是对配置参数的简单语法检查。其他规则更复杂,并检查整个模型以查找多个 OpenStack 组件之间的语义不一致性。一个简单的 Web UI引导用户完成发现和验证过程,并报告配置错误和警告。
状态:OpenStack 相关产品。它功能齐全且完整,但开箱即用的规则集有限。为了广泛采用,Rubick 需要其他 OpenStack 项目积极贡献规则。到目前为止,这种情况尚未发生。
Satori
Satori 为现有基础设施提供配置发现。给定 URL 和一些凭据,它将发现此 URL 背后的角色和资源,弄清楚此资源与 OpenStack 云的关系(例如,它是 Nova 实例还是 Cinder 控制节点),并列出在此服务器上运行的服务。
Satori 在概念上类似于 Ohai 和 Facter 等发现工具,并且可以利用这些工具,为其添加 OpenStack 特有的功能。
随着可插拔实现被提上议程,Satori 计划发现非 OpenStack 基础设施—其他云的 API、Chef 服务器中的节点、操作系统和应用程序拓扑、运行时进程以及系统之间的关系。
Satori 是一个非常年轻的项目—它始于 2014 年,并在 2014 年 3 月刚刚进行了第一个概念验证。
Congress
Congress 是一个通用的跨领域策略管理框架,用于云。它监视云服务集以确保策略合规性,并在发现违规行为时应用纠正措施。将来,Congress 甚至会在可能的情况下从一开始就防止违规行为发生。
Congress 策略适用于应用程序、硬件、网络、安全和业务规则。通过作为一个跨领域框架,它能够处理跨领域策略,例如“连接到 VM 的每个网络都必须是 VM 所有者所在组中的某人拥有的私有网络”—涉及 Neutron、Nova 和 Keystone。
这些策略在 DataLog 语言中声明。数据提供程序用于连接云服务,获取相关数据,保持数据最新,并执行纠正措施。
为了取得成功,Congress 将需要 OpenStack 项目的支持,以便它们为策略监视和执行提供自己的钩子和插件。
Congress 是一个“相关”的 OpenStack 项目。它有一个早期实现,展示了基本架构、策略语言支持以及 Nova 和 Neutron 的基本数据源插件。
Mistral
Mistral 是一个用于 OpenStack 云自动化的工作流服务。
工作流—具有转换和条件逻辑的任务序列—以基于 YAML 的定义表示。可以按需、按计划或在监视事件时触发工作流。Mistral 以大规模、高可用性和弹性运行工作流。它执行任务操作,保持工作流状态,并在任务之间传递数据。新的改进版 DSL 和 API 第 2 版 引入了各种新功能。
Mistral 提供了一组可扩展的操作,包括 SSH、REST HTTP、电子邮件和 OpenStack 包。一个基本的 UI 可用作 Horizon 仪表板;工作流计划和执行的可视化表示正在规划中。
Mistral 的目标用户是云管理员,用于基于工作流的运维程序自动化、跨云组件、其他基础设施服务和业务流程的集成。应用程序开发人员可以将 Mistral 用作工作流服务,类似于 AWS Simple Workflow。
Mistral 也是其他需要工作流服务概念的 OpenStack 服务的平台组件。Solum、Fuel、Barbican、Murano、Keystone、Trove、Congress 以及更多服务开始与 Mistral 集成。
Mistral 是一个相关项目,并且具有功能齐全的试点版本。它计划在 Juno 周期中申请孵化。
总结
第二天运维仍然由操作员自己构建的手动和自定义的单个脚本主导。自动化不可避免地会进入企业,但运维模式仍在建立中。
通用的跨领域工具可以帮助形成这些模式—Congress 策略和 Mistral 工作流可以成为跨社区捕获和共享它们的通用方式。
随着模式的建立,我们可以期待涌现出更多的项目和解决方案,使 OpenStack 更接近完全自动化、自主、自动驾驶的云。
评论已关闭。