我正在学习傀儡,但我遇到了一个问题。
我有一个Puppet安装,有一个Puppet master和一个Puppet代理,我使用的是开源Puppet。
我要设置一个名为Test的环境。该目录如下/etc/puppet/environments/Test
,其目录为modules
和manifests
。和environment.conf
档案。
我的environment.conf
包含以下行:
modulepath = $confdir/environments/production/modules
我在环境的sample
目录中创建了一个名为modules
的模块。在sample
模块init.pp
目录的sample
内描述了一个名为manifests
的类。该类用于安装一个小软件。
在环境的manifests
目录中,我创建了一个文件site.pp
,它将实现模块内定义的类sample
。
我的puppet.conf
包含以下几行:
[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
prerun_command=/etc/puppet/etckeeper-commit-pre
postrun_command=/etc/puppet/etckeeper-commit-post
server=puppet.master
[master]
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY
但每当我尝试在Puppet代理中实现清单时,它都使用默认的site.pp
而不使用环境site.pp
任何人都可以告诉我我在做错的地方。
答案 0 :(得分:0)
在puppet 代理配置(通常是/etc/puppet/puppet.conf)中,将环境变量设置为Test,如下所示:
[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
prerun_command=/etc/puppet/etckeeper-commit-pre
postrun_command=/etc/puppet/etckeeper-commit-post
server=puppet.master
[agent]
pluginsync = true
report = true
ignoreschedules = true
daemon = false
ca_server = server fqdn
certname = client fqdn (signed in the server)
server = server fqdn
show_diff = true
listen = true
environment = Test