Puppet之class模块案例

先来看下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之class模块案例

Puppet 的详细介绍请点这里
Puppet 的下载地址请点这里

Puppet 学习系列:

Puppet 学习一:安装及简单实例应用

Puppet学习二:简单模块配置和应用

相关阅读:

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/eb5a6e1cdc01de93e9a8b89ecf1eb6aa.html