刚开始使用 Puppet,我的第一个模板遇到了问题。这应该很容易,但我无法弄清楚。
我有一个模块“基地”
/etc/puppet/modules/base/
./manifests
./manifests/service.pp
./manifests/init.pp
./manifests/params.pp
./manifests/config.pp
./manifests/install.pp
./templates
./templates/puppet.conf.erb
还有其他东西,但没必要。
基础/清单/init.pp:
class base {
include base::install, base::service, base::config, base::params
}
基地/清单/config.pp
class base::config {
include base::params
File {
require => Class["base::install"],
ensure => present,
owner => root,
group => root,
}
file { "/etc/puppet/puppet.conf":
mode => 0644,
content => template("base/puppet.conf.erb"),
require => Class["base::install"],
nofity => Service["puppet"],
}
...
基础/清单/params.pp
class base::params {
$puppetserver = "pup01.sdirect.lab"
}
最后,模板中有趣的部分位于 base/templates/puppet.conf.erb
...
server=<% puppetserver %>
错误信息:
错误:无法解析模板 base/puppet.conf.erb:在节点上的 /etc/puppet/modules/base/manifests/config.pp:13 找不到“puppetserver”的值 ...
我不明白问题是什么。我直接从 Pro Puppet 书中复制了这一部分。
有人可以告诉我应该在哪里定义 $puppetserver 以及如何定义吗?