先来看下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模式实例