17、Puppet 4新特性与Hiera数据分离实践
2026/5/12 4:25:06 网站建设 项目流程

Puppet 4新特性与Hiera数据分离实践

1. Puppet 4新特性
1.1 新风格与Ruby DSL的变化

Puppet 4引入了新的风格,例如:

class syslog_ng { ... } include syslog_ng

同时,Puppet 4不再支持Ruby DSL。在之前,有人会将.rb文件作为清单放在模块中,这些.rb文件包含Ruby代码,主要用于处理数据。但Puppet 4现在有了数据类型,使得这种做法变得过时,并且已经移除了对这些Ruby清单的支持。

1.2 相对类名解析

在Puppet 3及更早版本中,如果本地类名与另一个模块的类名相同,则需要指定绝对类名。例如:

# in module "mysql" class mysql { ... } # in module "application" class application::mysql { include mysql }

application::命名空间中,Puppet 3会在该命名空间中搜索要包含的mysql类,实际上application::mysql类会包含自身,这并非我们的本意。为了解决这个问题,需要指定mysql模块类的绝对路径:

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

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

立即咨询