puppet 权威指南

puppet 权威指南
image.png

puppet硬件需求


puppet 权威指南
image.png

搭建本地镜像源
搭建svn+apache ,搭建dnsmasq

/etc/puppet
auth.conf 认证
autosign.conf 自动签名
fileserver.conf 同步静态文件
manifests.......module
puppet.conf
tagmail.conf
namespaceauth.conf

puppet.conf main,master,agent


puppet 权威指南
image.png

puppet 权威指南
image.png

puppet 权威指南
image.png

puppet 权威指南
image.png

puppet 权威指南
image.png

生成配置文件puppet.conf puppet master --genconfig
服务端常用配置项


puppet 权威指南
image.png

auth.conf访问控制


puppet 权威指南
image.png

puppet 权威指南
image.png

puppet 权威指南
image.png

puppet 权威指南
image.png

acl控制


puppet 权威指南
image.png

fileserver.conf 挂载点 使用方式


puppet 权威指南
image.png

puppet 权威指南
image.png

puppet help puppet help ca
puppet master puppet agent puppet cert puppet module puppet resource puppet describe puppet parser validate


site.pp是导航文件:/etc/puppet/manifests/site.pp
notify == echo:notify{"hello world"} 放在site.pp
启动服务端: xx 2>&1
nohup puppet master --verbose --no-daemonize>>master.log 2>&1 &
iptables -t filter -A INPUT -p tcp -m state -state NEW --dport 8140 -j ACCEPT
puppet agent --server xxxx --test
puppet cert --sign xxxx

site.pp中节点格式


puppet 权威指南
image.png

puppet 权威指南
image.png

puppet 权威指南
image.png

puppet 权威指南
image.png

puppet 权威指南
image.png

没有匹配到,就到默认default


puppet 权威指南
image.png

从puppet forge 获取基础模块:http://forge.puppetlabs.com/
class

puppet 权威指南
image.png

puppet 权威指南
image.png

inherits
puppet 权威指南
image.png

类继承
puppet 权威指南
image.png

灰度发布:开发-测试-生产


puppet 权威指南
image.png

变量


puppet 权威指南
image.png

puppet 权威指南
image.png

puppet不能重复赋值


puppet 权威指南
image.png

facter常用变量:ipaddress,kernel,memorysize,operatingsystem,rubyversion,uptime,hostname


puppet 权威指南
image.png

数组


puppet 权威指南
image.png

puppet 权威指南
image.png

puppet 权威指南
image.png

puppet 权威指南
image.png

字典


puppet 权威指南
image.png

布尔
puppet 权威指南
image.png

/正则/:[a-z] () \w \W \s \S \d \D \b \B * + {m,n} ?
puppet 权威指南
image.png

puppet 权威指南
image.png

if elsif else

puppet 权威指南
image.png

=~
puppet 权威指南
image.png

in
puppet 权威指南
image.png

case 用法:
case
puppet 权威指南
/:{}
default: {}
}
xx = xx ? {字典}
puppet 权威指南
image.png

define


puppet 权威指南
image.png

puppet 权威指南
image.png

tag????


puppet 权威指南
image.png

puppet 权威指南
image.png

generate
puppet 权威指南
image.png

template


puppet 权威指南
image.png

类的继承
puppet 权威指南
image.png

文件导入
puppet 权威指南
image.png

模块导入方式:
puppet 权威指南
image.png

资源
puppet 权威指南
image.png

package 包安装工具

file {'name':
path:
ensure:absent present file directory link
backup:
checksum:md5
content:追加
group
links??
mode
owner
source:
target:
selxxxxxxxxxxxxxxxx
}


puppet 权威指南
image.png

puppet 权威指南
image.png

filebucket 文件备份与恢复
name,path,port,server


puppet 权威指南
image.png

host:DNS相关


puppet 权威指南
image.png

puppet 权威指南
image.png

user属性
name,ensure,comment,uid,gid,groups,home,manage_expiry,password,manage_password_max_age,manage_password_min_age,shell,provider:aix/hpuxuseradd/ldap/pw/useradd/windows_adsi
新建用户

puppet 权威指南
image.png

group
ensure,gid,members,name,provider:aix/groupadd/pw/windows_adsi
puppet 权威指南
image.png

package
allowcdrom,ensure:installedpresent/absent/latest/版本号5.4.23,provider:yum/apt/aix/windows,source
holdable保持现状,install_options 传递参数,installable,purgeable,uninstall_options,uninstallable,upgradeable,versionable
puppet 权威指南
image.png

安装nginx
puppet 权威指南
image.png

数组方式批量安装
puppet 权威指南
image.png

service:
binary:程序路径,enable开机,ensure:running/stopped,hasrestart,hasstatus,name,path,pattern,restart,start,status,stop,provider:enableable/refreshable.


puppet 权威指南
image.png

exec:
command,creates,cwd:执行路径,environment,group,logoutput,onlyif:只有该执行结果为0时才执行,path,refresh,refreshonly:ture/false触发器,returns,timeout,tries,try_sleep,user,provider:shell/windows


puppet 权威指南
image.png

cron:
command,ensure:present/absent,environment,hour,minute,month,monthday,weekday,name,provider,user


puppet 权威指南
image.png

notify :name,message
公有属性:before,require,stage,notify,subscribe,audit
require用法


puppet 权威指南
image.png

before


puppet 权威指南
image.png

notify
puppet 权威指南
image.png

subscribe
puppet 权威指南
image.png

->先后关系


puppet 权威指南
image.png

~>通知
puppet 权威指南
image.png

三段
puppet 权威指南
image.png

puppet 权威指南
image.png

puppet 权威指南
image.png

audit审计
puppet 权威指南
image.png

默认资源:Exec,Package,
虚拟资源:@ realize <|xxx|>
puppet 权威指南
image.png

erb <%= %>


puppet 权威指南
image.png

puppet 权威指南
image.png

puppet 权威指南
image.png

erb
<% if %>
<% elsif %>
<% else %>
<% end %>
erb each ????? erb 函数


facter:physicalprocessorcount,processorcount,processor0-7,memorysize,memoryfree,swapsize,swapfree
获取内存信息:


puppet 权威指南
image.png

facter:interfaces,ipaddress,netmask,ipaddress_eth1,netmask_eth1~~,macaddress
operatingsystem,operatingsystemrelease


puppet 权威指南
image.png

facter:kernel,kernelmajversion,kernelrelease,kernelversion,selinux,selinux_config_mode,
扩展facter
puppet 权威指南
image.png

YAML


puppet 权威指南
image.png

puppet ENC功能
puppet dot graphviz功能
puppet stdlib扩展


master和agent多端口使用案例


puppet 权威指南
image.png
puppet 权威指南
image.png

puppet 权威指南
image.png

puppet 权威指南
image.png

puppet 权威指南
image.png

nginx+passenger 提升master的处理性能
puppet搭建集群:http://jingpin.jikexueyuan.com/article/48475.html


reportdir设置运行报告目录
[agent]
report=true

reportserver=

puppet agent --server puppet.xxxx.com --test --summarize
[master]
reports=store,tagmail,http #开启多个报告处理器
reportfrom=xxx
tagmap=xx/tagmail.conf


puppet 权威指南
image.png

自定义报告处理器

puppet dashboard 安装
puppetdb 安装
puppet MCollective 安装


puppet 权威指南
image.png

puppet 部署 MCollective


puppet 权威指南
image.png

puppet 权威指南
image.png

HAproxy 搭建puppet 集群