puppet

puppet是什么?

puppet是一款用ruby语言编写的,采用C/S架构的自动化运维管理工具或配置管理工具。puppet客户端从服务器(使用puppet apply manifestname子命令可以从本地获取配置文件)获取配置文件manifestname,然后执行相应的操作。

例子1: 创建新用户,使用--noop模拟执行

lin@ubuntu:~/workspace/dev_ops/puppet$ cat user.pp
user{'puppet':
 name => puppet,
 ensure => present,
}
lin@ubuntu:~/workspace/dev_ops/puppet$ puppet apply --verbose --noop user.pp
Notice: Compiled catalog for ubuntu.localdomain in environment production in 0.06 seconds
Info: Applying configuration version '1552664253'
Notice: Finished catalog run in 0.01 seconds

配置是puppet执行的依据,其模板为

type{'title':
attr1 => value1,
attr2 => value2,
attr3 => value3,
...
attrN => valueN
}
  • type: 即puppet要操作的对象,如user,service,file等,可以使用命令puppet describe -l查看可以操作的对象
  • title: 给要操作的资源的名字,如配置中需要新建两个user,title必须不同。
  • attr: 即type支持的属性,使用puppet describe user 可以查看,简略查看命令为puppet describe -s user

元属性,metaparameter,当需要自定义puppet处理对象的先后顺序,或定义操作对象的依赖时,需要使用元属性来达到目的。使用puppet describe -s -m user可以看到user对象支持的元属性

Meta Parameters
---------------
    alias, audit, before, loglevel, noop, notify, require, schedule, stage,
    subscribe, tag

元属性详细可以看Metaparameter Reference

关于puppet常用资源及其属性

使用元属性来解决资源间的依赖和引用

原文地址:https://www.cnblogs.com/linyihai/p/10534553.html