本节书摘来自异步社区《Puppet实战手册》一书中的第1章,第1.1节,作者:【英】John Arundel著,更多章节内容可以访问云栖社区“异步社区”公众号查看
第1章 Puppet基础设施
未来计算机可能只有1000个真空管,而且只有1.5吨重。
——《大众机械》(Popular Mechanics),1949
本章内容包括:
安装Puppet
创建一个配置清单
利用Git管理配置清单
创建去中心化Puppet架构
编写papply脚本
使用cron运行Puppet
利用Rake部署变更
利用Rake引导Puppet运行
利用Git钩子自动进行语法检查
1.1 简介
本书包含一些代表着Puppet社区认同的最佳实践的实例,一些可以帮助读者在工作中更容易使用Puppet的小提示和技巧,还有介绍一些读者以前不知道的功能。虽然有些技巧操作起来比较快捷,但是本书不建议读者将其作为标准操作流程使用(这些技巧在紧急情况下是非常有用的)。最后,还有一些读者可能想尝试一下的实验性例子,但这些只用于(或适用于)大规模基础设施或不同寻常的场景。
希望通过从头至尾的阅读和思考本书介绍的方法,读者能够对Puppet是如何工作的,以及如何利用Puppet提高基础设施配置有更深、更广的理解。只有本人能判断一个特定的配置是否适合自己和自己的团队,但希望本书中的内容可以激励读者去尝试和发现更多方法、技巧。更重要的是,能够找到使用Puppet的乐趣!
Linux发行版
因为Ubuntu、Red Hat和CentOS等不同Linux发行版本在包名、配置文件路径及许多其他配置细节不同,加上篇幅的原因,最好的方法就是挑选一个Linux发行版并固定使用它。因此,本书决定采使用Ubuntu 12.04来讲解。当然,Puppet可以运行在大多数流行的操作系统上,即便使用自己喜欢的操作系统和发行版,应该也只会碰到很小的问题。
Puppet版本
在编写本书的时候,Puppet 3.2是最新稳定版本。因此,本书选择此版本做为Puppet参考版本在本书中使用。由于Puppet命令的语法会经常发生变化,因此需要注意虽然旧版本是完全可用的,但旧版本的语法有可能不支持本书中所描述的全部功能或语法。