Puppet模块开发与管理:从基础到高级应用
1. 模块概述
模块是一种将代码和数据进行分组的方式,能让特定技术实现相关的代码更易于共享和复用。几乎所有的Puppet代码都会存于各类模块之中。创建模块时,需明确其职责范围,使其专注于单一任务。例如,部署LAMP或WAMP堆栈时,应将其拆分为操作系统设置、MySQL和Apache等独立模块,以提高代码复用率并降低单个模块的复杂度。
1.1 模块命名规则
模块是一个目录,命名规则与类类似,必须以小写字母开头,且只能包含小写字母、数字和下划线。与类不同的是,模块不能嵌套,也不使用 :: 符号,同时保留字和类名不能用作模块名。
1.2 模块目录结构
模块具有特定的目录结构,可让Puppet知晓各类代码和数据的存储位置,并按需自动加载。核心代码和数据存储于以下目录:
| 目录名 | 功能描述 |
| ---- | ---- |
| data | 包含模块的参数默认数据 |
| examples | 包含模块类和定义类型的声明示例 |
| files | 包含Puppet可放置的静态文件内容 |
| manifests | 包含模块的所有清单文件和提供结构的目录 |
| template | 包含Puppet代码使用的EPP和ERB模板文件 |
| tasks | 包含程序性工作的任务 |
1.3 模块插件
模块还拥有插件,可将各种自定义Puppet组件分发到Puppet服务器或代理。部分插件如下:
- lib/fact
超级会员免费看
订阅专栏 解锁全文
53

被折叠的 条评论
为什么被折叠?



