1.puppet master
puppet master 默认是以Ruby内建的WEBRick在后台运行的守护进程,同样也可以采用最常用的Web服务器apache和nginx替换WEBRick以提升性能.puppet master主要功能是编译配置文件,文件,模版,节点的自定义插件.
[email protected]: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输出默认配置文件
[email protected]:puppet# puppet master --genconfig > puppet.confpuppet不启用后台守护进程的方式运行.
[email protected]:puppet master --no-daemonize --verbose
2.puppet agent
puppet agent 在每个节点以守护进程方式运行,通常每30分钟向master请求一次,以确认新的信息并询问是否有变更.然后负责运行编译好的catalog代码
[email protected]: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,但不执行配置
[email protected]:tmp# puppet agent --noop
3.puppet apply
puppet apply 是puppet运行命令,主要在检测manifests时或在没有网络连接的情况下使用.不同于puppet agent,puppet apply在运行时不会连接master
[email protected]: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) 将输出信息输出到日志文件
[email protected]:manifests# puppet apply -l /tmp/init.pp init.pp [email protected]: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)查看请求认证的客户端列表
[email protected]:nodes# puppet cert list(2)为主机agent.domin.com签署验证
[email protected]:nodes# puppet cert sign agent.domain.com(3)列出所有签名和未签名的证书
[email protected]: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)给所有未签署认证的请求颁发认证:
[email protected]:nodes# puppet cert sign --all(5)查看所有已签署认证的客户端列表
[email protected]: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命令.类似主动触发配置