gpt4 book ai didi

puppet - 在 Puppet 中查找模板时遇到问题

转载 作者:行者123 更新时间:2023-12-04 19:08:10 26 4
gpt4 key购买 nike

我无法让我的 Puppet list 以我期望的方式找到模板,所以我想有人可能会有一个快速的答案。我是 puppet 的新手,所以只是想了解所有内容的所有位置以及如何正确引用文件。如果我遗漏了一些非常明显的东西,我深表歉意。

这有效:

file {
$zabbix_agent_conf:
owner => root,
group => root,
mode => 0644,
content => template("/etc/puppet/templates/zabbix/files/zabbix_agent_conf.erb"),
require => Package["zabbix-agent"];
}

这不会:
file {
$zabbix_agent_conf:
owner => root,
group => root,
mode => 0644,
content => template("puppet:///templates/zabbix/zabbix_agent_conf.erb"),
require => Package["zabbix-agent"];
}

我的/etc/puppet/puppet.conf:
[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
templatedir=/etc/puppet/templates
prerun_command=/etc/puppet/etckeeper-commit-pre
postrun_command=/etc/puppet/etckeeper-commit-post

[master]
# These are needed when the puppetmaster is run by passenger
# and can safely be removed if webrick is used.
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY

最佳答案

到目前为止,您还不能将 puppet URI 方案与模板功能结合使用。根据文档:

Note that the path to the template doesn’t use the same semantics as the path in a puppet:/// URL. Sorry about the inconsistency. (Source)



此外:

(If a file cannot be located within any module, the template function will fall back to searching relative to the paths in Puppet’s templatedir. However, using this setting is no longer recommended.) (Source)



这意味着为了使用 templatedir 模板函数需要一个简单的相对路径:
template("zabbix/zabbix_agent_conf.erb")

不建议使用模板目录。这是有充分理由的。最好在 module 的共同点下将文件组合在一起。 ,否则事情会很快变得非常困惑。将模块视为对属于彼此的所有 puppet 资源进行分组的好方法: list 、文件、模板、扩展和测试。

所以我建议创建一个 zabbix 模块。将您的 puppet 代码放在 zabbix 模块 list 目录中的 init.pp 内的 zabbix 类中。然后你可以将你的模板放在你的 zabbix 模块的模板目录中,你可以通过以下方式引用它:
template("zabbix/zabbix_agent_conf.erb")

希望这可以帮助。祝你好运!

关于puppet - 在 Puppet 中查找模板时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19364126/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com