免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 29567 | 回复: 109
打印 上一主题 下一主题

自动化运维之----Puppet应用实战讨论(获奖名单已公布-2012-7-6) [复制链接]

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-06-12 10:37 |只看该作者 |倒序浏览

获奖名单已公布,详情请看:http://bbs.chinaunix.net/thread-3757481-1-1.html

自动化运维的应用背景:

1、保证快速上线
新项目的上线,往往时间紧迫,工作量大,要在短时间内部署大批量的服务器,如果还按照传统的工作模式,那么不仅耗时,而且工作量也是巨大的,如果启用自动化批量部署,那么就可以快速的部署好大批量的服务器,以保证项目的及时上线,还可以降低运维人员的工作

2、管理有序、减少误操作
随着我们的项目不断的增加,每天的访问量也越来越大,与此同时需要我们对外提供服务的机器也越来越多,产品也在频繁迭代,高频率的上线,越来越复杂的上线过程,已经成了一种噩梦,  做好自动化部署,已经是势在必行。

对于服务器的批量自动化管理,不管是管理1台,或者是上万台机器,puppet都能轻松搞定,让你的所有配置工作整齐划一,所谓配置管理系统,就是管理机器里面诸如文件,用户,进程,软件包这些资源,用puppet,可以运行一个服务器端,定义好各项配置文件,然后每个客户端通过ssl证书连接服务器,得到本机器的配置列表,然后更新列表来完成配置工作。

本期话题:
对于服务器的批量自动化管理,不管是管理1台,或者是上万台机器,puppet都能轻松搞定,让你的所有配置工作整齐划一,所谓配置管理系统,就是管理机器里面诸如文件,用户,进程,软件包这些资源,用puppet,可以运行一个服务器端,定义好各项配置文件,然后每个客户端通过ssl证书连接服务器,得到本机器的配置列表,然后更新列表来完成配置工作。
1、自动化运维是否大势所趋?
2、自动化运维中需要注意的问题
3、puppet自动化运维实战讨论

