SVN自助更新:运维利器Puppet实例讲解.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SVN自助更新:运维利器Puppet实例讲解

大家可能已经都知道了puppet这个工具。Puppet用于实现配置管理工作的自动化(详见2010年系统管理员日当天的外电头条),既可以减轻系统管理员的工作量,更主要的是减少人为造成的失误。在开始阅读本文有关puppet的实例讲解之前,推荐大家先阅读stone的这篇puppet入门教程。作者简介:刘晗昭,网名蚊子(博客),某通信业国企系统工程师,熟悉各种主流开源软件的使用,部署和组合应用,以及主流网站架构。目前关注puppet线上应用与分布式缓存清除系统。一直想写点关于puppet的文章,但通过学习发现,puppet更多的是参数配置上的东西,写理论性的内容无非就是翻译一下官方文档,不利于新人对于puppet的理解上手。于是觉得,还是应该结合实际应用写些关于puppet使用方面的东西更贴近大众。首先简单介绍一下puppet。puppet是一种Linux、Unix平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,其设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。puppet采用C/S星状的结构,所有的客户端和一个或几个服务器交互。每个puppet客户端每半小时(可以设置)连接一次服务器端,下载最新的配置文件,并且严格按照配置文件来配置服务器,保证和该配置信息同步。配置完成以后,puppet客户端可以反馈给服务器端一个消息。如果出错,也会给服务器端反馈一个消息。情景描述在开始介绍实现方法之前,先介绍一下我们的业务情况。我们企业有不少项目是交给外包做的,相关的项目负责人或开发者有新的或更改过的项目文件会上传到我们的SVN服务器上,再由我们的系统管理员执行SVN update更新页面。一直以来我们的做法都是,项目负责人或开发者上传了新文件之后,去找到SA,SA再登录服务器手动执行svn up。每次都要SA动手实在很麻烦,所以前些日子看到puppet这个东西的时候,觉得这就是能够将项目负责人、开发者和SA从这个工作中解放出来的利器~这个SVN自助更新系统的实现思路如下:一、开发平台apache+perl-cgipuppet 二、功能介绍系统管理员/项目执行者/开发人员通过web的get对应的url,然后触发更新puppet-master中的一个文件,puppet-client在同步时间到来的时候(默认半小时,可改),判断master上对应的项目文件的md5值是否有变化,如果有变化,触发puppet配置中对应的svn更新的程序,完成此项目的更新。三、系统架构?四、实施步骤及相关说明解释1、puppet配置此处puppet的安装方法我就不写了,有需要的自行去网上查找。我这边是CentOS 5.4(服务器端)和CentOS 5.5(客户端),采用yum安装。A、puppet-master配置a) 首先是创建autosign.conf文件,此文件用于自动验证。*.这样所有这个域名过来的请求会自动验证。b) 修改puppet.conf文件。如果是通过rpm或yum安装,此文件内容可以基本保持不变[main]logdir = /var/log/puppetrundir = /var/run/puppetssldir = $vardir/sslbindaddress = 99[puppetd]classfile = $vardir/classes.txtlocalconfig = $vardir/localconfig此文件主要是定义了一些文件路径,我在这里添加了bindaddress = 99这条,绑定在了内网的ip上,因为我并不想让我的puppet-master被外网访问到,这个可以因个人环境而定。如果需要看详细的puppet.conf内容可以执行puppet --genconfig。c) 修改fileserver.conf,增加如下内容 [system]path /etc/puppet/modules/system/filesallow *.allow /24 [svnup]path /etc/puppet/modules/svn/filesallow *.allow /24此文件可以创建一个文件系统,有点类似rsync的配置,后面我会继续介绍。这个意思就是所有或者网段的机器可以访问/etc/puppet/modules/svn/files下的文件。注:以上三个文件都是放至在/etc/puppet目录下的d) puppet功能配置首先看下puppet的目录结构,/etc/puppet/|-- auth.conf|-- autosign.conf|-- fileserver.conf|-- manifests| |

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档