在puppet中设置puppet目录环境

时间:2015-11-09 12:24:44

标签: module puppet init test-environments

我正在学习傀儡,但我遇到了一个问题。 我有一个Puppet安装,有一个Puppet master和一个Puppet代理,我使用的是开源Puppet。 我要设置一个名为Test的环境。该目录如下/etc/puppet/environments/Test,其目录为modulesmanifests。和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

任何人都可以告诉我我在做错的地方。

1 个答案:

答案 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