本節書摘來自異步社群《puppet實戰手冊》一書中的第1章,第1.6節,作者:【英】john arundel著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視
人們希望可以盡量簡單和簡單地将puppet配置應用到主機上,是以,通常會寫一個腳本,它包含puppet apply指令和所需要的參數。要部署這個腳本到需要它的地方,除了puppet,還有什麼更好的工具嗎?
操作步驟
具體步驟如下。
1. 在puppet倉庫目錄中建立puppet子產品必需的目錄。
2. 參照下面的内容,建立modules/puppet/files/papply.sh檔案,sudo puppet apply指令應該全部寫在同一行中(修改/home/ubuntu/puppet目錄為puppet倉庫所在的目錄),内容如下:
3. 建立modules/puppet/manifests/init.pp檔案,内容如下:
4. 修改manifests/node.pp檔案,内容如下:
5. 應用這些修改。
6. 測試腳本是否工作正常。
現在,當需要運作puppet時,隻需要簡單運作papply即可。将來需要應用puppet變更時,也隻需要運作papply而不是運作完整的puppet apply指令。
工作原理
可以看到,在一台機器上運作puppet和應用指定的清單檔案,隻需要運作puppet apply指令。
<code>puppet apply manifests/site.pp</code>
使用子產品(如剛剛建立的puppet子產品)時,還需要告訴puppet去哪裡搜尋子產品,使用modulepath參數指定子產品搜尋目錄。
為了使用root權限運作puppet,必須在指令前使用sudo。
最後,通過添加$*參數,任何傳遞給papply的額外參數都會傳遞給puppet。
由于需要輸入太多字元,可以把它們寫進一個腳本以簡化操作。同時,添加一個puppet file資源,用來部署papply腳本到/usr/local/bin目錄并使其執行。
最後,需要在cookbook節點聲明中包括include puppet:
讀者可以在puppet管理其他任何節點中使用同樣的方法來部署papply腳本。