使用云部署工具的 OpenStack 自动化

尚无读者喜欢此文。
putting the pieces together

Opensource.com

在云世界中,座右铭是“自动化一切”。 毫不奇怪,随着 OpenStack 扩展其范围,自动化项目正在其中涌现。 但是,这些项目的种类和数量仍然令人惊讶:超过二十个!

这是一个由三篇文章组成的系列文章的第一部分,调查 OpenStack 内的自动化项目,解释它们做什么,如何做以及它们在开发准备和现场使用方面的立场。 其中一些项目,例如用于工作流即服务的 Mistral(完全披露:我作为 StackStorm 的 CTO 帮助推动该项目)和用于配置的 Compass(来自华为),也旨在帮助非 OpenStack 环境。

我在本系列文章中的目标是提供一个高层次的概览,激发您的好奇心,并为您提供深入挖掘更多细节的指针。

首先,让我们澄清一下“在 OpenStack 内”意味着什么。 一个项目通常从“相关”到“孵化”再到“集成”。 在所有情况下,无论它们达到了哪个验收阶段,OpenStack 项目都以类似的方式进行管理。 例如,在我将在本次调查中回顾的每个项目案例中:代码是用 Python 编写的,托管在 StackForge 上,并且代码本身遵循 OpenStack 结构和约定。 此外,提交审查流程都共同使用了 Gerrit/Jenkins/Zulu,所有这些项目都包括 Tempest 集成和 DevStack 集成。 此外,项目管理在 Launchpad 上完成,文档在 wiki 上,开放式通信通过 openstack-dev 邮件列表等实现。 底线是,当您看到 OpenStack 项目时,您就知道它是一个 OpenStack 项目。

以下是我认为属于 OpenStack 自动化项目的自动化项目。 我将项目分为三类并依次进行审查。 今天,在第一部分中,我将介绍云部署工具,这些工具使您能够在裸机上安装/更新 OpenStack 云。 在以后的文章中,我将研究工作负载部署的自动化——配置虚拟机、VM 组和/或应用程序,以及自动化“第 2 天管理”——保持云和工作负载正常运行的工具。

云部署工具

闲话少说,让我们看看云部署工具。 云部署工具处理 OpenStack 组件的配置——构建 OpenStack 云。 毫不奇怪,这些工具往往相对成熟且应用广泛,因为通常需要自动化的第一件事就是 OpenStack 本身的部署。

Fuel

“用于安装和管理 OpenStack 的控制平面。”

最初是 Mirantis 的专有解决方案,Fuel 现在是开源的,并贡献给了 OpenStack。 Fuel 是 Puppet、MCollective 和 Cobbler 之上的一个编排层,它编纂了 Mirantis 的 OpenStack 部署最佳实践。 与此类别中的其他工具一样,它进行硬件发现、网络验证、操作系统配置和 OpenStack 组件的部署。 Fuel 的独特功能是抛光且易于使用的 Web UI,这使得 OpenStack 安装看起来很简单。

Fuel 于 2013 年首次发布,现在是 OpenStack “相关”项目。 我们在现场看到了很多 Fuel。 OpenStack 新手通常在他们的概念验证中选择 Fuel,被其易用性所吸引,以便启动并运行他们的云。 此外,Mirantis 的顾问将 Fuel 带入了一些大型生产部署中。 现在,它是 Mirantis OpenStack 发行版的一部分,该发行版是可用的几个领先发行版之一。 然而,由于 Fuel 只是“相关”,因此它不像集成项目那样完全上游。 因此,您可能在非 Mirantis 发行版或 OpenStack 源代码本身中找不到 Fuel。

Compass

Compass 是一个开源项目,旨在为一组裸机机器提供“部署即服务”。”

Compass 是另一个 OpenStack 部署工具,由华为为其特定需求而开发,并在 2014 年 1 月作为 OpenStack 相关项目开源。 Compass 开发人员将其定位为一个简单、可扩展的、数据驱动的部署平台,并且不限于 OpenStack。 通过插件层,它利用其他工具进行硬件发现、操作系统和虚拟机管理程序部署以及配置管理。

