puppet 权威指南

简介: image.pngpuppet硬件需求image.png搭建本地镜像源搭建svn+apache ,搭建dnsmasq/etc/puppetauth.
image.png

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


image.png

image.png

image.png

image.png

image.png

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


image.png

auth.conf访问控制


image.png

image.png

image.png

image.png

acl控制


image.png

fileserver.conf 挂载点 使用方式


image.png

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中节点格式


image.png

image.png

image.png

image.png

image.png

没有匹配到,就到默认default


image.png

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

image.png

image.png

inherits
image.png

类继承
image.png

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


image.png

变量


image.png

image.png

puppet不能重复赋值


image.png

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


image.png

数组


image.png

image.png

image.png

image.png

字典


image.png

布尔
image.png

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

image.png

if elsif else

image.png

=~
image.png

in
image.png

case 用法:
case
operatingsystem { 'Solaris': { include role::solaris } 'RedHat','CentOS': { include role::redhat } /^(Debian|Ubuntu)
/:{}
default: {}
}
xx = xx ? {字典}
image.png

define


image.png

image.png

tag????


image.png

image.png

generate
image.png

template


image.png

类的继承
image.png

文件导入
image.png

模块导入方式:
image.png

资源
image.png

package 包安装工具

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


image.png

image.png

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


image.png

host:DNS相关


image.png

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
新建用户

image.png

group
ensure,gid,members,name,provider:aix/groupadd/pw/windows_adsi
image.png

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

安装nginx
image.png

数组方式批量安装
image.png

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


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


image.png

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


image.png

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


image.png

before


image.png

notify
image.png

subscribe
image.png

->先后关系


image.png

~>通知
image.png

三段
image.png

image.png

image.png

audit审计
image.png

默认资源:Exec,Package,
虚拟资源:@ realize <|xxx|>
image.png

erb <%= %>


image.png

image.png

image.png

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


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


image.png

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


image.png

facter:kernel,kernelmajversion,kernelrelease,kernelversion,selinux,selinux_config_mode,
扩展facter
image.png

YAML


image.png

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


master和agent多端口使用案例


image.png
image.png

image.png

image.png

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


image.png

自定义报告处理器

puppet dashboard 安装
puppetdb 安装
puppet MCollective 安装


image.png

puppet 部署 MCollective


image.png

image.png

HAproxy 搭建puppet 集群

目录
相关文章
|
运维 监控 大数据
《Puppet权威指南》——导读
优点是一名初出茅庐的职场新人(笔者)就可以自己建立运维工具,构建系统架构和部署系统的监控,并且从中获取更多的知识,迅速成长;缺点是团队中的同事都有自己的一套独立的小工具,团队中的工具与工具之间不能继承与复用,每次系统增加新功能都需要重新开发工具,浪费了很多人力成本。
1383 0