手机版
你好,游客 登录 注册
背景:
阅读新闻

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

[日期:2013-08-13] 来源:Linux社区  作者:1413570 [字体: ]

Puppet 学习(简单的模块应用)

1.创建一个模块的目录和文件结构,,这个结构将位于/etc/puppet/modules 目录下,我们将模块命名为cron,模块名(类名)必须是普通的字符,只能包含字母、数字、下划线以及短横线
每一个模块都需要一个特定的目录结构和一个叫做init.pp 的文件,这个目录结构能帮助puppet自动载入模块。为了载入模块,puppet会检查一系列被称为模块路径的目录,模块路径是有配置文件puppet.conf中[main]段的modulepath 配置设定的,默认情况下,路径在/etc/puppet/modules下
模块结构:
mkdir -p /etc/puppet/modules/cron/{files,manifests,templates}
我们会将大多数的配置脚本文件放在/etc/puppet/modules/cron/manifests目录下, manifests是puppet的脚本目录文件目录
创建init.pp文件,init.pp文件时模块的核心,每个模块必须拥有一个init.pp文件,files目录用户存放哪些属于模块一部分的文件,templates则是放置模块可能会用到的模板

2. 配置文件
在路径:/etc/puppet/modules/cron/manifests下
Vi init.pp
###功能说明:初始化文件
      class cron {
              case $operatingsystem {
                      CentOS: {
                              include cron::base
                              include cron::crontabs
                              include cron::addcron
                              }
                      RedHat: {
                              include cron::base
                              include cron::crontabs
                              include cron::addcron
                              }
              }
}
root@SHWT11 manifests]# vi base.pp

##功能说明:安装cron包并启动服务
      class cron::base {
              package { cron:
                      name => $operatingsystem ?  {
                              Ubuntu => "cron",
                              redhat => "vixie-cron",
                              centos => "vixie-cron",
              },
              ensure => present,
      }
      service { crond:
              name => $operatingsystem ? {
                ubuntu => "cron",
                redhat => "crond",
                centos => "crond",
      },
      ensure => running,
      enable => true,
      pattern => cron,
      require => Package["cron"],  ##处理依赖关系
      }
模块是清单、资源、文件、模板、类以及定义的容器,一个模块应该包含配置一个特定的 应用程序所需的所有配置
Vi  crontabs.pp
####功能说明,安装crontabs包
      class cron::crontabs {
              package { crontabs:
                name => $operatingsystem ? {
                      redhat => "crontabs",
                      centos => "crontabs",
              },
      ensure => present,
  }
}
上面三个文件是安装cron,并确保cron 服务处于运行(running)状态
[root@SHWT11 manifests]# vi rsync_bash.pp
##功能说明:添加crontab定时任务(每天8点到晚上22点,每半小时执行一次)
class cron::rsync_bash {
      cron {bash:
      command => "/bin/bash  /root/vol_disk_check.sh",
      user => "root",
      hour => "8-22",
      minute => "*/30";
  }
}

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

Puppet 学习系列:

Puppet 学习一:安装及简单实例应用 http://www.linuxidc.com/Linux/2013-08/88710.htm

Puppet学习二:简单模块配置和应用 http://www.linuxidc.com/Linux/2013-08/88711.htm

接下来请看第2页精彩内容:  http://www.linuxidc.com/Linux/2013-08/88711p2.htm

linux
相关资讯       Puppet  Puppet配置 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款