注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

itoedr的it学苑

记录从IT文盲学到专家的历程

 
 
 

日志

 
 

puppet使用技巧 — 常见设计方法、模式、技巧  

2013-07-01 10:19:34|  分类: 系统维护 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
   puppet作为集中管理工具:对于系统管理极有帮助,此处收集一些puppet使用技巧进行总结。
puppet使用技巧 — 常见设计方法、模式、技巧 - itoedr - itoedr的it学苑
 

   puppet使用有很多讲究,本文档主要归纳了常见的puppet使用技巧,主要包括如何管理整个目录、资源依赖性,数组及ERB文件语法的检验等
        本文档主要讲述puppet通用使用技巧,包括常见设计模式,技巧,方法等。

技巧一:如何管理整个目录而不用明确将目录中所有文件列出来?

类型file有一个"recurse"的属性,可以保证file将puppet master指定目录的文件递归的应用到本地。下面的例子中,整个目录"/etc/httpd/conf.d"将从master同步:

file { "/etc/httpd/conf.d":
  source => "puppet://server/vol/mnt1/adm/httpd/conf.d",
  recurse => true,
}

你也可以设定"purge => true"来清理该目录下未被puppet管理的文件。

技巧二:如何在一个文件做出任何变更后执行一个命令呢?

使用资源exec,并且将属性refreshonly的值设置为true,这样当指定文件做出变更后,就会通知exec执行命令:

file { "/etc/bind": source => "/dist/apps/bind" }

exec { "/usr/bin/ndc reload":
  subscribe => File["/etc/bind"],
  refreshonly => true
}

exec资源已经"订阅了"file资源,当file资源有任何改变时,exec就会执行。

技巧三:在创建一个用户之前,如何保证它的用户组存在?


在下面给定的例子中,我们将创建用户tim,并把他加入用户组fearme。通过使用"require"属性,我们在用户tim与用户组fearme之间建立了依赖关系:只有用户组fearme存在,用户tim才会被创建。

group { "fearme":
        ensure => present,
        gid => 1000
}
user { "tim":
        ensure => present,
        gid => "fearme",
        groups => ["adm", "staff", "root"],
        membership => minimum,
        shell => "/bin/bash",
        require => Group["fearme"]
}

注意:puppet会自动设定这个依赖关系,因此你不需要手动指定。

技巧四:如何同时与多个资源建立依赖关系?

将一个属组作为reqire属性的值。在下面例子中,我们创建了用户tim,除了设定他的主用户组为fearme外,还设定他是另外一个用户组的成员(跟上面的例子一样)。

user { "tim":
        ensure => present,
        gid => "fearme",
        groups => ["adm", "staff", "root", "fearmenot"],
        membership => minimum,
        shell => "/bin/bash",
        require => [ Group["fearme"],
                            Group["fearmenot"]
                          ]
        }


技巧五:如何用yaml的格式打印出fact?

puppet支持直接在标准输出打印出yaml格式的fact,命令如下:
# facter --yaml 

技巧六:如何检测模版的语法是否正确? 

很容易检查ERB文件的语法格式。 命令如下:

$ erb -x -T '-' -P mytemplate.erb | ruby -c
  评论这张
 
阅读(77)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017