深入理解OpenStack自动化部署
  • 前言
  • 初识PuppetOpenstack
    • 相关约定
    • 术语表
    • PuppetOpenstack项目简介
  • Puppet开发基础
    • 关于Puppet
    • Puppet核心概念
    • 理解Hiera
    • 准备开发测试环境
  • OpenStack基础服务模块
    • puppet-apache模块
    • puppet-memcached模块
    • puppet-sysctl模块
    • puppet-rsync模块
    • puppet-xinetd模块
    • puppet-rabbitmq模块
    • puppet-firewall模块
    • puppet-mysql模块
    • puppet-vcsrepo模块
    • puppet-mongodb模块
    • puppet-ceph
  • Openstack服务模块
    • OpenStack模块代码结构
    • puppet-keystone模块
    • puppet-nova
    • puppet-neutron
    • puppet-glance
    • puppet-horizon
    • puppet-ceilometer
    • puppet-cinder
    • puppet-tempest
    • puppet-heat
    • puppet-swift
    • puppet-trove
    • puppet-sahara
    • puppet-manila
    • puppet-rally
    • puppet-designate
    • puppet-aodh模块
  • PuppetOpenstack公共库和工具类模块
    • puppet-oslo
    • puppet-vswitch模块
    • puppet-openstacklib
    • puppet-openstack-integration
    • puppet-openstack-specs
    • puppet-openstack-cookiebutter
    • puppet-modulesync-configs
    • puppet-openstack_spec_helper
    • puppet-stdlib
    • puppet-openstack_extras
  • 最佳实践
    • 模块管理
    • Hiera
    • 提交规范
    • 正确使用环境
    • 转发层规范
    • 代码风格
    • Standalone vs C\/S 模式
    • Puppet版本的选择
    • Puppet4的新特性和变化
    • Puppet的能与不能
  • 其他部署工具
    • Fuel
    • Kolla
    • TripleO
    • Packstack
    • OSA
    • DevStack
    • 编写一个定制化部署工具
  • 结语
Powered by GitBook
On this page
  • 为什么选择PuppetOpenstack
  • OpenStack modules
  • Tool modules
  • Other modules
  • 推荐的阅读顺序

Was this helpful?

  1. 初识PuppetOpenstack

PuppetOpenstack项目简介

Previous术语表NextPuppet开发基础

Last updated 6 years ago

Was this helpful?

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):

  • Docs:

为什么选择PuppetOpenstack

PuppetOpenstack社区对与其目标的定义如下:

to bring scalable and reliable IT automation to OpenStack cloud deployments.

目前用于部署OpenStack的工具已非常广泛,为什么要选择它呢?或者说从技术角度来看,OpenStack自动化部署工具应该如何做技术选型?

笔者认为有以下三点:

第一,PuppetOpenstack项目诞生于2013年,诞生时间早,参与贡献者众多,使得PuppetOpenstack项目非常成熟和稳定,这对于自动化运维来说是十分重要的考虑因素。

其次,2016年4月出炉的Openstack User Survey ()

下图选自该份报告,统计了关于主流部署工具种类和占有率的使用统计:

值得一提的是,图中Fuel和Packstack项目的核心部署功能直接使用的是PuppetOpenstack项目。因此,可以理解为有近乎一半的用户选择使用PuppetOpenstack部署Openstack,这对于百花齐放的开源世界来说,是非常可观而且有说服力的数字。

第三,欧洲原子能机构CERN使用Puppet管理着世界上规模最为庞大的OpenStack集群,总计超过了一万台服务器。这从用户角度证明了PuppetOpenstack可以支持大规模Openstack集群的部署。

OpenStack modules

现在我们先站在最高的山峰上,来看看这些伟岸的群山吧。

第一个印入我们眼帘的是Openstack服务相关的modules,目前puppetopenstack已经支持以下服务的配置和管理:

  • 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服务。

(Aodh)

Alarming
https://wiki.openstack.org/wiki/Puppet
http://docs.openstack.org/developer/puppet-openstack-guide/
https://www.openstack.org/user-survey/survey-2016-q1/landing