我想通过 puppet 将一些配置文件推送到我的所有服务器。所有服务器的文件几乎相同,但有一个变化 - 主机名。
我已经在 Puppet 中使用清单和临时配置文件创建了模块。我将其包含到所有节点。一切正常。
我的问题是:我如何将该文件推送到所有服务器,并在该文件中更改一两行。但我不想在所有模块中设置配置文件。我想使用一个文件,并在推送过程中更改两行。
谢谢你的帮助。
最好的,
拉法尔
答案1
我会使用模板。将文件资源设置为使用内容而不是源:
content => template("mymodule/temp-conf-file.erb"),
然后让模板替换主机名。模板将位于模块的 templates 子目录中:
# This file is managed by puppet
... random config stuff ...
hostname = <%= hostname %>
您也可以使用 fqdn 或其他内容。
官方文档:https://puppet.com/docs/puppet/latest/lang_template.html