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.confpuppet不啟用后臺守護進程的方式運行.
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命令.類似主動觸發配置