




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Puppet应用与架构,吴问志,网站:,引言,机器越来越多应用越来越复杂架构越来越复杂审记越来越难,内容概要,1.puppet介绍-什么是puppet-puppet能做什么-puppet如何做到-puppet目录结构介绍2.运维自动化工具对比-puppetvscfengine-puppetvschef3.puppet使用时注意事项,4.puppet应用案例-puppet管理用户-puppetnginx管理-puppetkick介绍-puppetMCollective介绍-puppetfunc介绍5.puppet架构与集群-puppet架构-puppet集群方案-puppet集群核心思想-puppet性能测试方法6.QA-puppet未来,puppet介绍,什么是puppet遵循GPL协议(2.7.0),基于ruby语言开发的系统配置管理工具说明性语言表达系统,用库实现配置基于C/S架构,配置客户端和服务端,也可以独立运行puppet对于系统管理员是抽象,只依赖于ruby与facter.默认情况下,客户端每30分钟连接到puppetmasterpuppet能做什么puppet能管理多达将40多种资源管理,例如:file,usergroup,host,package,service,cron,exec,yumrepo适合整个软件生命周期管理。注:2.7.0以后使用(Apache2.0license)注:puppet特殊资源-虚拟资源.puppet有个特殊的Type,例如Package,User等。这个Type就是告诉puppet被管理的是什么资源。,puppet的适用场景,puppet是如何工作的,puppet工作流程,注:内部处理过程是抽象的,Puppet模型参考,Puppet三层模型,packagenginx:ensure=installed,puppet工作流程分拆,Facter介绍,Facter是什么facter是内置的puppet工具,它提供的一个标准方式去获得客户端环境变量等相关信息Facter能获得哪些信息#facter-parchitecture=x86_64id=rootinterfaces=eth0,loipaddress=3ipaddress_eth0=3。ikernprocessor0=Intel(R)Xeon(R)CPUE54052.00GHzprouptime=27daysuptime_days=27uptime_hours=651uptime_seconds=2344200注:这些变量可以直接来使用,例如:$:ipaddress或者$:ipaddress当然你也可以自定义fact,需要使用ruby来编写。,开源社区版和企业版对比,puppet目录结构与模块介绍,puppet目录结构(右一)注:manifests/site.pp必须存在puppet模块结构(右二)注:manifests/init.pp必须存存,Puppet与其它自动化工具对比,puppetVScfengine,puppetVSchef,Puppet使用注意事项,1.主机名使用FQDN格式命名,需要DNS或者hosts解析2.C/S两端时间要同步,SSL认证依赖于时间3.ssl认证过后,请不要修改主机名4.Usecachefaiure5.tag和tagged6.节点可以继承,但不能多重继承7.类可以继承与覆盖,子类可以向父类添加额外属性值8.puppet支持多环境部署(分:开发、测试、线上)9.tidy资源中多条件关系是或者,而不是and10.选择正确的版本,Puppet使用时注意事项,1.节点设置tagtag(old-slow-server)iftagged(old-slow-server)notifythiswillsucceed:2.对资源设置tagfile/etc/ssh/sshd_config:.notify=Servicessh,tag=ssh,#puppetagent-test-tagsssh,1,类继承示例classnginx:port81inheritsnginx.错误示例classnginx:port81inheritsnginx,apache.子类向父类添加额外属性Servicenginxrequire+File/etc/nginx/conf.d/nginx81.conf,Puppet的应用案例,Puppet管理用户(关于:管理用户的几点说明a.puppet支持ldap以及nis集中认证b.puppet支持用户密码管理,最好以(单引号)括起来c.puppet建用户的默认是不建家目录的,需要使用managerhome=truepuppet管理nginxpuppetkickPuppetMCollectivePuppetfunc,puppet虚拟资源,以为前缀使用虚拟资源需要配置storeconfig虚拟资源使用场景多个资源需要引用共同的某个资源实例,例如A用户是SA,又是DBA,puppetnginx应用案例,Exec有条件的执行:creates:指定命令所生成的文件那么命令只会在所指定的文件不存在的情况的被执行unless:所设定的命令返回0时才执行onlyif:只会在onlyif设定的命令返回0时才执行refreshonly:触发刷新动作。资源之间依赖关系:before、after、require资源之间触发subscribenotify友情提示:refreshonly,refresh的区别refreshonly:收到多少次通知,就执行多少资源,refresh:不管有多少次通知,请执行一次。,puppet+kick,puppetkick:主动强制客户端运行puppetagent.注意:puppetkick并不关心客户端puppetagent有没有执行错误,它成功连接到agent即返回退出0.,MCollective介绍,官方的解释:MCollective就是一个调度器,可以解决多个puppetagent同时向master提出请求造成性能,速度下降的问题;它可以根据不同的属性对节点进行分类,对不同分类执行不同的任务;它是一个控制终端,可以使用它控制客户端和服务器,因此不需要puppetagent定时运行了.MCollective也是一种Client/Server架构,而且client和server使用Midware(中间件)进行通信,需要java以及activemq支持.Mcollective官文说明:,PuppetMCollective功能,1.管理/控制/执行服务软件包进程信息Facterfactsping使用说明:#mcoTheMarionetteCollectiveversion1.3.2/usr/bin/mco:command(options)Knowncommands:findpgrepfactspingpuppetdhelpcontrollerrpcinventoryservice需要更多功能,可以安装更多插件,Mcollective使用示例,rootpuppet1#rootpuppet1#time=time=95.86mspuppet1time=96.78ms-pingstatistics-3repliesmax:96.78min:56.11avg:82.92rootpuppet1#mcopuppetdstatus*=3/Currentlystopped;lastcompletedrun9663secondsagopuppet1Currentlyidling;Currentlyidling;lastcompletedrun149secondsagoFinishedprocessing3/3hostsin36.27ms,Puppetmcollective使用示例,MCollect使用示例,rootpuppet1#mcopgrepruby*=3/PIDUSERVSZCOMMAND9955root112.996MBruby/usr/sbin/mcollectived-pid=/var/run/PIDUSERVSZCOMMAND5717root113.801MBruby/usr/sbin/mcollectived-pid=/var/run/mcollectived.pid25631root153.289MB/usr/bin/ruby/usr/sbin/puppetd-server=puppetmaster1-log-processliststats-Matchedhosts:2Matchedprocesses:3ResidentSize:28.917MBVirtualSize:380.086MBFinishedprocessing3/3hostsin198.42ms,puppet+func管理,Func全称为FedoraUnifiedNetworkController(Fedora统一网络控制器),由Fedara社区维护的一款用于服务器自动化远程管理的工具。有如下特性:Func可以在主控机上一次管理任意多台服务器,或任意多个服务器组;Func基于Certmaster(/certmaster/)建立了MasterSlaves主从SSL证书管控体系,可以将证书自动分发到所有受控服务器;Func命令行可以直接发送远程命令或者远程获取数据;Func开发者已经完成了大多数常用任务模块的开发:CommandModule、FileTrackerModule、JBossModule、IPtablesModule、HardwareModule、MountModule、NagiosCheck、NetappModule、NetworkTest、ProcessModule、ServiceModule、SysctlModule、RebootModule、RpmModule、VirtModule、YumModule等等,这些模块的作用都可以顾名思义,或者参考:/func/wiki/ModulesList;任何人都可以通过Func提供的PythonAPI轻松编写自己的模块,以实现体功能扩展。而且任何Func命令行能完成的工作,都能通过API编程实现;Func通讯基于XMLRPC和SSL标准协议。,func使用示例,#funcfmgrcallprocessinfoaux#查看进程#funcfmgrcallprocessmem#查看内存#funcfmgrcallservicestatuspuppet#查看fmgr组中各成员puppet进程状态#funcfmgrcallservicestoppuppetpuppet2:0,puppet3:0#funcfmgrcallservicestartpuppettips:func也是使用ssl认证,可以使用puppetmaster上的ssl证书认证,参见官方文档说明,puppet应用QA,1.客户端是如何使用?nodedefaultincludenginx2.文件备份a.backup决定文件的内容在被修改前是否进行备份。b.文件服务器a.默认是备份到远程filebucketmain:server=puppetFilebackup=main默认保存在/var/lib/puppet/clientbucketb.备份到本地filebucketsky:path=/data/backup,Filebackup=sky,文件备份示例:file/etc/sudoers:mode=440,source=puppet:/modules/admin/sudoers,backup=.bak,恢复:(哈希值)cp/var/lib/puppet/clientbucket/c/0/7/d/0/a/a/2/c07d0aa2d43d58ea7b5c5307f532a0b1/contents/etc/sudoerspuppet同步大文件可以使用rsync模块,Puppet架构与集群,Puppet普遍部署为C/S架构:Puppet成熟的集群方案:1.Puppet+nginx2.Puppet+passenger3.Puppet+mongrel4.Puppet+git(特殊),Puppet架构与集群,Puppet集群核心思想:1).puppetmaster集群-分担puppetmaster来自于客户端的请求压力,可以采取Active,Active模式.-采取反向代理模式,将来自于8140的端口请求分散到多台puppetmaster2).puppetssl证书集群-分担puppetmaster来自于客户端ssl证书的请求压力,采取Active,Standby模式.3).采取独立运行模式,通过git将代码push到客户端,客户端本地执行相应代码。,Puppet架构与集群,a.puppetmaster集群架构图,Puppet架构与集群,puppetca集群架构图:,puppetmaster并发性能测试方法,默认:centos系列puppet-load.rb在/usr/share/puppet/ext目录下。测试puppetmaster性能:./
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025自考专业(电子商务)试卷附答案详解【研优卷】
- 2025年浙江金华永康市部分事业单位招聘99人笔试高频难、易错点备考题库及答案详解一套
- 2024-2025学年安徽机电职业技术学院单招《职业适应性测试》考前冲刺练习完美版附答案详解
- 中医执业医师模拟试题及答案详解【各地真题】
- 2025计算机操作员模拟题库【满分必刷】附答案详解
- 2025年医师定期考核预测复习附答案详解【培优A卷】
- 教师招聘之《中学教师招聘》综合提升测试卷附参考答案详解【培优】
- 2025康复医学治疗技术副高级职称试题预测试卷及1套参考答案详解
- 2025年低碳节能减排知识竞赛题库(含答案)
- 2025年健康素养知识竞赛题库(含答案)
- 防错原理及案例课件
- 癌痛规范化治疗课件资料
- DB37-T 1997.1-2019.物业服务规范 第1部分:通则
- 牛津9AU3-Head-to-head名师制作优质教学课件
- 小学数学西南师大四年级上册二加减法的关系和加法运算律《减法的运算性质》教学设计
- 通信光缆线路工程安全技术交底大全
- 购牛合同参考参考
- 纳迪亚之宝全流程攻略 100%完结完整通关指南
- mc2200监控模块后台通讯协议v
- 第四讲政府间关系
- GB 30678-2014 客车用安全标志和信息符号(高清版)
评论
0/150
提交评论