Puppet使用记录

1、 关键字:

1)公用:

before:当前资源必须在before属性指定的资源运行之前先运行;

require:当前资源必须在require属性指定的资源运行之后再运行;

notify:当前资源必须在notify属性指定的资源运行之前先运行,而且,一旦此资源发生了改变,会通知nofity属性所引用的资源;

subscribe:当前资源必须在subscribe属性指定的资源运行之后再运行,而且,一旦subscribe指定的资源发生了改变,会通知当前资源;

2)package:

ensure: present, absent, latest, installed或版本号;

name: 程序包名,NameVar;

source:程序包来源;

provider: 指定要使用包管理器;

3)service:

ensure:running, true; stopped, false;

enable: 是否开机自动启动;

hasrestart: 告诉puppet服务脚本是否运行使用“restart”参数;

hasstatus:告诉puppet服务脚本是否运行使用“status”参数;

name: 脚本名称;

path: 脚本查找路径

pattern: 指明搜索服务相关的进程的模式;用于当脚本不支持使用restart/status参数时帮助判定 服务是否运行;

restart:手动指定用于服务“重启”的命令;

start、stop、status:

 

2、selector选择器:

selector指定一个默认值(default),这是在没有其它选项匹配的时候才会使用。

可以在selectors和case语句中使用正则表达式。

格式:

$变量= 给定值 ?{

值1 => "字符串",

值n => "字符串",

default => "字符串",

}

详解:如果给定值和值1,匹配,则将值1的字符串赋值给$变量,以此类推,如果给定值没有匹配到值n,则将default的值,赋值给$变量。

相当于,给定值和值1,是中间人,$变量和字符串,才是结果。

 

3、if语句:

3.1如果值为数字【验证失败】,0是false;其余为真。

3.2如果值为字符串,【验证过了,成立】,空串('')为false;其余为真。

 

4、stage:用以来定义各个class的前后关系的一种方式;默认只有一个main阶段,不指定的class都放在main阶段,当然可以使用stage进行定义其他阶段。

stage { 'first': before => Stage['main'], } stage { 'last': } Stage['main'] -> Stage['last']

各种class的执行顺序:first->main->last

分配class至stage:

class { 'apt-keys': stage => first, }

 

现在puppetbase的stage顺序是:pre-setup->setup->main->setup_app->deploy_ap

 

5、变量是有作用域的,一个变量的作用域受限于类、模块等 而且引用一个变量,如果不是在当前作用域的变量的话,要引用必须使用它的FQN,而且引用时必须用双冒号隔开,如下所示:

FQN表示:$::abc

引用一个类则是:class {'::gpostd' : } #在正常定义类名前面添加双引号::

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值