15、利用 Hiera 实现数据与代码分离
2026/5/30 13:08:54 网站建设 项目流程

利用 Hiera 实现数据与代码分离

1. 在清单中定义数据的后果

在 Puppet 清单中处理微观管理问题有多种方法。最直接的方法是为每个单独的节点定义一组类,示例如下:

class site::mysql_server01 { class { 'mysql': server_id => '1', … } } class site::mysql_server02 { class { 'mysql': server_id => '2', … } } … class site::mysql_aux01 { class { 'mysql': server_id => '101', … } }

这种方法维护成本高,原因如下:
- 每个单独的类可能会变得非常复杂,因为每个类都必须使用所有必需的 mysql 类参数。
- 参数之间存在大量冗余,实际上,所有节点中的某些参数是相同的。
- 各个不同的值很难发现,并且必须在整个类集合中仔细保持唯一。
- 只有将这些类放在一起才真正可行,这可能与代码库的其他组织原则冲突。

更经济的方法是通过变量传递节点之间不同的值。变量值在各自的节点块中分配:

node 'xndp12 - sql09' { $mysql_server_id = '103' include site::mysql_server }

现在类可以依赖于单独的变量值,因此

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

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

立即咨询