哪些内容属于 site.pp,哪些内容应该从中移出?

哪些内容属于 site.pp,哪些内容应该从中移出?

到目前为止,我已经将所有内容都放在 site.pp 中。这会导致文件变得又长又混乱。

我应该这样做,还是应该将内容从 site.pp 移到外部文件中,然后以某种方式从 site.pp 中引用这些文件?

答案1

site.pp 中的内容很少,通常有一个更好、更易于管理的地方。

  1. 各个资源(文件、服务、包、cron 条目等)都应该移动到您正在管理的每个组件/服务的类中。尝试将其尽可能分解为逻辑组件,例如apachemysql而不是lamp角色类。 (文档:语言:类
  2. 类应该移动到模块中。模块是一种包含相关类(例如apache::service使用)的方法apache,为 Puppet 提供了一种无需加载每个文件即可有效查找类的方法,并包含相关文件和模板。然后,您的 Apache 类可能位于/etc/puppetlabs/code/environments/production/modules/apache/manifests/init.pp或类似的位置。 (文档:模块基础知识
  3. 节点定义和类参数可以移至 Hiera 或节点分类器 (ENC) 中。使用 Hiera,您可能会使用hiera_include(文档:使用 Hiera 将类分配给节点)将类添加到节点,并使用常规 Hiera 数据来存储类参数(文档:自动参数查找)。 ENC 是外部脚本,可以查询您已有的任何数据源,或者由其他应用程序提供,例如领班
  4. 资源默认值可能仍保留在 site.pp 中以应用于每个节点和类。

相关内容