我的传统是将所有区域序列设置为修改时的时间戳.既然Puppet是我的新宗教,我想在从导出的资源构建区域文件时设置串行时间戳.一个有点夸大的例子可能如下所示:
file { "/tmp/dafile": content = inline_template("<%= Time.now.to_i %>"),}
这种方法的问题在于内容将始终不同,这将(最终)在每个木偶配置轮询中引发区域文件的重建.
有没有什么方法可以插入时间戳而不包含在与先前状态进行比较的数据中?
解决方法
不要使用模板,如果您尝试使用序列号,则问题是您每次都要继续进行更改.
我有两个想法:
>创建一个可以通过标准API使用DNS更新管理DNS的正确类型.然后让BIND自行增加序列号.
>在DNS区域中的每个元素上使用文件片段模式,并使其在主要区域文件仅在更改时更新.你可以通过“区域刷新”执行程序来执行此操作,该执行程序将您的部件连接到包括标题的最终区域.大多数文件片段解决方案之间的区别在于您从时间戳或某些时间戳生成区域序列,只有在部件更改时才会触发,从而避免从模板中获得的常量序列号更改.
文件片段模式的一些示例如下:
http://projects.puppetlabs.com/projects/puppet/wiki/Generating_a_config_file_from_fragments