puppet单机模型

简介: puppet配置命令facter -p: 显示所有的变量puppet apply [-v] [--noop] puppet modulepuppet describe [-l] [list]常用资源fileusergroupexecpackageservicenoti...

puppet配置

命令

  • facter -p: 显示所有的变量
  • puppet apply [-v] [--noop]
  • puppet module
  • puppet describe [-l] [list]

常用资源

  • file
  • user
  • group
  • exec
  • package
  • service
  • notify

puppet的资源

puppet中的正则表达式的匹配

  • $operatingsystem =~ /(?i-mx:(macox|majaro|debain|gentoo))
  • 上述表达的说明
    • $operatingsystem是puppet的内置变量
    • =~ 是字符串的模式匹配
    • 其中/(?i-mx:
    • 此表达式表示操作系统的名称是否匹配maosx, majaro, debain, gentoo其中的一种
  • /.../是必须的, 里面的(?i-mx:可以不要, 那么就采用默认的

puppet中的语句

  • if 语句
if CONDITION {
    # statement like notice("Hello, World!")
} elsif CONDITION {

} else {

}
  • case 语句

case {
    case1, case2: {

    }
    case3: {

    }
    case 4, case5, case6: {

    }
}
  • selector语句

$rootgroup = $osfamily ? {
        'Solaris'          => 'wheel',
        /(Darwin|FreeBSD)/ => 'wheel',
        default            => 'root',
}

原型为:
variable = $var ? {
    var1 => value1,
    var2 => value2
}

自定义模块

  • 创建一个module_name目录, 在该目录中包含manifests, lib, tests, spec, files, templates目录, 其中在manifests中放的文件是.pp文件, 且和python一样有类似的要求, 需要有一个init.pp文件, 并且在该文件中需要定义一个class, 他的class name需要和module_name一致

  • 下面为一个简单的示例

nginx/
|-- files # 放置普通的文件
|-- lib 
|-- manifests # 放置.pp文件
|   `-- init.pp
|-- spec
|-- templates # 放置嵌入ruby脚本的plain text, 就是里面有 <%= %>等标志的文件
|   `-- nginx.conf
`-- tests
目录
相关文章
|
应用服务中间件 测试技术 nginx
|
关系型数据库 MySQL 应用服务中间件
|
应用服务中间件 网络安全 nginx
|
安全 Linux 网络协议
puppet yum模块、配置仓储、mount模块
转载:http://blog.51cto.com/ywzhou/1577335 作用:自动为客户端配置YUM源,为使用yum安装软件包提供便捷。 1、服务端配置yum模块 (1)模块清单 [root@puppet ~]# tree /etc/puppe...
1072 0
|
网络协议 安全 网络安全