itpubnet运维自动化-Puppet应用与架构

上传人:仙*** 文档编号:252940316 上传时间:2024-11-26 格式:PPT 页数:35 大小:1.16MB
返回 下载 相关 举报
itpubnet运维自动化-Puppet应用与架构_第1页
第1页 / 共35页
itpubnet运维自动化-Puppet应用与架构_第2页
第2页 / 共35页
itpubnet运维自动化-Puppet应用与架构_第3页
第3页 / 共35页
点击查看更多>>
资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,Page,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,Page,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,Page,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,Page,*,单击此处编辑母版标题样式,Puppet 应用与架构,吴问志,网站: 介绍,-什么是puppet,-puppet 能做什么,-puppet 如何做到,-puppet 目录结构介绍,2.运维自动化工具对比,-puppet vs cfengine,-puppet vs chef,3.puppet 使用时注意事项,4.puppet 应用案例,-puppet 管理用户,-puppet nginx 管理,-puppet kick 介绍,-puppet MCollective 介绍,-puppet func 介绍,5.puppet 架构与集群,-puppet 架构,-puppet 集群方案,-puppet 集群核心思想,-puppet性能测试方法,6.QA,-puppet 未来,puppet 介绍,什么是puppet,遵循GPL 协议,(2.,7.0,),基于ruby 语言开发的系统配置管理工具,说明性语言表达系统,用库实现配置,基于C/S架构,配置客户端和服务端,也可以独立运行,puppet 对于系统管理员是抽象,只依赖于ruby与facter.,默认情况下,客户端每30分钟连接到puppetmaster,puppet 能做什么,puppet 能管理多达将40多种资源管理,例如:file,user group,host,package,service,cron,exec,yumrepo适合整个软件生命周期管理,。,注:2.7.0以后,使用(,Apache 2.0 license,),注:puppet特殊资源-虚拟资源,.,puppet 有个特殊的Type,例如Package,User等。这个Type就是告诉puppet被管理的是什么资源。,puppet 的适用场景,puppet 是如何工作的,puppet 工作流程,注:内部处理过程是抽象的,Puppet,模型参考,Puppet,三层模型,package nginx:,ensure=installed,puppet 工作流程分拆,Facter介绍,Facter是什么,facter是内置的puppet工具,它提供的一个标准方式去获得客户端环境变量等相关信息,Facter能获得哪些信息,#facter-p,architecture=x86_64,id=root,interfaces=eth0,lo,ipaddress=192.168.200.63,ipaddress_eth0=192.168.200.63,。,ikernprocessor0=Intel(R)Xeon(R)CPU E5405 2.00GHz,prouptime=27 days,uptime_days=27,uptime_hours=651,uptime_seconds=2344200,注:这些变量可以直接来使用,例如:$:ipaddress或者$:ipaddress,当然你也可以自定义fact,需要使用ruby来编写。,开源社区版和企业版对比,开源社区版,企业版,用户图形接口,内置,Ec2,模块,内置,Ec2,模块,内置,Vmware vms,配置管理,-,发现和克隆,配置管理,-,操作系统,配置管理,-,操作系统,配置管理,-,用户账户管理,管理应用,管理应用,内置,300+,模块,内置,300+,模块,统一跨平台组件安装,自动配置审记,业务流程自动化,网络技术社区支持,网络技术社区支持,7*24,小时技术支持,puppetlabs,工程师认证支持,依赖包在一个目录下,平滑升级和维护支持,puppet 目录结构与模块介绍,puppet 目录结构(右一),注:manifests/site.pp必须存在,puppet 模块结构(右二),注:manifests/init.pp必须存存,Puppet,与其它自动化工具对比,puppet,VS,cfengine,p,uppet,VS,chef,安装配置简单,安装复杂需要依赖DB,基于ruby开发,Puppet 自有高级配置语言,基于c语言,语法难懂,学习维护成本高,备份恢复简单,备份恢复复杂,用于管理各种资源,重点用于管理文件,底层负责建模,模拟资源之间相互关系,安装配置简单,安装配置比较复杂,基于ruby,用户不熟悉ruby,也可以使用,使用的是ruby扩展,需要用户熟悉ruby语言,入门难,备份恢复简单,维护不方便,有众多开发者和文档,文档或者资料少,有更成熟悉商业经验,用户群相对少,更多功能,借鉴其思想,是puppet一个分支,Puppet,使用注意事项,1.,主机名使用,FQDN,格式命名,需要DNS或者hosts解析,2.C/S,两端时间要同步,SSL,认证依赖于时间,3.ssl,认证过后,请不要修改主机名,4.Usecachefaiure,5.,tag 和,tagged,6.,节点可以继承,但不能多重继承,7.,类可以继承与覆盖,子类可以向父类添加额外属性值,8.puppet,支持多环境部署(分:开发、测试、线上),9.tidy,资源中多条件关系是或者,而不是,and,10.选择正确的版本,Puppet,使用时注意事项,1.节点设置tag,tag(old-slow-server),if tagged(old-slow-server),notify this will succeed:,2.对资源设置tag,file /etc/ssh/sshd_config:,.,notify=Servicessh,tag =s,sh,#puppet agent-test-tags,ssh,1,类继承示例,class,nginx,:port8,1,inherits,nginx,.,错误示例,class,nginx,:port8,1,inherits,nginx ,apache,.,子类向父类添加额外属性,Service,nginx,require+File,/etc/nginx/conf.d/nginx81.conf,Puppet,的应用案例,Puppet,管理用户(关于:管理用户的几点说明,a.puppet 支持ldap以及nis集中认证,b.puppet 支持用户密码管理,最好以(单引号)括起来,c.puppet 建用户的默认是不建家目录的,需要使用managerhome=true,p,uppet,管理,nginx,puppet kick,Puppet MC,ollective,P,uppet,func,puppet 虚拟资源,以为前缀,使用虚拟资源需要配置storeconfig,虚拟资源使用场景,多个资源需要引用共同的某个资源实例,例如A用户是SA,又是DBA,puppet nginx 应用案例,Exec有条件的执行:,creates:指定命令所生成的文件那么命令只会在所指定的文件不存在的情况的被执行,unless:所设定的命令返回0时才执行,onlyif:只会在onlyif设定的命令返回0时才执行,refreshonly:触发刷新动作。,资源之间依赖关系:,before、after、require,资源之间触发,subscribe notify,友情提示:,refreshonly,refresh的区别,refreshonly:收到多少次通知,就执行多少资源,,refresh:不管有多少次通知,请执行一次。,puppet+kick,puppet kick:主动强制客户端运行puppet agent.,注意:puppet kick 并不关心客户端puppet agent 有没有执行错误,它成功连接到agent 即返回退出0.,MCollective介绍,官方的解释:MCollective就是一个调度器,可以解决多个puppet agent同时向master提出请求造成性能,速度下降的问题;它可以根据不同的属性对节点进行分类,对不同分类执行不同的任务;它是一个控制终端,可以使用它控制客户端和服务器,因此不需要puppet agent定时运行了.,MCollective也是一种Client/Server架构,而且client和server使用Midware(中间件)进行通信,需要java以及activemq支持.,Mcollective官文说明:,http:/ MCollective 功能,1.管理/控制/执行,服务,软件包,进程信息,Facter facts,ping,使用说明:,#mco,The Marionette Collective version 1.3.2,/usr/bin/mco:command(options),Known commands:find pgrep facts ping puppetd help controller rpc inventory service,需要更多功能,可以安装更多插件,Mcollective 使用示例,rootpuppet1#mco find,puppet1,rootpuppet1#mco ping, time=56.11 ms, time=95.86 ms,puppet1 time=96.78 ms,-ping statistics-,3 replies max:96.78 min:56.11 avg:82.92,rootpuppet1#mco puppetd status,*=3/3, Currently stopped;last completed run 9663 seconds ago,puppet1 Currently idling;last completed run 1665580 seconds ago, Currently idling;last completed run 149 seconds ago,Finished processing 3/3 hosts in 36.27 ms,Puppet mcollective使用示例,MCollect使用示例,rootpuppet1#mco pgrep ruby,*=3/3,PID USER VSZ COMMAND,9955 root 112.996 MB ruby/usr/sbin/mcollectived-pid=/var/run/mcollectived.pid,PID USER VSZ COMMAND,5717 root 113.801 MB ruby/usr/sbin/mcollectived-pid=/var/run/mcollectived.pid,25631 root 153.289 MB /usr/bin/ruby/usr/sbin/puppetd-server=puppetmaster1-log,-process list stats-,Matched hosts:2,Matched processes:3,Resident Size:28.917 MB,Virtual Size:380.086 MB,Finished processing 3/3 hosts in 198.42 ms,puppet +func 管理,Func全称为Fedora Unified Network Controller(Fedora统一网络控制器),由Fedara社区维护的一款用于服务器自动化远程管理的工具。有如下特性:,Func 可以在主控机上一次管理任意多台服务器,或任意多个服务器组;,Func 基于 Certmaster(https:/fedorahosted.org/certmaster/)建立了,Master Slaves 主从 SS
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!