我正在学习木偶,但我遇到了一个问题。我有一个木偶装置与一个木偶大师和一个木偶代理,我正在使用开源的木偶。我要建立一个名为Test的环境。目录如下/etc/puppet/environments/Test
,它具有modules
和manifests
目录。和environment.conf
文件。
我的environment.conf
包含以下行:
modulepath = $confdir/environments/production/modules
我在环境的modules
目录中创建了一个名为sample
的模块。描述了sample
模块的manifests
目录的init.pp
中一个名为sample
的类。该类用于安装一个小型软件。在环境Test的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
有人能告诉我我在哪里做错了吗。
在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