puppet子命令介绍
puppet子命令介紹
# puppet -V ? ? ? ? ? ? ? ?//查看puppet的版本
# puppet help ? ? ? ? ? ? ?//查看puppet支持的一些子命令
# puppet agent --configprint confdir ?//查看配置文件的目錄
1、puppet master
# puppet help master ? ? ? //查看master的常用參數
通過puppet master與參數方式啟動puppet守護進程的方法如下
# puppet master --verbose --no-daemonize?
2、puppet agent
# puppet help agent ? ? ? //查看agent的常用參數
通過puppet agent后接test參數的方式來訪問master獲取配置信息
# puppet agent --server=monitor.comratings.com --test
下面是agent請求配置信息之后matser顯示的信息
3、puppet cert是管理puppet的證書簽名的命令
具體的詳細我們可以查看puppet help cert,下面簡單列舉幾個,通過英文意思大家應該都明白。
# puppet cert list
# puppet cert sign vpn.comratings.com
# puppet cert sign --all
還有一種相對安全的簽名方式,即“預簽名方式”,也就是管理員提前將簽名證書文件生成后推送到agent機器上,通過puppet cert --generate后接HOSTNAME的方式來預生產簽名證書。命令如下:
# puppet cert --generate example.comratings.com
這里它會預生成example.comratings.com,包括agent的私鑰,agent的證書和CA的證書,具體如下:
/var/lib/puppet/ssl/certs/example.comratings.com.pem
/var/lib/puppet/ssl/certs/ca.pem
/var/lib/puppet/ssl/private_keys/example.comratings.com.pem
把上面3個證書文件傳到agent上面就可以了,這個對批量接入puppet相對安全一些。
4、puppet apply是一個單獨執行代碼的工具
我們創建一個test.pp文件
# vim test.pp
?notify{"hello world":}
# puppet apply test.pp
我們還可以通過puppet apply工具的execute參數直接調用puppet代碼片段,具體如下:
#?puppet apply --execute "notify{'hello world': }"
5、puppet module是puppet的基礎模塊工具
? ? 它包含下載、更新、查找、升級、創建基礎模塊等功能,它可以從puppet forge上查找已經開發好的puppet基礎模塊代碼來為我們所用,以減少運維工程師的重復勞動。
? ? 首先通過search參數查找在puppet forge中的apache相關基礎模塊,具體命令如下:
#?puppet module search apache
通過install參數可以安裝需要的模塊,并通過version參數指定版本信息,具體命令如下:
#?puppet module install puppetlabs-apache
卸載
#?puppet module uninstall puppetlabs-apache
安裝好的基礎模塊會根據master的主配置文件puppet.conf中的modulepath參數將基礎模塊放到指定的目錄中,默認路徑是/etc/puppet/modules。
6、puppet resource是資源抽象層的shell
通過它可以將當前系統狀態轉換為puppet的代碼,下面我們把系統root的帳號轉換為puppet的代碼
# puppet resource user root
下面我們通過puppet命令來修改root賬戶的shell,把bash改為sh
#?puppet resource user root > change.pp
# vim change.pp
把里面的/bin/bash改為 /bin/sh
通過puppet apply來應用change.pp文件中的內容
#?puppet apply change.pp
這時puppet會將系統帳號root的shell改為sh。
7、puppet describe是puppet資源幫助文檔
它可以顯示資源的使用方法、格式和案例,資源是puppet的核心,在為puppet定義一個資源時,需要為其指定所屬的類型和資源標題,并同時配置一系列的屬性和對應的值。puppet通過其特有的語言來描述和管理資源,如下面所示的資源定義。
| 1 2 3 4 5 6 7 8 | ????user?{?'test': ??????ensure?????=>?present, ??????uid????????=>?'601', ??????gid????????=>?'601', ??????shell??????=>?'/bin/bash', ??????home???????=>?'/home/test', ??????managehome?=>?true, ????} |
這種語法被稱作“資源申報(resource declaration)”,它是puppet語言的核心組成部分。上述的定義中,僅描述了資源的目標狀態而沒有提到為達成目標所需要采取的任何步驟。而資源定義的核心也可以抽象為type、title、attribute和value四個部分。
puppet有許多內置的資源類型,而通過安裝插件還可以繼續新增額外的類型。可以通過puppet官方的類型參考頁面(http://docs.puppetlabs.com/references/latest/type.html)獲取詳細的信息。也可以使用“puppet describe”命令來獲取puppet當前所支持的類型列表及每種類型的詳細信息,下面給出了一個簡要的使用說明。
? puppet describe -l:例如puppet支持的所有資源類型及其描述信息;
? puppet describe -s <TYPE>:列出指定資源的簡要說明;
? puppet describe <TYPE>:顯示指定資源的詳細說明;
# puppet describe --list
這里顯示了很多的資源,上面剛剛打印過用戶root有哪些資源,這里我們詳細的查看一下就可以使用,因為內容過多,我這里就不詳細的顯示了。
#?puppet describe user
如前所述,資源是puppet用于模型化系統配置的基礎單元,每個資源都都從某個角度描述了系統屬性,如某程序包必須安裝或某用戶必須移除等。在puppet,用于完成此類功能的代碼也即“資源申報”。
? ? type {'title':
? ? ? attribute => value,
? ? }
在定義時,資源類型必須使用小寫字符;而資源名稱僅是一個字符串,但要求在同一個類型中其必須惟一,這意味著,可以同時有名為nginx的“service”資源和“package”資源,但在“package”類型的資源中只能有一個名為“nginx”。
尚未完成,參考:http://docs.puppetlabs.com/puppet/latest/reference/lang_resources.html
8、puppet doc是一個將puppet代碼中的注釋轉換為文檔的工具
運維工程師在管理配置服務時要將整個服務器配置過程轉換為puppet能識別的代碼,代碼中可以書寫配置的注釋,那些剛接手配置管理的信任,對很多puppet的配置還是比較生疏的,所以需要一個幫助文檔讓查詢變得更方便。
假設我們要在change.pp文件內進行注釋,通過#來增加注釋,具體如下:
通過puppet doc命令來生成puppet代碼的html手冊,具體生成情況請查看幫助puppet help doc
#?puppet doc --outputdir /tmp/rdoc --mode rdoc /path/to/manifests
9、puppet parser 主要用于.pp文件語法檢查
# puppet help parser
本文轉自 wzlinux 51CTO博客,原文鏈接:http://blog.51cto.com/wzlinux/1712418,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的puppet子命令介绍的全部內容,希望文章能夠幫你解決所遇到的問題。