运维自动化puppet应用与架构

上传人:xiao****1972 文档编号:74433422 上传时间:2019-01-28 格式:PPT 页数:35 大小:2.76MB
返回 下载 相关 举报
运维自动化puppet应用与架构_第1页
第1页 / 共35页
运维自动化puppet应用与架构_第2页
第2页 / 共35页
运维自动化puppet应用与架构_第3页
第3页 / 共35页
运维自动化puppet应用与架构_第4页
第4页 / 共35页
运维自动化puppet应用与架构_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《运维自动化puppet应用与架构》由会员分享,可在线阅读,更多相关《运维自动化puppet应用与架构(35页珍藏版)》请在金锄头文库上搜索。

1、Puppet 应用与架构,吴问志,网站: 邮箱: 微博:,引言,机器越来越多 应用越来越复杂 架构越来越复杂 审记越来越难,内容概要,1.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

2、介绍 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

3、 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 工作流程分拆

4、,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

5、_hours = 651 uptime_seconds = 2344200 注:这些变量可以直接来使用,例如: $:ipaddress或者$:ipaddress 当然你也可以自定义fact,需要使用ruby来编写。,开源社区版和企业版对比,puppet 目录结构与模块介绍,puppet 目录结构 (右一) 注:manifests/site.pp必须存在 puppet 模块结构(右二) 注: manifests/init.pp必须存存,Puppet 与其它自动化工具对比,puppet VS cfengine,puppet VS chef,Puppet 使用注意事项,1.主机名使用FQDN格式命名

6、,需要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 succee

7、d“: 2.对资源设置tag file “/etc/ssh/sshd_config“: . notify = Service“ssh“, tag = “ssh“, # puppet agent -test -tags ssh,1,类继承示例 class nginx:port81 inherits nginx 错误示例 class nginx:port81 inherits nginx ,apache 子类向父类添加额外属性 Service“nginx“ require + File/“etc/nginx/conf.d/nginx81.conf“, ,Puppet 的应用案例,Puppet 管理

8、用户(关于:管理用户的几点说明 a. puppet 支持ldap以及nis集中认证 b.puppet 支持用户密码管理,最好以(单引号)括起来 c. puppet 建用户的默认是不建家目录的,需要使用managerhome=true puppet 管理nginx puppet kick Puppet MCollective Puppet func,puppet 虚拟资源,以为前缀 使用虚拟资源需要配置storeconfig 虚拟资源使用场景 多个资源需要引用共同的某个资源实例,例如A用户是SA,又是DBA,puppet nginx 应用案例,Exec有条件的执行: creates:指定命令所生

9、成的文件那么命令只会在所指定的文件不存在的情况的被执行 unless:所设定的命令返回0时才执行 onlyif:只会在onlyif设定的命令返回0时才执行 refreshonly:触发刷新动作。 资源之间依赖关系: before 、 after、 require 资源之间触发 subscribe notify 友情提示: refreshonly,refresh的区别 refreshonly:收到多少次通知,就执行多少资源, refresh:不管有多少次通知,请执行一次。,puppet +kick,puppet kick:主动强制客户端运行puppet agent. 注意:puppet kick

10、 并不关心客户端puppet agent 有没有执行错误,它成功连接到agent 即返回退出0.,MCollective介绍,官方的解释:MCollective就是一个调度器,可以解决多个puppet agent同时向master提出请求造成性能,速度下降的问题;它可以根据不同的属性对节点进行分类,对不同分类执行不同的任务;它是一个控制终端,可以使用它控制客户端和服务器,因此不需要puppet agent定时运行了. MCollective也是一种Client/Server架构,而且client和server使用Midware(中间件)进行通信,需要java以及activemq支持. Mcol

11、lective官文说明: 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

12、 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

13、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

14、 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/cer

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号