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