轉載本部落格文章請注明,轉載自:小明明's à domicile ()
本文位址: http://www.dongwm.com/archives/puppet%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6%e7%bb%93%e6%9e%84%e6%a0%91%e5%8f%82%e8%80%83/
我想大多數人開始學習puppet都會對它的結構化有些迷惑,本文僅供初學puppet,以及希望對puppet更好結構化管理的同學們。很少見的一種思路:

我的整體思路是:
1 所有的配置檔案最後都要被主site.pp引用。
主線是:1 class目錄下的類.pp=>服務的主配置檔案init.pp=>引用子產品的mudule.pp
2 node檔案夾下伺服器分組node節點.pp(例如C.pp)=>node檔案夾下site.pp
3 主配置site.pp把1的mudule.pp 和2的node檔案夾下site.pp 去“ import”。
2 但是site.pp,不是唯一的,我們可以建無數的site.pp,需要在/etc/puppet/manifests目錄下
3 維護方法:
1 增加服務為子產品,在/etc/puppet/module目錄下建立檔案夾。
2 隻需要維護此子產品下的class下的檔案,配置檔案全部引用變量,在對應的node裡面“ include”類,并且申明變量值。
其中重要檔案配置(我這裡主要是ice的更新和復原):
vi manifests/node/site.pp :
import “java.pp”
import “c.pp”
vi modules/revfsserver/manifests/init.pp :
import “class/*.pp”
vi manifests/node/c.pp
node ‘client.dongwm.com’ {
$group=”dongwm”
$owner=”dongwm”
$tar=”X.tar.gz”
$homedir=”/opt/newfs/bin”
$tardir=”/opt/src”
$path=”/usr/bin:/usr/sbin:/bin”
include ice::base
include ice::update
include ice::rollback
}
vi manifests/site.pp
import “node/site.pp”
import “node/module.pp “
vi manifests/module.pp
import “ice”