19、使用 Hiera 分离数据与代码
2026/8/17 23:23:52 网站建设 项目流程

使用 Hiera 分离数据与代码

利用 Hiera 声明类

可以使用hiera_include在任何节点块之外声明类,这样数据将影响所有节点。此外,在某些特定类中,也可以通过hiera_include声明其他类,这些类名存储在不同的 Hiera 键下。

Puppet 的外部节点分类器(ENCs)最初的设想就是为每个节点枚举要包含的类。由于hiera_include函数的存在,Hiera 可以作为基本的 ENC,这通常比编写自定义 ENC 更受青睐。不过,像 Foreman 这样的开源 ENC 功能强大且使用方便,Hiera 并未完全取代 ENC 的概念。

这些工具的结合为我们提供了将清单缩减至核心部分,并通过 Hiera 优雅配置机器的方法。

清单与 Hiera 设计的选择

现在可以将大部分具体配置转移到数据存储中。类可以从清单中包含,也可以通过 Hiera 包含。Puppet 会在层次结构中查找参数值,我们可以灵活分布配置值,以最小的工作量和冗余为每个节点实现预期结果。

但这并不意味着不再编写实际的清单代码,清单仍然是设计的核心。我们经常需要使用配置数据作为输入的逻辑。例如,只有从 Hiera 中获取到特定值时,才应包含某些类:

if hiera('use_caching_proxy', false) { include nginx }

如果完全依赖 Hiera,就需要在层次结构中所有将

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询