Chinaunix首页 | 论坛 | 博客
  • 博客访问: 13403
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 30
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-24 10:03
文章分类
文章存档

2017年(1)

2016年(5)

2015年(1)

我的朋友
最近访客

分类: 系统运维

2016-08-09 11:10:13

一.客户端puppetd 调用facter, facter探测出主机的一些变量,例如主机名,内存大
小,ip地址等。pupppetd 把这些信息通过ssl连接发送到服务器端。
二.服务器端的puppetmaster 检测客户端的主机名,然后找到manifest里面对应的node
配置, 然后对该部分内容进行解析,facter送过来的信息可以作为变量处理,node牵涉到
的代码才解析,其他没牵涉的代码不解析。解析分为几个阶段,语法检查,如果语法
错误就报错。如果语法没错,就继续解析,解析的结果生成一个中间的“伪代码”,然后把伪代
码发给客户端。
三.客户端接收到“伪代码”,并且执行,客户端把执行结果发送给服务器。
四.务器端把客户端的执行结果写入日志。

常用资源
file: 属性有owner,group,content,mode,source,template
owner:所有者
group:所属组
mode:权限
source:定义从url复制文件内容,url只能是puppet 的url  即filesever
template:,可以通过erb模板生成文件内容,erb模板可以使用变量。而且还可以对变量进行计算和操作
f i l e {
" / etc / squid / squid . conf " :
mode => 0644 ,
content => template ( " squid / squid . conf . erb " ) ;
}
这里的template里面的"squid/squid.conf.erb"表示的路径是squid模块下面templates目录
下的squid.conf.erb这个路径。看看squid.conf.erb里面的部分内容1
cache_mem <%= Integer ( vmx_memsize . t o _ i * 0 . 4 5 ) ????%> MB
visible_hostname <%= fqdn %>
在这里,cache_mem设置成总内存的45%大小,visible_hostname 设置成主机名。更多有
趣的功能也可以实现。

2,package 资源
package资源管理系统的软件包安装,主属性是ensure,状态有install[present]安装,absent反安装,purged彻底移除,latest确保最新
不支持编译安装的软件

3,service资源
service资源表示保证/etc/init.d目录下的服务执行脚本执行什么命令
s e r v i c e {
" ssh " :
ensure => running ;
" nfs " :
ensure => stoped ;
}

4,exec 资源
exec调用外部命令,在执行puppet 时候运行shell 命令[不建议使用]
exec {
" delete ? config " :
path => " / bin : / usr / bin " ,
command => "rm? / etc / ssh / ssh_config " ;
}

阅读(401) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~