puppet使用整理

一、puppet是什么
puppet是使用ruby开发的一款资源自动化配置管理工具。它使用一种简单易读的通用语言,来定义你想要你的应用或服务成为什么样子。
通过它,你可以共享、测试和强制改变你的数据。它的每一步操作对于你来说都是透明的,并且它会通知你做出决定及验证是否相符。
它能帮助管理员方便的进行升级软件包、管理配置文件、系统服务、cron任务、添加新的配置和修复错误等重复工作。
二、puppet是如何工作的
puppet采用c/s架构。有一个master及多个agent。master与agent之间采用ssl加密认证,保证安全。master存放了所有agent的配置代码,
agent从master下载对服务器进行配置。
1、客户端puppetd调用facter,facter会探测出这台主机的一些变量如主机名、内存大小、IP地址等。然后puppetd把这些信息发送到服务器端。
2、服务器端的puppetmaster检测到客户端的主机名,然后会到manifest里面对应的node配置,然后对这段内容进行解析,facter送过来的信息可以
作为变量进行处理的,node牵涉到的代码才解析,其它的代码不不解析,解析分几个过程:语法检查、然后会生成一个中间的伪代码,然后再把伪代码发给客户机。
3、客户端接收到伪代码之后就会执行,客户端再把执行结果发送给服务器。
4、服务器再把客户端的执行结果写入日志。
三、puppet描述语言
命名规范:只能是数字、字母和下划线,大小写敏感。
变量:$varname = value,使用变量${varname}
类中变量引用:$类::子类::变量
数组:有两种方式获得数组1).["v1","v2"...];2).split(${varname},分隔符)
资源:file、service、package、node、filebucket、cron、user、group、exec、notify
3.1 filebucket:用于文件的备份与恢复
filebucket{
"资源标题":
参数 => 值,
}
参数:
name => 资源名,
path => 备份文件存放路径,
port => 备份服务器的端口,
server => 备份服务器的域名,
3.2 file:管理本地文件系统的文件
file{
"路径":
参数 => 值,
}
参数:
backup 指定文件是否备份。值可以是filebucket标题、或者false(表示不备份)。
checksum 指定检查文件是否被修改的方式。可以选择MD5、mtime。默认是MD5。
content 指定文件内容,值是字符串。可以使用template("模板路径")加载模板。
ensure 如果文件不存在是否要创建文件。值可以是present、absent(删除)、file、directory、link。还可以是路径,表示创建一个连接。
force 把文件变成连接。值可以是true、false。
group 指定文件所属组。
ignore 指定文件目录复制时的过滤条件,符合条件的不被复制。
links 指定文件复制时复制连接文件策略。可以为follow、manage。follow表示不只是复制连接,也包括连接指向的文件。
manage表示只复制连接本身。
mode 设置文件权限。
owner 设置文件所属用户。
path 指定要管理的文件路径。值是一个资源的标题。
purse 将不在管理中的其它数据删除。true或false。
recurse 指定是否进行递归操作。可以是true、false、inf、remote。
recurselimit 设置递归的深度。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值