先来看下module的路径及最基本的目录结构:
[root@master modules]# puppet master --configprint modulepath 
/etc/puppet/modules:/usr/share/puppet/modules 
[root@master modules]# pwd 
/etc/puppet/modules 
[root@master modules]# tree -l 
. 
└── ssh 
    ├── files     #文件目录 
    │   └── sshd_config   #要下载的文件 
    ├── manifests      
    │   └── init.pp 
    └── templates      #模版文件 
4 directories, 2 files
查看site.pp要包含模块名
[root@master ~]# vim /etc/puppet/manifests/site.pp 
include "ssh"
查看模块内容
[root@master ~]# vim /etc/puppet/modules/ssh/manifests/init.pp 
class ssh { 
        package {"openssh-server": 
                ensure => present, 
                } 
        file {"/etc/ssh/sshd_config": 
                ensure => present, 
                owner => root, 
                group => root, 
                mode => 0600, 
                source => "puppet:///modules/ssh/sshd_config", 
                notify => service['sshd'], 
                } 
        service { "sshd": 
                ensure => running, 
                enable => true, 
                hasrestart => true, 
                hasstatus => true, 
                } 
}
上面文件可以实现:
安装openssh-server
将master端的sshd_config下载
然后重启sshd服务,并且实现开机启动
下面在客户端

Puppet 的详细介绍:请点这里
Puppet 的下载地址:请点这里
Puppet 学习系列:
相关阅读:
有关Puppet agent端三种备份恢复方案探讨研究 
选择更安全的方式注册你的Puppet节点 
通过配置SSH深刻理解Puppet的语法及工作机制 
Puppet利用Nginx多端口实现负载均衡 
CentOS(5和6)下Puppet的C/S模式实例 
