定義模塊管理node
*模塊是puppet的配置單元,模塊裏面會包含類和資源。同步文件、遠程執行命令、cron等叫作資源,都是經過模塊來實現的。下面咱們來寫一個模塊vim
*服務端建立目錄 服務器
mkdir /etc/puppet/modules/testm這個目錄名字能夠隨便定義,做爲模塊名字。而後繼續建立模塊對應的子目錄 mkdir /etc/puppet/modules/testm/{files,manifests,templates}file裏面存文件,能夠留空,manifests裏面是配置文件,templates裏面是模塊文件,能夠爲空ide
*建立配置文件server
vim /etc/puppet/modules/testm/manifests/init.pp資源
vi manifests/init.pp //內容以下同步
class testm{it
file {"/tmp/2.txt": #送往客戶端的文件名,屬性和內容來源ast
owner => "root",class
group => "root",
mode => 0400,
source => "puppet://$puppetserver/modules/testm/1.txt"
}
}
說明:類名字也叫作testm, 類下面定義了一個資源file,文件名字叫作/tmp/2.txt ,owner,group,mode定義文件的屬主、屬組以及權限,source定義這個文件從哪裏獲取。 $puppetserver一會也要定義一下,這裏指的是puppet server服務器上/etc/puppet/modules/testm/files/1.txt
*下面要繼續定義一個很關鍵的配置文件:
vim /etc/puppet/manifests/site.pp //內容以下
$puppetserver = 'master.wyp.com' #定義模塊配置文件中的變量
node 'client.wyp.com'{
include testm
}
說明:$puppetserver 定義服務端的主機名,node後面爲客戶端的主機名,這裏面定義該客戶端要加載的模塊
配置完成後,在客戶端執行命令:
puppet agent --test --server=master.wyp.com //若是客戶端上啓動了puppet服務,不用執行這命令,它也會自動同步的