Gray1982 发表于 2013-12-17 22:19

回复 15# ajiangwenbing


    现在相当的多了,很多哦:victory:

Gray1982 发表于 2013-12-17 22:21

回复 40# jimmy-_-lixw


   
比如呢????什么情况p用不上?

yuxcer 发表于 2013-12-18 15:41

本帖最后由 yuxcer 于 2013-12-18 15:48 编辑

Puppet代码管理

我通常使用git做代码版本控制,git和svn之争我觉得已经没有什么必要了。
说一下代码的管理流程:
每次新的提交会走内部CI流程,新的patch会先上传到gerrit上,主动trigger Jenkins上对应的自动测试jobs,这个jobs会做三件事情:运行rspec跑单元测试,lint格式检查以及ruby erb模板语法检查,如果通过就可以merge到master分支,最后由gerrit把代码推送到内部git repo。

为了在灵活和统一管理上做到最好的平衡,每个module作为一个独立的repo,相关联的repo会使用submodule的方式进行管理,目前我大概管理了60多个puppet module。

关于puppet

Puppet DSL上手容易,文档齐全,class,define,module的结合使得代码有不错的重用能力。在扩展性上,使用ruby对resource,facter,function进行定制扩展也很方便。
要说缺点的话,puppet dsl对一些logic statement的支持力度有待提高,目前在我管理的某些module中,需要使用geek的办法来解决。

关于市场和社区

Puppet目前在cms领域排名第一,许多大公司在使用它做配置管理。puppet是开源软件,使用apache协议,经过了多年的发展,因此社区非常活跃,本人亦是puppet-openstack core developer。
关于puppet的发展,可以参看我以前写的一篇博文:http://www.cnblogs.com/yuxc/p/3197094.html

关于和provision的结合

目前来看,Foreman比puppet Dashboad强多了,而且1.3版本修复了许多重要的bug,与puppet的结合能力大大提高,作为服务器的生命周期管理平台是一个不错的选择。目前我们改变一台服务器的角色,从下线到重新上线不超过30分钟。

chszs 发表于 2013-12-30 16:17

我来谈谈我对Puppet的认识吧。
Puppet基于Ruby开发、开源,支持C/S方式运行,也可独立运行。不过普遍部署为C/S方式运行。
Puppet适合运维人员用于管理主机,包括初始化安装、升级、维护、迁移、下架等。
Puppet模型由三部分组成:部署、配置语言和资源抽象层、事务层。
Puppet支持多种操作系统,Puppet自身的安装和配置都比较简单。
Puppet的配置是可以导出的。
Puppet有两个控制台:官方的Puppet Dashboard和第三方开发的Foreman。两者都是基于Ruby on Rails开发,都在不断地发展中。
在http://forge.puppetlabs.com 有Puppet在线模块仓库。
Puppet的报告系统很重要,初学者应该掌握它。
积极参与Puppet社区,社区提供了很多解决问题的方案。
Puppet成熟的集群方案有:1)Puppet+Nginx;2)Puppet+Passenger;3)Puppet+Mongrel;4)Puppet+Git等。
总之,Puppet是一个伟大的工具,对于运维工程师来说,当你管理的服务器多了,你就能体会出它的强大之处了。
页: 1 2 3 4 [5]
查看完整版本: 自动化运维之---如何管理Puppet配置文件(获奖名单已公布-2014-2-17)