XXXX华东运维技术大会的资料运维自动化ue应用与_第1页
XXXX华东运维技术大会的资料运维自动化ue应用与_第2页
XXXX华东运维技术大会的资料运维自动化ue应用与_第3页
XXXX华东运维技术大会的资料运维自动化ue应用与_第4页
XXXX华东运维技术大会的资料运维自动化ue应用与_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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三层模型package{"nginx":ensure=>installed,}puppet工作流程分拆Facter介绍Facter是什么facter是内置的puppet工具,它提供的一个标准方式去获得客户端环境变量等相关信息Facter能获得哪些信息

#facter-parchitecture=>x86_64id=>rootinterfaces=>eth0,loipaddress=>3ipaddress_eth0=>3。。。。。。。ikernprocessor0=>Intel(R)Xeon(R)CPUE5405@2.00GHzprouptime=>27daysuptime_days=>27uptime_hours=>651uptime_seconds=>2344200注:这些变量可以直接来使用,例如:{$::ipaddress}或者$::ipaddress当然你也可以自定义fact,需要使用ruby来编写。开源源社社区区版版和和企企业业版版对对比比开源社区版企业版用户图形接口内置Ec2模块 内置Ec2模块内置Vmwarevms配置管理-发现和克隆配置管理-操作系统配置管理-操作系统配置管理-用户账户管理管理应用管理应用内置300+模块内置300+模块统一跨平台组件安装自动配置审记业务流程自动化网络技术社区支持网络技术社区支持7*24小时技术支持puppetlabs工程师认证支持依赖包在一个目录下平滑升级和维护支持puppet目目录录结结构构与与模模块块介介绍绍puppet目目录录结结构构(右右一一)注::manifests/site.pp必必须须存存在在puppet模模块块结结构构((右右二二))注:manifests/init.pp必必须须存存存存Puppet与其其它它自自动动化化工工具具对对比比puppetVScfenginepuppetVSchef安装配置简单安装复杂需要依赖DB基于ruby开发,Puppet自有高级配置语言基于c语言,语法难懂,学习维护成本高备份恢复简单备份恢复复杂用于管理各种资源重点用于管理文件底层负责建模模拟资源之间相互关系安装配置简单安装配置比较复杂基于ruby,用户不熟悉ruby,也可以使用使用的是ruby扩展,需要用户熟悉ruby语言,入门难备份恢复简单维护不方便有众多开发者和文档文档或者资料少有更成熟悉商业经验用户群相对少更多功能借鉴其思想,是puppet一个分支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"){notify{"thiswillsucceed":}}2.对对资资源源设设置置tagfile{"/etc/ssh/sshd_config":...notify=>Service["ssh"],tag=>"ssh",}#puppetagent--test--tagsssh1,类类继继承承示示例例classnginx::port81inheritsnginx{....}错误误示示例例classnginx::port81inheritsnginx,apache{....}子类类向向父父类类添添加加额额外外属属性性Service["nginx"]{require+>File[/"etc/nginx/conf.d/nginx81.conf"],}}Puppet的应应用用案案例例Puppet管理理用用户户((关关于于:管管理理用用户户的的几几点点说说明明a.puppet支支持持ldap以以及及nis集集中中认认证证b.puppet支支持持用用户户密密码码管管理理,,最最好好以以''(单单引引号号)括括起起来来c.puppet建建用用户户的的默默认认是是不不建建家家目目录录的的,,需需要要使使用用managerhome=>truepuppet管理理nginxpuppetkickPuppetMCollectivePuppetfuncpuppet虚虚拟拟资资源源以@为为前前缀缀使用用虚虚拟拟资资源源需需要要配配置置storeconfig虚拟拟资资源源使使用用场场景景多个个资资源源需需要要引引用用共共同同的的某某个个资资源源实实例例,,例例如如A用用户户是是SA,,又又是是DBApuppetnginx应应用用案案例例Exec有有条条件件的的执执行行::creates::指指定定命命令令所所生生成成的的文文件件那那么么命命令令只只会会在在所所指指定定的的文文件件不不存存在在的的情情况况的的被被执执行行unless::所所设设定定的的命命令令返返回回0时时才才执执行行onlyif::只只会会在在onlyif设设定定的的命命令令返返回回0时时才才执执行行refreshonly::触触发发刷刷新新动动作作。。资源源之之间间依依赖赖关关系系::before、、after、、require资源源之之间间触触发发subscribenotify友情情提提示示::refreshonly,refresh的的区区别别refreshonly::收收到到多多少少次次通通知知,,就就执执行行多多少少资资源源,,refresh:不管管有多少少次通知知,请执执行一次次。puppet+kickpuppetkick:主主动强制制客户端端运行puppetagent.注意:puppetkick并并不关心心客户端端puppetagent有没没有执行行错误,,它成功功连接到到agent即即返回回退出0.MCollective介绍绍官方的解解释:MCollective就是是一个调调度器,可以解解决多个个puppetagent同时向向master提出请请求造成成性能,速度下下降的问问题;它它可以根根据不同同的属性性对节点点进行分分类,对对不同分分类执行行不同的的任务;它是一一个控制制终端,可以使使用它控控制客户户端和服服务器,因此不不需要puppetagent定定时运行行了.MCollective也是是一种Client/Server架构,而且client和和server使用Midware(中间间件)进进行通信信,需要要java以及及activemq支支持.Mcollective官文文说明::/mcollective/introduction/PuppetMCollective功功能1.管理理/控制制/执行行服务软件包进程信息息Facterfactsping使用说明明:#mcoTheMarionetteCollectiveversion1.3.2/usr/bin/mco:command(options)Knowncommands:findpgrepfactspingpuppetdhelpcontrollerrpcinventoryservice需要更多多功能,,可以安安装更多多插件Mcollective使使用示例例[root@puppet1~]#mcofindpuppet1[root@puppet1~]##mcopingtime=56.11mstime=95.86mspuppet1time=96.78ms----pingstatistics----3repliesmax:96.78min:56.11avg:82.92[root@puppet1~]#mcopuppetdstatus*[===================================================>]3/3Currentlystopped;lastcompletedrun9663secondsagopuppet1Currentlyidling;lastcompletedrun1665580secondsagoCurrentlyidling;lastcompletedrun149secondsagoFinishedprocessing3/3hostsin36.27msPuppetmcollective使使用示例例MCollect使用用示例[root@puppet1~]#mcopgrepruby*[======================================================>]3/3PIDUSERVSZCOMMAND9955root112.996MBruby/usr/sbin/mcollectived--pid=/var/run/mcollectived.pidPIDUSERVSZCOMMAND5717root113.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.42mspuppet+func管理理Func全称为为FedoraUnifiedNetworkController(Fedora统一一网络控控制器)),由Fedara社社区维护护的一款款用于服服务器自自动化远远程管理理的工具具。有如如下特性性:Func可以以在主控控机上一一次管理理任意多多台服务务器,或或任意多多个服务务器组;;Func基于于Certmaster(/certmaster/)建建立了Master––Slaves主主从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使用用示例#func"@fmgr"callprocessinfo"aux"##查看看进程#func"@fmgr"callprocessmem##查查看内存存#func"@fmgr"callservicestatuspuppet##查看看fmgr组中中各成员员puppet进程状状态#func"@fmgr"callservicestoppuppet{'puppet2':0,'puppet3':0}#func"@fmgr"callservicestartpuppettips:func也是使使用ssl认证证,可以以使用puppetmaster上上的ssl证书书认证,,参见官官方文档档说明puppet应应用QA1.客客户端是是如何使使用?nodedefault{includenginx}2.文文件备份份a.backup决决定文件件的内容容在被修修改前是是否进行行备份。。b.文文件服务务器a.默默认是备备份到远远程filebucket{main:server=>"puppet"}File{backup=>main}默认保存存在//var/lib/puppet/clientbucketb.备份份到本地地filebucket{'sky':path=>"/data/backup",}File{backup=>sky}文件备份份示例::file{"/etc/sudoers":mode=>"440",source=>"puppet:///modules/admin/sudoers",backup=>".bak",}恢复:((哈希值值)c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论