2016-02-25 26 views
1

默认情况下,site.pp是主要的清单,我注意到无论我在这个文件中输入的内容都被puppet识别。如果puppet主清单是site.pp,那么清单和模块目录中的文件将被忽略?

但是,当我尝试在清单或模块目录中创建某些内容时,puppet似乎忽略了它。

由于主要清单是site.pp,这是否意味着它会忽略这些目录中的任何内容?我是否必须在site.pp中编写一些内容才能识别其他模块或清单?

回答

1

根据我的理解,只要您的puppet.conf文件配置了“basemodulepath”值,那么您放入由该basemodulepath定义的目录中的任何内容都应该自动加载。

从那里你需要做的就是使用include,在site.pp中用你创建的模块定义你的节点。

我在付费实验室使用Puppet Enterprise,所以YMMV,但是我只是在实验室练习中做了这个,没有问题。我basemodulepath是:

basemodulepath = /etc/puppetlabs/puppet/modules:/opt/puppet/share/puppet/modules

我的路径下定义的MOTD模块:在/ etc/puppetlabs /傀儡/模块/ MOTD /,所以我的模块自动加载(它的/ etc/puppetlabs /傀儡的子目录/模块,它是配置的basemodulepath的一部分)。

现在该做,所有我需要site.pp里面做的是定义我想申请该模块的节点,包括MOTD模块:

node 'mynode_certname'{ 
    include motd 
} 

我希望这有助于你出去。