文章目录
  1. 1. Puppet 3.x 新特性
    1. 1.1. 整体概况
    2. 1.2. 依赖和支持的系统
    3. 1.3. 语言变化
    4. 1.4. WEB架构的变化
    5. 1.5. 核心资源类型的变化
    6. 1.6. auth.conf文件变化
    7. 1.7. HTTP API的变化
    8. 1.8. XML-RPC完全被废弃
    9. 1.9. Ruby API的变化
      1. 1.9.1. Agent lockfile 的变化

Puppet 3.x 新特性

整体概况

  1. 性能提升: 相比之前版本,编译性能提升50%,这也取决于你的代码编写
  2. 自动数据捆绑和类参数: hiera会自动查询参数化类的值,因此不需要再解析函数
  3. 核心hiera函数: hiera, hiera_array, hiera_hash, and hiera_include函数已经集成在puppet代码当中,如果你没有安装hiera-puppet软件包,需要卸载 puppet 后重新升级
  4. Solaris改进: 支持ipkg格式、Zones 支持、Zpool支持
  5. YAML节点缓存恢复
  6. 提高 Ruby 代码加载速度
  7. YARD API 文档化(YARD生成可浏览基于行注释的代码文档)

依赖和支持的系统

  1. Ruby 1.9.3 抛弃Ruby 1.8.5 (但puppet doc 只支持Ruby 1.8.7)
  2. Hiera完全依赖
  3. Facter 1.6.2以上版本
  4. Mac OS X 10.4将不再支持

语言变化

  1. Puppet 2.7 中动态变量作用域被废弃
  2. 定义参数必须是变量
    正确的:
    define vhost ($port = 80, $vhostdir) { ... }

错误的:
define vhost (port = 80, vhostdir) { ... }

没有变化的:
vhost {'web01.example.com': port => 8080, vhostdir => '/etc/apache2/conf.d', }

  1. Ruby DSL 被废弃
  2. 删除过时的命令(上表中左列puppet 2.6版本的命令将不再支持)
  3. 变更的应用命令
    • —apply 被废弃,由—catalog替代
    • 控制台输出格式变更
  4. 废弃或变化的配置项
    • factsync废弃,由pluginsync替代
    • cadays替换成ca_ttl
    • servertype废弃
    • downcasefact废弃
    • reportserver废弃,由report_server替代
    • 默认开启pluginsync

WEB架构的变化

  1. Config.ru文件变化,采用Rack server部署时需要修改此配置文件
  2. 需要指明—confdir选项,避免读取~/.puppet/puppet.conf
  3. Mongrel被废弃

核心资源类型的变化

  1. 文件(file)
    • recurse参数需要设置为true、false、remote,不再支持由它来指定递归深度,而是使用recurselimit参数完成
  2. 挂载(mount)
    • path参数被废弃,由name参数替代
  3. 包(package)
    • type参数被废弃,由provider参数替代
    • msi参数被废弃
    • Windows软件包install_options参数支持数组混合字符串和哈希
    • Windows加入新参数uninstall_options
  4. 执行(exec)
    • logoutput参数默认值为on_failure
  5. 元参数(Metaparameters)
    • check metaparameter被废弃,由audit替代

auth.conf文件变化

  1. 节点在授权时需要加入以下配置
1
2
3
4
#allow nodes to retrieve their own node object
path ~ ^/node/([^/]+)$
method find
allow $1
  1. auth no 等同于auth any
  2. 新的allow_ip指令,不再支持使用allow配置IP地址的权限

HTTP API的变化

  1. 新增kind选项,可以过滤class 、node 、defined_type其中之一的几种类似的资源
  2. 此前每个返回结果中的type字段,改名为kind
  3. 此前type字段的hostclass值改为class,definition值改为defined_type, 返回结果中的参数列表中的argument字段改名为parameters

XML-RPC完全被废弃

Ruby API的变化

  • 主要体现在帮助、函数、资源类型、应用程序等变化

Agent lockfile 的变化

  1. Puppet lockfile由一个变成二个
  2. 运行进程锁
    • 通过agent_catalog_run_lockfile进行配置
    • agent 正在运行行时将包含 进程PID 文件进行加锁
  3. 禁用锁文件
    • 通过agent_disabled_lockfile进行配置
    • 管理员禁用时通过JSON 哈希包含disabled_message key,其值为说明性字符串
    • 报告系统支持https
  4. https:// report_server
    • 支持DNS SRV查找puppet master
    • 支持unless 语句
文章目录
  1. 1. Puppet 3.x 新特性
    1. 1.1. 整体概况
    2. 1.2. 依赖和支持的系统
    3. 1.3. 语言变化
    4. 1.4. WEB架构的变化
    5. 1.5. 核心资源类型的变化
    6. 1.6. auth.conf文件变化
    7. 1.7. HTTP API的变化
    8. 1.8. XML-RPC完全被废弃
    9. 1.9. Ruby API的变化
      1. 1.9.1. Agent lockfile 的变化