arongsoft 发表于 2018-8-2 10:35:46

Puppet模块(二):YUM模块及Yumrepo资源和Mount资源

# vi /etc/puppet/modules/yum/manifests/config.pp  
class yum::config{
  
include yum::params
  
include yum::config_file,yum::config_key,yum::config_repo
  
}
  
#1、定义配置文件
  
class yum::config_file{
  
file { '/etc/yum.conf':               #yum主配置文件yum.conf路径
  
    ensure=> present,               #要求文件处于存在状态
  
    owner   => 'root',                  #属主为root
  
    group   => 'root',                  #属组为root
  
    mode    => '0644',                  #文件权限为644
  
    source=> 'puppet:///modules/yum/yum.conf', #自动搜索yum模块下的files目录,因此省略/files
  
    require => Class['yum::install'],   #要求在配置之前先安装yum软件包
  
}
  
file { '/etc/yum.repos.d/centos-base.repo':#设置光盘repo的一些属性,文件名是yumrepo中的标题名定义的,必须一致
  
    ensure=> present,
  
    owner   => 'root',
  
    group   => 'root',
  
    mode    => '0644',
  
    require => Class['yum::config_repo'],      #要求设置之前yumrepo资源centos-base必须存在
  
}
  
file { '/etc/yum.repos.d/centos-puppet.repo':
  
    ensure=> present,
  
    owner   => 'root',
  
    group   => 'root',
  
    mode    => '0644',
  
    require => Class['yum::config_repo'],
  
}
  
file { '/etc/yum.repos.d/centos-163.repo':
  
    ensure=> present,
  
    owner   => 'root',
  
    group   => 'root',
  
    mode    => '0644',
  
    require => Class['yum::config_repo'],
  
}
  
}
  
#2、定义pki证书文件
  
class yum::config_key{#设置pki证书的一些属性及下载位置
  
file { $yum::params::yum_centos_pki_name: #证书名称在参数类中定义
  
    ensure => present,
  
    owner=> 'root',
  
    group=> 'root',
  
    mode   => '0644',
  
    source => $yum::params::yum_centos_pki_download, #证书下载地址在参数类中定义
  
}
  
}
  
#3、定义基本yum仓库、puppet仓库和163仓库
  
class yum::config_repo{
  
yumrepo { centos-base:                        #创建yumrepo资源cenos-base
  
    descr    => $yum::params::yum_centos_descr,   #设置描述信息
  
    baseurl=> $yum::params::yum_centos_baseurl, #设置yum源下载地址
  
    enabled=> 1,                              #激活yum源
  
    gpgcheck => 1,                              #设置要求通过pki校验
  
    gpgkey   => $yum::params::yum_centos_pki,   #设置pki文件的位置
  
    require=> Class['yum::config_key'],         #要求pki文件必须存在
  
    priority => 1,                              #设置repo的优先级为1(越小越高)
  
}
  
yumrepo { centos-puppet:
  
    descr    => $yum::params::yum_puppet_descr,
  
    baseurl=> $yum::params::yum_puppet_baseurl,
  
    enabled=> 1,
  
    gpgcheck => 0,                              #不要求通过pki校验
  
    priority => 2,
  
}
  
yumrepo { centos-163:
  
    descr    => $yum::params::yum_163_descr,
  
    baseurl=> $yum::params::yum_163_baseurl,
  
    enabled=> 1,
  
    gpgcheck => 0,
  
    priority => 3,
  
}
  
}
页: [1]
查看完整版本: Puppet模块(二):YUM模块及Yumrepo资源和Mount资源