扩展 Puppet 基础设施:模块的使用与构建
1. Puppet 模块查找机制与高效编译
Puppet 会在活动环境的所有配置模块位置中定位所需模块,例如查找 ntp 模块,会先尝试读取 ntp/manifests/server/component/watchdog.pp 文件以找到类定义,若失败则尝试 ntp/manifests/init.pp 。这种方式使编译非常高效,Puppet 能动态识别所需的清单文件并只包含这些文件进行解析,也有助于代码检查和开发,因为能清楚知道在哪里查找特定定义。
虽然理论上可以将模块的所有清单文件都放入 init.pp 中,但会失去模块清单结构化树的优势。
2. 模块的特定用途与避免泛化
每个模块理想情况下应服务于特定目的。在依赖 Puppet 管理多样化服务器基础设施的站点,可能会有针对各个服务的模块,如 apache 、 ssh 、 nagios 、 nginx 等。也可能有特定于站点的模块,如 users 或 shell_settings 。甚至为每个管理员的用户账户创建单独模块也是合理的。
要避免使用像 utilities 或 helpers 这样的泛化模块名,这类模块可能会成为各种不适合现有模块的想法的大杂烩,缺乏组织性会导致模块混乱,其中
超级会员免费看
订阅专栏 解锁全文
11万+

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