Compass 是一个“相关”项目。 虽然它显然足够成熟,可以供华为内部使用,但即使它被定位为在 OpenStack 之外也很有用,但我们还没有看到它在华为以外运行。

TripleO

TripleO 使用 OpenStack 自身的云设施安装、升级和操作 OpenStack 云。 是的,“需要 OpenStack 来部署 OpenStack。”

本质上,TripleO 是一个专用的 OpenStack 安装,称为“底层云”,用于在裸机上部署其他 OpenStack 云——“上层云”。

期望的上层云配置在 Heat 模板中描述,部署由 Heat 编排。 节点在裸机上使用 Nova bare metal (Ironic) 进行配置:它通过 PXE 启动机器并安装带有 OpenStack 组件的映像。 映像是使用 disk-image builder 从映像元素动态生成的。

运营商喜欢使用熟悉的 OpenStack 工具:Keystone 身份验证、Horizon 仪表板和 Nova CLI,在硬件上部署和操作 OpenStack 云,就像他们部署和操作虚拟环境一样。

TripleO 的目标是超大规模部署(他们说小型部署可以通过其他工具解决),以进行持续集成和部署多个不断发展的 OpenStack 云。

TripleO 是一个正式的“集成”项目。 凭借在 OpenStack 社区中最强大的吸引力以及 HP、Red Hat 和其他重要公司的支持,它已将自己确立为长期的发展方向。 TripleO 的就绪状态令人费解:一方面,HP Helion 正在使用它。 另一方面,wiki 和文档声明它是“功能性的,但仍在发展中”。 我还没有看到它在生产中部署,这可能会在 Kilo 周期(2015 年春季)发生变化。

其他工具

  • DevStack 以其易于启动完整的 OpenStack 云进行开发或试用而闻名。 它不适用于生产环境!
  • OpenStack 下的其他较小的部署相关工具
    • PackStack:一个实用程序,它使用 Puppet 模块通过 SSH 在多个预安装的服务器上自动部署 OpenStack 的各个部分。 令人惊讶的是,它被广泛使用:根据 OpenStack 使用情况调查,它在 Puppet、Chef 和 DevStack 之后排名第 4。
    • Warm:提供从 YAML 模板部署 OpenStack 资源的能力。
    • Inception:OpenStack 中的 OpenStack,用于测试和试用。
    • Anvil:DevStack 版本,用 Python 编写,并由 Yahoo 支持。

总结

自动化 OpenStack 裸机配置是一个相当完善地解决的问题。 除了上面描述的 OpenStack 工具之外,还有许多在我们定义的“OpenStack 保护伞”之外的工具,特别是 Crowbar,第一个 OpenStack 专用部署工具。 现在唯一的挑战是从一堆显然不错的工具中选择一个您喜欢的工具。 此处提供了对这些工具的出色深入比较 here

如果您选择从 OpenStack 发行版经销商处购买发行版支持——而且有很多这样的经销商——他们很可能会在发行版中包含这样的解决方案,并且当然会使用该工具来快速有效地交付部署。

我不想偏袒任何一方,但 TripleO 的范围和快速进展尤其令人印象深刻。

它仍在发展中,但 OpenStack 社区正在围绕它进行整合,有时像 Red Hat 和 HP 这样的竞争对手也在有效地合作。 TripleO 为那些认真对待更大规模部署的运营商解决了一系列重要问题。 我们希望看到它在我们的用户中得到广泛使用,这些用户往往是较大的私有云和公共云运营商,无论他们是 SaaS、企业还是服务提供商。

接下来:在第二部分中,我将介绍用于自动化工作负载部署的 OpenStack 项目。 我欢迎并衷心感谢您的反馈和评论,您可以在下方或在我们的 Twitter 帐户 @stack_storm 上留言。 我们还将于 10 月 14 日在 StackStorm 办公室举办一次聚会,讨论 OpenStack 自动化。 加入我们并在此处注册 here

User profile image.
Dmitri 是 StackStorm 的 CTO 兼联合创始人。 Dmitri 的功劳包括在担任 Opalis 的首席架构师和工程主管期间,帮助领导了第一波运营自动化浪潮。 Opalis 在 2009 年被微软收购之前发明了“运行手册自动化”,现在是 System Center Orchestrator。

评论已关闭。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.