puppet学习笔记(二)

在puppet安装完成之后我们就可以动手开始第一个puppet实验了,此实验就以批量推送文件为例吧。

1、获取module路径
这里的module就是指一个模块,可以把puppet想象成一个个项目的部署,有一个书城项目,那么可以创建一个名为book的module,book里面的配置文件可以针对相对应的服务器做配置。

puppet master --genconfig|grep moduepath
    modulepath = /etc/puppet/modules:/usr/share/puppet/modules

知道了module所在的路径后,就可以创建module编写pp文件了。
module的创建是有套路的,如下:

tree /etc/puppet/modules/motd
└──── motd
    ├── files  #存放文件目录
    │   └── etc
    │       └── motd
    ├── manifests  #存放模块pp配置文件目录
    │   └── init.pp
    └── templates #存放模板目录

这里motd就是一个”项目“,这个项目的作用是将motd文件推送到客户端的/etc/下。
2、编写pp文件
按上述方式创建好相应的目录和文件后就可以开始写pp文件了

cat motd/manifests/init.pp 
class motd{                 #定义一个类叫motd
  package{ 'setup':    #定义package资源
    ensure => present,  #要求setup这个包处于被安装状态
  }
  file{ '/etc/motd':  #定义file资源
    ensure  => present,  #要求file文件处于存在状态
    owner   => 'root', #要求file文件属主为root
    group   => 'root', #要求file文件属组为root
    mode    => '0644', #要求file文件权限为644
    source  => "puppet://$puppetserver/modules/motd/etc/motd", #要求file文件从puppetmaster端服务器下载
    require => Package['setup'], #要求文件被配置之前先执行package资源
  }
}

这里要注意的是,source后面写的一行路径必须是双引号,否则会报错。
3、编写site.pp文件
site.pp相当于一个全局的配置,它不负责某个模块的具体配置,而是规划哪些节点使用哪些模块,相对宏观。

cat /etc/puppet/manifests/site.pp 
$puppetserver = 'puppetmaster'
node 'agent1'{
  include  motd
}
node 'agent2'{
  include  motd
}

4、测试motd模块

posted @ 2016-09-13 23:03  没错我就是菊花侠  阅读(1004)  评论(2编辑  收藏  举报