本期特邀嘉宾:
《精通puppet配置管理工具》译者高永超,chinaunixID:flex177,专职SA,喜欢钻研架构和运维相关知识,两年puppet使用经验,现任豆瓣运维工程师
ChinaUnix自动化运维板块版主:king_819
五分钟网络高级系统工程师:吴问志(华东运维技术沙龙嘉宾,ppt下载

活动时间:
2012年6月12日-6月28日

话题要求:
1、 要言之有物,不能低于20个字
2、 本次话题主要关注自动化运维的相关技术和问题讨论,其他问题可能不做重点


奖项设置:
最佳交流奖:1名,奖励ChinaUnix背包一个。
积极交流奖:5名,奖励《精通Puppet配置管理工具》图书一本
参与奖:所有有效参与的用户奖励ChinaUnix社区积分20分

图书简介:
精通Puppet配置管理工具

作者: (澳)James Turnbull    (美)Jeffrey McCune    [作译者介绍]
译者: 高永超
丛书名: 图灵程序设计丛书
出版社:人民邮电出版社
ISBN:9787115279514
上架时间:2012-5-23
出版日期:2012 年5月

图书简介:
《精通puppet配置管理工具》系统介绍了开源配置管理工具puppet,并提供了帮助使用puppet 的大量资源。书中讲述了如何创建puppet recipe、扩展puppet 并使用facter 整合来自服务器的配置数据,同时讲述了如何使用puppet 管理postfix、apache 和mysql 服务器,以及如何加载平衡puppet master。
  《精通puppet配置管理工具》涵盖了安装、使用并利用puppet 进行开发所需要的全部知识、内部技巧和技术。非常适合系统管理员、操作人员和开发人员阅读。

样章下载: 精通Puppet配置管理工具 第一章:开始使用Puppet.doc (429.5 KB, 下载次数: 441)

论坛徽章:
0
47 [报告]
发表于 2012-06-15 15:17 |只看该作者
本帖最后由 星火2012 于 2012-07-16 13:29 编辑

回复 6# yifangyou


    想说的都被你说了,看来包你是拿定了,呵呵。

    我们公司也是机器规模小,并且配置不一致,暂时还用不到puppet,不过我倒是想学学。

    网上也有一些写puppet比较多的站点,分享给大家:

    http://laird-sa.com/categories.html#puppet-ref
    http://chenlinux.com/
    http://code.google.com/p/puppet-manifest-share/downloads/list

    再增加一个强力站点:http://www.mysqlops.com/category/puppet

    有没有最佳分享奖啊。。。

论坛徽章:
0
57 [报告]
发表于 2012-06-15 21:41 |只看该作者
回复 1# send_linux


1、自动化运维是否大势所趋?
这个应该是运维从业者的一个必修的技术,自动化就是将一条一条的命令汇集到一个。sh文件中执行,进而通过条件定点的执行命令减少干预程度;
搞运维要有一定的灵活方式,自动化运维包括大规模的自动化部署,无论是操作系统还是到具体的应用环境还是具体的细节的conf文件;服务器的的监控工具,如nagios cacti等都应属于自动化的运维的一个步骤,通过监控工具可以提升运维的故障及时响应;故障的自动修复处理流程,这里的流程应该是涵盖到应用的程序的自动修复,如hadoop 少了个把节点仍然是可以执行的;

2、自动化运维中需要注意的问题
自动化的运维要具体结合项目环境的实际状况不能要过于追求众多的各类工具Puppet, CFengine, MCollective, Func, ControlTier, Cobbler.要合理选择合适的工具


3、puppet自动化运维实战讨论
这个自然有很多优势可管理配置文件、用户、cron任务、软件包、系统服务。
可以取消ssh账号登录,部署好的puppet系统通过此更新,通过监控工具获取节点状态,通过puppet执行对服务器的管理操作。

论坛徽章:
5
技术图书徽章
日期:2013-08-27 10:03:49CU大牛徽章
日期:2013-09-18 15:16:55CU大牛徽章
日期:2013-09-18 15:18:22CU大牛徽章
日期:2013-09-18 15:18:43技术图书徽章
日期:2014-04-24 15:51:26
60 [报告]
发表于 2012-06-17 09:49 |只看该作者
本帖最后由 Purple_Grape 于 2012-06-17 09:50 编辑

偶理想中的规模化运维是ks+ldap+puppet

ks 批量标准部署,ldap批量管理帐号,puppet批量执行命令

偶目前还只走出第一步,但是ldap、puppet、备份客户端、监控客户端都已经部署在ks脚本里了,留待以后启用。

论坛徽章:
6
CU大牛徽章
日期:2013-03-14 14:14:08CU大牛徽章
日期:2013-03-14 14:14:26CU大牛徽章
日期:2013-03-14 14:14:29处女座
日期:2014-04-21 11:51:59辰龙
日期:2014-05-12 09:15:10NBA常规赛纪念章
日期:2015-05-04 22:32:03
65 [报告]
发表于 2012-06-17 15:19 |只看该作者
我再转一篇网络上非常好的一个博主的文章
配置管理工具puppet与chef对比分析
http://blog.sina.com.cn/s/blog_5374d6e30100sum0.html
puppet与chef对比

首先说说相同点:

1、都是基于ruby语言
2、对要配置的对象提供了跨平台的抽象,用户大部分时间只跟这些抽象的资源打交道,而不用关心实现,如只需关心要添加什么软件或用户,不需要关心这些用户或软件是怎么添加上去的
3、都有配置中心服务器,在每台要配置的客户端上都需要安装客户端,客户端跟服务器端用证书认证
4、配置应用过程都有两个阶段,第一个阶段在配置中心进行,由配置中收服务器针对客户端生成资源列表,第二个阶段在客户端运行,将应用收到的资源列表。
5、都提供了扩展的方式,puppet用的是模块的方式,而chef用的是cookbook的方式。虽然感觉(我没有真正用过chef)chef的cookbook方式更灵活和易于分享,但是这两者实质是一样的

再说说不同点:
1、puppet提供的配置语言更通用和高级一些,用户不需要懂ruby语言。而对于chef,没有专门的配置语言,用户需要了解比较多的ruby语言。
2、puppet资源之间有显式的依赖关系,按照这些关系去实现,而跟这些资源在配置文件的位置或前后没有关系。而看了一下chef的一些例子,更像是ruby脚本,从前到后按顺序执行
3、puppet安装简单,需要的支持软件也少,服务器端也是这样。而chef在配置中心服务器端需要依赖软件比较多,需要couchdb、RabbitMQ和Solr,这样连带需要安装java和erlang,这样配置服务器过程要复杂很多
4、puppet服务端的配置都是一个一个的文本文件,这样易于发布、备份和扩展。而chef的服务器端的配置放在couchdb和solr索引等二进制文件中,通过远程命令工具knife来操作这些配置。这样,puppet更符合unix管理员的使用习惯。
5、puppet的用户很多,象Google、Redhat等大公司都在用它。而chef的用户就少多了,而且没有什么大的公司

最后,我感觉chef从puppet身上学到或借用了很多有用的概念,但是没有什么超越的地方。而puppet比以前的cfengine工具多出了很多的亮点,这也是我愿意从一个cfengine用户转到puppet用户的原因。但是,如果让我从puppet往chef上转,确实缺少动力。chef可能更适合专业用户,用在云计算这种需要更多定制的场合,只是不知道有没有合适的生态环境让它长那么大。呵呵。

论坛徽章:
0
97 [报告]
发表于 2012-06-27 17:27 |只看该作者
首先,自动化运维必然是以后大势所趋,不说现在很多公司都打着节约成本的口号缩减人员、薪水,记得以前既有大牛说过为了自己SA要做到能懒就懒,所以自动化运维应该会被越来越多的人看重、使用。之前的工作不管是几十台还是几百台都是几个人管理,有时候真的累得跟孙子一样,要是早实现自动化该省多少事儿、少操多少心啊。个人觉得就算机器少得可怜的情况下也可以尝试使用自动化,1来为了确保准确度避免因为人为原因而导致敲错、漏敲**啥咚咚(我就干过这种,因为你部署什么的时候经常还要兼着处理其他的事情);2来呢为了以后业务扩展早做准备,保不齐比如公司一夜之间融资成功突然扩大了整个大架构(虽然不大可能,不够世间无奇不有嘛);3就算真的一直机器不多咱不也多掌握一门技术嘛(当然这个看个人对职业的展望了),嘿嘿。。。

其次,因为还木有机会部署一套之类的东西来测试,所以自动化运维需要注意的问题只能根据平时想法来编了,个人觉得要注意:信息准确度、实施应用逻辑、功能实用性、实现效率、过程灵活度,如果是使用模块化的话比较理想,平时专注模块内容添加、优化等,当你要操作的时候把这些模块再选择、排序、集合一下就好了。平时很少写东西导致有时想的不少但是到了写的时候就不知道该怎么表达了,伤脑筋啊!

最近难得有段清闲时间,计划开始好好学习试用下自动化运维。其实现在最想赶紧实现的就是系统定制安装、资产管理、应用部署&监控还有各种操作结果返回的功能。所以如果能够奖励本书的话就完美了,呵呵。其他的还是等学习后再来分享吧,肚子没货还是不说了为好

论坛徽章:
0
102 [报告]
发表于 2012-06-29 10:00 |只看该作者
flex177  等各位Pt达人,
对于Puppet的使用 关于资源的控制还蛮方便,但是对于环境包的安装, 如lnmp  java 环境等 在没使用Puppet都是脚本源码安装,但是如果对于Puppet的包资源管理好像都是rpm 管理,问下下对于这些包管理 如果要构建个成熟的Puppet 环境,关于环境包的install 有没什么好的经验分享,或者 对于使用Puppet 结合你们自己使用的经验告知下心得!
谢谢!

入门Puppet 使用着

论坛徽章:
0
2 [报告]
发表于 2012-06-12 11:46 |只看该作者
支持!

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
3 [报告]
发表于 2012-06-12 11:55 |只看该作者
duanjigang 发表于 2012-06-12 11:46
支持!


分享分享啊,你不是在做那个yum的配置工具么?

论坛徽章:
8
CU大牛徽章
日期:2013-09-18 15:20:48CU大牛徽章
日期:2013-09-18 15:20:58CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:17天秤座
日期:2013-10-30 14:01:03摩羯座
日期:2013-11-29 18:02:31luobin
日期:2016-06-17 17:46:36
4 [报告]
发表于 2012-06-12 17:23 |只看该作者
本帖最后由 chinafenghao 于 2012-06-12 17:25 编辑

puppet是个好工具,很多朋友公司都上了这套东西,如果要做批量管理,得好好学习下。不过机器数量不多的话,上puppet也多半是为了练手,效率上没啥提升,甚至有降低。

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
5 [报告]
发表于 2012-06-12 22:12 |只看该作者
本帖最后由 chenyx 于 2012-06-12 22:12 编辑

支持下.
自动化运维,在服务器数量很大的情况下应该能发挥出效率,普通的应用,很少能象楼主说的那样,需要在短时间内大量部署,数量少的情况下,PXE+ks.cfg基本就能满足要求了.

论坛徽章:
27
CU大牛徽章
日期:2013-03-13 15:15:08CU大牛徽章
日期:2013-05-20 10:46:38CU大牛徽章
日期:2013-05-20 10:46:44CU大牛徽章
日期:2013-09-18 15:24:09CU大牛徽章
日期:2013-09-18 15:24:20CU大牛徽章
日期:2013-09-18 15:24:25CU大牛徽章
日期:2013-09-18 15:24:31CU大牛徽章
日期:2013-09-18 15:24:36CU大牛徽章
日期:2013-09-18 15:24:41CU大牛徽章
日期:2013-09-18 15:24:48CU大牛徽章
日期:2013-09-18 15:24:52处女座
日期:2013-09-27 17:45:43
6 [报告]
发表于 2012-06-12 23:59 |只看该作者
1、自动化运维是否大势所趋?
答:对于大公司来说是大势所趋,因为大公司需要做大量计算或者保证服务可用性,需要使用多台机器做成集群,少则十台,多则上千。若是网站上线时,光靠人力去部署非常耗精力。若是网站已经在线了,某一天需要修改某个配置文件,运维人员会发现是一件重复性无进步意义的劳动。而且靠人力管理一台台的机器,时间久了会发现原来部署时一样的各个机器会出现不一样的地方,比如说这个文件在一台机器有,而在另一台机器上没有。某一次更新会出现漏更新的问题。
这时就需要自动化运维系统,能够统一管理,若是从安装机器后保证完全一致,之后就完全通过自动化运维系统一起管理,这样可以保证环境完全一致。
但是对于我公司只有不到20台机器就不太适合自动化运维系统,因为我公司的服务器基本上是一个网站就在一台机器上,一台机器上跑n个网站,由于历史原因各个机器的环境完全不一样,每次修改一般只有一台机器。

2、自动化运维中需要注意的问题
答:1)自动化运维的前提是集群机器的环境是一样(一般是软件环境一样,最好是硬件环境也一样),若是其中某一台机器不一样的话,会发现自动化脚本非常难写,每次必须把这台机器单独处理。否则的话会在某一时刻或者某一个特定情况下出现这个脚本在某一台机器上执行出错或者失败。若是执行中没有出现任何问题或者提示失败,这更是一个潜在的隐患。
2)因为不可能所有机器的环境一模一样的,例如各个机器的ip就是不一样,或者硬件环境不一样(cpu,内存不一样),那样的话对于自动化脚本来说,就得单独处理了,例如httpd.conf里若是包含各个机器的ip的话,可以把各个机器的ip提前设置到环境变量里,自动化脚本直接使用环境变量即可。
   若是应用程序对硬件环境要求很严格的话,就得提前检查各台机器是否都达到要求。
3)每次执行完自动化脚本后,需要检查各台机器是否都已经执行成功了,防止某一台机器执行失败。
4)定时检查各个机器的环境是否一致,防止机器环境随着时间越来越不相同。

论坛徽章:
0
7 [报告]
发表于 2012-06-13 00:37 |只看该作者
有点儿兴趣

论坛徽章:
4
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:192015年迎新春徽章
日期:2015-03-04 09:57:09
8 [报告]
发表于 2012-06-13 01:03 |只看该作者
自动运维……
诶,脚本就像小脚女人的裹脚布啊,越写越长……

论坛徽章:
0
9 [报告]
发表于 2012-06-13 08:40 |只看该作者
支持活动!!!!!

论坛徽章:
0
10 [报告]
发表于 2012-06-13 09:11 |只看该作者
专门介绍Puppet,都可以出书了....
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP