Puppet 角色、配置文件与扩展功能深度解析
1. 配置文件(Profiles)最佳实践
在开发自己的配置文件时,有一些最佳实践值得注意,以 LAMP 栈为例进行说明:
- 设计使用 include
关键字 :配置文件的单一接口应是在相应角色部分使用 Puppet 的 include
关键字。例如,在需要安装 PHP 的节点的任何角色中,可简单编写:
include profile::programming::php
关于 Puppet 的 include
关键字:
- 允许多次声明。
- 依赖外部数据提供参数。
- 语法:接受单个类名(如 include apache
)或类引用(如 include Class['apache']
)。
- 使用子目录组织配置文件类组 :使用 puppetlabs/apache
、 puppetlabs/mysql
和 mayflower/php
等组件模块,并将它们封装到 web::apache
、 database::mysql
和 programming::php
等配置文件类中。使用合理的子目录和类名来反映它