Puppet 常用命令

jopen 10年前發布 | 39K 次閱讀 Puppet

1.puppet master

puppet master 默認是以Ruby內建的WEBRick在后臺運行的守護進程,同樣也可以采用最常用的Web服務器apache和nginx替換WEBRick以提升性能.puppet master主要功能是編譯配置文件,文件,模版,節點的自定義插件.

root@10.1.1.33:nodes# puppet master --help
puppet master [-D|--daemonize|--no-daemonize] [-d|--debug] [-h|--help]
  [-l|--logdest syslog|<FILE>|console] [-v|--verbose] [-V|--version]
  [--compile <NODE-NAME>]

* --daemonize: #-D發送到后臺守護進程,默認選項

* --no-daemonize: #不發送到后臺守護進程

* --debug: #完整調試

* --help: #輸出幫助

* --logdest:  #日志發送方式,默認是syslog

* --verbose:  #顯示詳細信息

* --version: #打印puppet版本

* --compile: #以JSON的方式輸出編譯的catalog
使用--getconfig輸出默認配置文件
root@10.1.1.33:puppet# puppet master --genconfig > puppet.conf
puppet不啟用后臺守護進程的方式運行.
root@10.1.1.33:puppet master --no-daemonize --verbose


2.puppet agent

puppet agent 在每個節點以守護進程方式運行,通常每30分鐘向master請求一次,以確認新的信息并詢問是否有變更.然后負責運行編譯好的catalog代碼

root@10.1.1.34:tmp# puppet agent --help
puppet agent [--certname <NAME>] [-D|--daemonize|--no-daemonize]
  [-d|--debug] [--detailed-exitcodes] [--digest <DIGEST>] [--disable [MESSAGE]] [--enable]
  [--fingerprint] [-h|--help] [-l|--logdest syslog|eventlog|<FILE>|console]
  [--masterport <PORT>] [--no-client] [--noop] [-o|--onetime] [-t|--test]
  [-v|--verbose] [-V|--version] [-w|--waitforcert <SECONDS>]
使用"--noop"參數,puppet運行catelog,但不執行配置
root@10.1.1.34:tmp# puppet agent --noop


3.puppet apply

puppet apply 是puppet運行命令,主要在檢測manifests時或在沒有網絡連接的情況下使用.不同于puppet agent,puppet apply在運行時不會連接master

root@10.1.1.34:tmp# puppet apply --help
puppet apply [-h|--help] [-V|--version] [-d|--debug] [-v|--verbose]
  [-e|--execute] [--detailed-exitcodes] [-L|--loadclasses]
  [-l|--logdest syslog|eventlog|<FILE>|console] [--noop]
  [--catalog <catalog>] [--write-catalog-summary] <file>
(1) 將輸出信息輸出到日志文件
root@10.1.1.33:manifests# puppet apply -l /tmp/init.pp init.pp 
root@10.1.1.33:manifests# cat /tmp/init.pp 
Fri Dec 12 16:17:46 +0800 2014 Puppet (notice): Compiled catalog for puppet.domain.com in environment production in 0.04 seconds
Fri Dec 12 16:17:47 +0800 2014 Puppet (notice): Finished catalog run in 0.04 seconds


4.puppet cert

它用于管理本地證書,查看未簽名證書,簽署證書,廢除證書,清除證書.

puppet cert <action> [-h|--help] [-V|--version] [-d|--debug] [-v|--verbose]
  [--digest <digest>] [<host>]

常用操作:
clean         #清除證書
fingerprint #打印證書指紋
generate    #生成客戶端證書
list            #查看認證客戶端列表
print         #打印主機證書的全文信息
revoke      #廢除已認證的主機
sign          #簽署認證
verify        #驗證本地指定的認證

命令參數:
--all          #執行所有操作,包括'sign','clean', 'list', and 'fingerprint'
--digest     #設置證書指紋加密的方式
--debug    #啟用完整調試模式|
--verbose  #顯示詳細信息
--version   #顯示版本

(1)查看請求認證的客戶端列表

root@10.1.1.33:nodes# puppet cert list
(2)為主機agent.domin.com簽署驗證
root@10.1.1.33:nodes# puppet cert sign agent.domain.com
(3)列出所有簽名和未簽名的證書
root@10.1.1.33:nodes# puppet cert list --all
+ "agent.domain.com"  (SHA256) 3C:82:6A:E2:9B:8B:8F:8A:ED:C9:83:EB:64:47:6C:91:E5:8E:86:A6:B3:D7:1D:E5:4E:39:4D:04:5A:21:C5:86  #符號+表示已經簽署過認證
"client.domain.com" (SHA256) E3:B4:46:90:DF:85:37:77:48:BB:F9:FD:9F:13:DE:52:2F:00:1C:71:A3:BC:C2:E2:A5:34:4F:01:DB:27:02:F5
(4)給所有未簽署認證的請求頒發認證:
root@10.1.1.33:nodes# puppet cert sign --all
(5)查看所有已簽署認證的客戶端列表
root@10.1.1.33:nodes# puppet cert list --all 
+ "agent.domain.com"  (SHA256) 3C:82:6A:E2:9B:8B:8F:8A:ED:C9:83:EB:64:47:6C:91:E5:8E:86:A6:B3:D7:1D:E5:4E:39:4D:04:5A:21:C5:86


5.puppet kick

它用于連接到agent客戶端主動運行puppet agent --test命令.類似主動觸發配置



 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!