Mainfests里面必须要包含一个init.pp文件,这是该模块的初始文件,导入一个模块的时候,会从init.pp开始执行。可以把所以的代码写到init.pp文件里面,也可以分成多个pp文件,init再去包含其他文件,定义class类名的时候必须是ssh,这样能实现调用
Files目录是该模块的文件发布目录,puppet提供一个文件的分发机制,类似rsync的模块
Templates目录包含erb模型文件,这个和file资源的template属性有关(很少用)
Master端:
1) 创建需要的必要的目录
此时/etc/puppet/modules/ssh/目录下结构:
2) 创建模块配置文件install.pp
输入一下信息:
3) 创建模块配置文件config.pp
输入一下信息:
4) 创建模块配置文件service.pp
输入一下信息:
5) 创建模块主配置文件init.pp
输入一下信息:
此时/etc/puppet/modules/ssh/manifests目录下有四个文件:
6) 建立服务器端ssh统一维护文件
由于服务器端和客户端的sshd_config文件默认一样,此时将服务器端/etc/ssh/sshd_config复制到模块默认路径
7) 创建测试节点配置文件,并将ssh加载进去
输入一下信息:
8) 将测试节点载入puppet,即修改site.pp
输入一下信息:
9) 修改服务端维护的sshd_config配置文件
10) 重新启动puppet
2. 客户端主动拉取