[英]Puppet - how to apply module to puppet client node?
剛從Puppet開始,對這個世界來說真的很新。
我有
在Master中有一個模塊:
puppet module list
/etc/puppet/modules
âââ mstanislav-yum (v1.0.0)
所以我想將相同的模塊應用到我的木偶客戶端,但我不能或我不知道為什么
root@puppetclient: puppet agent --test
Info: Retrieving plugin
Info: Caching catalog for puppetclient
Info: Applying configuration version '1355737643'
Finished catalog run in 0.10 seconds
但客戶沒有任何變化: - /
任何的想法?
您還沒有聲明模塊(將其分配給您的節點)...
將其添加到site.pp:
node 'fqdn of client' {
include yum
}
然后,您可以運行puppet agent -t
來查看它的運行情況。
您可以使用以下命令查看詳細信息輸出
木偶代理--test --trace
嘗試使用Hiera和yaml文件,我認為它更靈活,組織更好。
編輯site.pp文件:
node "default" {
hiera_include('classes')
}
之后,您可以使用簡單的方法調用每個特定node.yaml文件中的類:
classes:
-class1
-class2
我在Ubuntu上使用它,工作正常。
您可以嘗試--noop模式(干運行模式)。
puppet agent --server=YOUR_PUPPET_SERVER_NAME --onetime --no-daemonize --verbose --noop
這將顯示它應該做的更改,但實際上不會改變任何東西。 刪除--noop將執行所有這些更改。
檢查doc以獲取上述命令中其他選項的說明。 http://docs.puppetlabs.com/man/agent.html
將模塊應用於節點的兩種主要方法是向site.pp
添加以下內容site.pp
node 'node <certname> (normally the fqdn)' {
require <module name>
}
要么
node 'node's <certname>' {
include <module name>
}
然后在節點puppet agent --test
require
就像include,但是它創建了依賴關系並允許多次聲明相同的類,如果你想要重疊的角色類,這是很好的。
node default { # include module_name include apache }
然后在你的木偶代理上運行以下命令。
sudo木偶代理 - 測試
如果您在另一個不是site.pp的位置添加了節點聲明(這是建議的方法),那么請記住將“import”配置添加到site.pp,它將引用節點清單。
這就是我的配置的樣子。 帶有節點DIR和site.pp文件的主要清單DIR:
drwxr-xr-x. 3 root root 4096 May 19 07:23 nodes
-rw-r--r--. 1 root root 62 Jun 4 16:31 site.pp
這是我的節點DIR中的節點聲明:
node 'fqdn of client' {
include yum
}
最后,主清單DIR中的site.pp將導入節點,如下所示:
import 'nodes/*.pp'
node default { }
您必須創建一個節點定義,其中包含要應用的類的“包含”。
跑
puppet apply -e "include mstanislav-yum"
如果你想自己運行模塊,雖然在你的site.pp清單中包含一個節點定義更常見。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.