使用 Puppet 配置云应用
1. Puppet 触发脚本
在云环境中,我们可以使用trigger-puppet脚本作为简单的包装器来更新所有 Puppet 代理。以下是trigger-puppet脚本的内容:
#!/bin/sh /usr/local/sbin/invoke-rcmd trigger-puppet 'sudo puppet agent --test'invoke-rcmd脚本必须是rcmd模块收集端的一部分,其定义如下:
class rcmd::invoke { file { '/usr/local/sbin/invoke-rcmd': … } }这个类应该由rcmd::command定义包含,这样任何导入远程命令的节点也会收到该脚本。invoke-rcmd脚本的内容如下:
#!/bin/sh TITLE="$1" COMMAND="$2" KEY=/root/.ssh/id_rsa.rcmd for REMOTE in `cat /etc/rcmd/${TITLE}.d/*` ; do ssh -i $KEY $REMOTE "$COMMAND" done