我对默认节点有些困惑。默认节点中定义的类是否仅在没有其他节点定义时才应用,还是它们会获得默认值并应用任何其他匹配的节点定义?
例如,我有一个Linux::Admins
类,指定属于 wheel 组的 Linux 管理员。我是否需要将该类复制到每个节点定义中,或者将其放在默认节点中是否可以确保它也将被添加到明确定义的节点?
我在默认节点上没有看到太多内容,您能给我指出一些关于 Puppet 节点的优秀文档吗?我使用 Puppet 2.7。
答案1
仅当节点与任何其他节点定义不匹配时,才会应用默认节点的定义及其中的类。
看一下节点继承能够将一个类应用于所有节点,而无需将其复制到所有节点。
更好的是,看看使用 Hiera 声明你的节点,这是我推荐的方法 - Hiera 增加了很多灵活性,并且不会受到清单中的一些节点声明和继承问题的影响(最明显的是,覆盖节点上的全局设置并集成来自多个不同继承级别的类参数)。