怎么解析Puppet 2.6.x新功能

55次阅读
没有评论

共计 2222 个字符,预计需要花费 6 分钟才能阅读完成。

本篇文章给大家分享的是有关怎么解析 Puppet 2.6.x 新功能,丸趣 TV 小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着丸趣 TV 小编一起来看看吧。

Puppet 是开源企业系统管理工具,它在 Puppet  2.6.0 发布版 (及包括最近的 2.6.5 在内的后续版本) 中已经加入了大量新功能。2.6.x 系列版本将以多种方式成为 Puppet 的下一代,包括通过移动版本数里的小数点 (从 0.25 到 2.6.x 系列) 来使版本数正常化。在该技巧中,我们将强调它们的新功能并列举一些它们如何工作的例子。

首先,新版本标志着对 Puppet 初始 XMLRPC 连接的反对及对更快的 RESTful  API 的支持。这样做的结果是 Puppet 性能提高,与之进行的整合也更容易。

支持 Ruby DSL

另一个新功能是新的 Ruby  DSL(域特定语言)。Puppet 有一个可用来管理配置的现在 DSL,但 2.6.0 添加了对纯 Ruby 版本 DSL 的支持。在现在的 DSL 中,你可以创建一项受管理的资源:

class host {
file { “/etc/hosts”:
mode =  0750,
owner =  root,
}

在新 Ruby DSL 中,你可以用如下方式表示:

hostclass :host do
file “/etc/hosts”, :mode =  0750, :owner =  “root”end

如果你已经熟练掌握 Ruby,在你有 Ruby  DS 的清单中,你还可以用 Ruby 代码执行任务。举例来说,你可以从你清单中的其它源里管理数据或检索数据,如从 MySQL 数据中检索数据并把它用到 Puppet 资源里:

require  rubygems 
require  mysql 
hostclass :packages do
con = Mysql.new(localhost ,  user ,  password ,  cmdb)
pkgs = con.query(select * from packages)
pkgs.each_hash { |p| package p[ name], :ensure =   latest  }
con.close
node  default  do
include  packages 
end

Puppet 语言中的新功能

Puppet 语言本身也有一些新功能,包括用哈希值 (Puppet 已经了解阵列) 的能力和添加到现有 if/else 条件中的 elsif 结构。

if $foo ==  lsquo;bar rsquo; {include baz} else {include qux}

现在 Puppet 允许更多如下的完全 if/elsif/else 句法:

if $foo ==  lsquo;bar  {include baz} elsif $qux ==  hum  {include valve} else {include box}

此外,Puppet 现在支持“阶段”的概念,这意味着你可以向你的清单中添加更粗略的命令。如果在特定命令中有配置需要,这对管理分程序很有用。例如,开启主机需要的所有步骤可能发生于主机上的应用配置之前。Puppet 创建一个叫做“main”的默认阶段。你可以创建其它阶段并指定它们发生的命令:

stage { [pre, post]: }
Stage[pre] -  Stage[main] -  Stage[post]

这些代码规定两个阶段:pre 和 post。它接着指定执行命令,先是 pre,然后是 main,接着是 post。接着我们可以针对特定阶段中的执行向该阶段中添加资源和类别,例如:

class {
 keys : stage =  pre;
 dns : stage =  main;
 web : stage =  post;
}

审计配置选项

另一个新发展是 Puppet 审计配置的概念。在你运行 Puppet 之前你只有两种模式:

middot; 执行,它在主机上做实际变更。

middot; 模拟或“等待”模式,其中 Puppet 告诉你它将会做哪些变更但并不会真正做这些变更。

如果你只想了解知道配置状态,新审计功能允许你指定配置。你可以指定配置,如在目录中追踪文件所属权,告知 Puppet 注意这些文件并发送报告显示它们随时间的状态变化。举例来说,你可以审计 `/etc/hosts` 文件。Puppet*** 次运行文件时会报告它的特性 mdash; mdash; 它归谁所有,许可,等等。在每一次的连续性运行时,Puppet 会检查现有状态并报告与之前相比的所有不同情况,例如,如果文件所有人改变,会产生一条日志信息:

审计变更:前记录值所有者 root 变成了所有者 james

这个功能让你可以复制一些有审计功能的工具,如有 Puppet 的 Tripwire。

Puppet 企业版

Puppet 实验室发布了 Puppet 企业版,它是用一个安装程序捆绑了所有 Puppet 及其相关附属物的商业产品。它设计用来降低用户进入的障碍并帮助人们实施 Puppet 配置的 *** 实践。它和开源产品功能相同,但它有自带支持、更多的稳固性测试、安装程序和额外的文档。

包括升级 Puppet Dashboard 和其它主要功能的未来版本和 Puppet 2.7.0,这两者都会在 2011 年中完成。

以上就是怎么解析 Puppet 2.6.x 新功能,丸趣 TV 小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-04发表,共计2222字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)