zoukankan      html  css  js  c++  java
  • puppet单机模型

    puppet配置

    命令

    • facter -p: 显示所有的变量
    • puppet apply [-v] [--noop] [-e 'puppet expression: 一般为include httpd等']
    • 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
    
  • 相关阅读:
    【数学】三分法
    【数学】【背包】【NOIP2018】P5020 货币系统
    【数学】【CF27E】 Number With The Given Amount Of Divisors
    【单调队列】【P3957】 跳房子
    【极值问题】【CF33C】 Wonderful Randomized Sum
    【DP】【CF31E】 TV Game
    【神仙题】【CF28D】 Don't fear, DravDe is kind
    【线段树】【CF19D】 Points
    【字符串】KMP字符串匹配
    【二维树状数组】【CF10D】 LCIS
  • 原文地址:https://www.cnblogs.com/megachen/p/9622991.html
Copyright © 2011-2022 走看看