PuppetOpenstack 项目简介
PuppetOpenstack
项目是由 PuppetLabs 公司于 2013 年发起的开源项目,最初托管在 Github 上,半年后移入 OpenStack CI 体系。
PuppetOpenstack 最初只有 Keystone,Nova,Glance,Cinder 等几个核心项目的 modules,随后得到了 Red Hat,Cisco,Mirantis 等公司的广泛支持,在社区贡献者的持续努力下,PuppetOpenstack 项目从 Stackforge 孵化项目演变成了 OpenStack Offical 项目,目前隶属于 Openstack Goverance 项目。目前已构成了了一套庞大而复杂的部署体系。
你可以通过以下链接找到有关 PuppetOpenstack 项目的更多细节说明:
- Wiki(Out of date): https://wiki.openstack.org/wiki/Puppet
- Docs: http://docs.openstack.org/developer/puppet-openstack-guide/
为什么选择 PuppetOpenstack
PuppetOpenstack 社区对与其目标的定义如下:
to bring scalable and reliable IT automation to OpenStack cloud deployments.
目前用于部署 OpenStack 的工具已非常广泛,为什么要选择它呢?或者说从技术角度来看,OpenStack 自动化部署工具应该如何做技术选型?
笔者认为有以下三点:
第一,PuppetOpenstack 项目诞生于 2013 年,诞生时间早,参与贡献者众多,使得 PuppetOpenstack 项目非常成熟和稳定,这对于自动化运维来说是十分重要的考虑因素。
其次,2016 年 4 月出炉的 Openstack User Survey ( https://www.openstack.org/user-survey/survey-2016-q1/landing )
下图选自该份报告,统计了关于主流部署工具种类和占有率的使用统计:
值得一提的是,图中 Fuel 和 Packstack 项目的核心部署功能直接使用的是 PuppetOpenstack 项目。因此,可以理解为有近乎一半的用户选择使用 PuppetOpenstack 部署 Openstack,这对于百花齐放的开源世界来说,是非常可观而且有说服力的数字。
第三,欧洲原子能机构 CERN 使用 Puppet 管理着世界上规模最为庞大的 OpenStack 集群,总计超过了一万台服务器。这从用户角度证明了 PuppetOpenstack 可以支持大规模 Openstack 集群的部署。
OpenStack modules
现在我们先站在最高的山峰上,来看看这些伟岸的群山吧。
第一个印入我们眼帘的是 Openstack 服务相关的 modules,目前 puppetopenstack 已经支持以下服务的配置和管理:
- Alarming (Aodh)
- Key Manager (Barbican)
- Telemetry (Ceilometer)
- Block Storage (Cinder)
- DNS (Designate)
- Image service (Glance)
- Time Series Database (Gnocchi)
- Orchestration (Heat)
- Dashboard (Horizon)
- Bare Metal (Ironic)
- Identity (Keystone)
- Shared Filesystems (Manila)
- Workflow service (Mistral)
- Application catalog (Murano)
- Networking (Neutron)
- Compute (Nova)
- Load Balancer (Octavia)
- Oslo libraries (Oslo)
- Benchmarking (Rally)
- Data processing (Sahara)
- Object Storage (Swift)
- Testing (Tempest)
- Deployment (TripleO)
- Database service (Trove)
- Deployment UI (TripleO UI)
- Root Cause Analysis (Vitrage)
- Message service (Zaqar)
Tool modules
第二大山脉是工具类相关的 modules,分别有:
- Common Puppet library (OpenStackLib)
- Common Ruby helper library (puppet-openstack_spec_helper)
- Puppet OpenStack helpers (OpenStackExtras)
- Virtual Bridging (OpenvSwitch)
- Integration CI tools (Puppet OpenStack Integration)
- Blueprints (Puppet OpenStack Specs) (hosted here)
- Compliant tool (Cookiebutter)
- Sync tool (Modulesync)
Other modules
第三大块则是一些尚在开发阶段或者已经废弃的模块:
- Storage (Ceph)
- Monitoring (Monasca)
- Composition Layer (deprecated in Juno) (OpenStack)
推荐的阅读顺序
说明: 本书以 Ocata 版本为基础
如果你是第一次接触 PuppetOpenstack,推荐从 公共库和工具类模块
章节 的 puppet-openstack-integration
一节开始,这节会介绍如何使用 PuppetOpenstack 模块快速部署一个 All-in-One 的 Openstack 服务。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论