免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: send_linux
打印 上一主题 下一主题

[puppet] Puppet在自动化运维工作中的应用(获奖名单已公布-2013-12-18) [复制链接]

论坛徽章:
1
摩羯座
日期:2013-11-26 13:38:18
31 [报告]
发表于 2013-11-08 15:52 |只看该作者
顶一下,表明我的态度

论坛徽章:
0
32 [报告]
发表于 2013-11-11 19:18 |只看该作者
回复 6# yuhongchun

顶!又一方案~

   

论坛徽章:
1
申猴
日期:2014-05-19 22:15:39
33 [报告]
发表于 2013-11-13 00:07 |只看该作者
话题一:可以分享下puppet的学习心得及提升技巧
通过几个月的puppet的学习,感觉puppet功能很强大,能完成日程运维工作中的绝大部分问题,通过它可以对机器从到货到下架的整个生命周期进行维护和管理,基于linux的一切接文件,puppet可以很好的维护好这些文件,并能保持好文件的状态。通过几个月的学习和使用和体会,感觉puppet确实是一个较好的C/S工具,但在权限管理,接口方面有些欠缺,不能有效的实现各自host管理。这方面chef做的比较好。

话题二:分享下puppet在实际工作中的应用心得和注意事项
架构方面:
1.尽量采用预认证,统一证书,不要一个agent一个证书,否则机器改名后难于管理,并且机器多了不好对证书进行管理,进行证书统一方便进行puppet的master的集群的搭建。
2.master前端接入采用nginx+passenger,不要采用puppet自带的webrick服务,自带web性能较差。
3.机器较多的话,dashboard使用foreman,尽量不要使用dashboard,dashboard处理是后端数据库容易成为瓶颈(报告的表结构设计不够合理),且功能较少,foreman提供的功能较多,并且接口较多。
4.agent端尽量采用agent主动触发,不用daemon后台运行,agent的自动运行可以较少并发和负载(crontab),agent开启daemon,会有内存泄漏,并且如果agent挂了,就会失去和master的通信。
5.如果可以,可以考虑使用去master化,采用puppet apply来实现每个agent就是一个master,这样就避免master端的负载过高或导致报表模块的数据库写入较慢。
资源描述:
1.资源的描述尽量使用package,不用exec,package依赖于源,yum或gem等各种源,yum和gem源可进行服务隔离,独自搭建。
2.资源描述尽量做到组件化,能做到资源组合和复用,能使用虚拟资源的就用虚拟资源,后台进行异步配置存储,否则,会使资源描述的杂乱脏,不够优雅。
3.引入节点分类器,不要全部是对机器进行分类,否则服务变换,或机器改名,会对puppet的运行出错,维护起来麻烦。
4.尽量让agent通信一次后再次通信时没有资源的修改,这样才是最好的资源描述。

话题三:以自己的工作环境举例,说明下puppet在其公司的应用(可作无害处理)
目前在公司能将基础运维组件进行收敛统一管理起来,主要包括系统基础组件(基本账户,基本目录,信任关系,系统基本配置等),服务基础组件(Apache,tomcat,jdk,nginx,lvs,redis,memcache,ruby,python,mysql,mfs,hadoop-client,基本脚本等)以及公司内部的一些基础运维组件。

评分

参与人数 1可用积分 +8 信誉积分 +2 收起 理由
yuhongchun + 8 + 2 谢谢分享工作中这么详细的puppet使用心得,.

查看全部评分

论坛徽章:
1
申猴
日期:2014-05-19 22:15:39
34 [报告]
发表于 2013-11-13 00:14 |只看该作者

关键是如何记录操作的记录。。。不知道 dashboard和foreman有没有这个功能呢。

在dashboad和foreman中是可以进行kick操作的!

论坛徽章:
6
未羊
日期:2013-11-15 09:12:28狮子座
日期:2013-12-10 10:10:54技术图书徽章
日期:2014-01-09 17:41:45技术图书徽章
日期:2014-01-09 17:42:04技术图书徽章
日期:2014-01-09 17:42:5215-16赛季CBA联赛之广夏
日期:2018-01-10 15:17:38
35 [报告]
发表于 2013-11-13 22:24 |只看该作者
Puppet管理有很多大牛嘛 ==

论坛徽章:
223
2022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32操作系统版块每日发帖之星
日期:2016-05-10 19:22:58操作系统版块每日发帖之星
日期:2016-02-18 06:20:00操作系统版块每日发帖之星
日期:2016-03-01 06:20:00操作系统版块每日发帖之星
日期:2016-03-02 06:20:0015-16赛季CBA联赛之上海
日期:2019-09-20 12:29:3219周年集字徽章-周
日期:2019-10-01 20:47:4815-16赛季CBA联赛之八一
日期:2020-10-23 18:30:5320周年集字徽章-20	
日期:2020-10-28 14:14:2615-16赛季CBA联赛之广夏
日期:2023-02-25 16:26:26CU十四周年纪念徽章
日期:2023-04-13 12:23:10操作系统版块每日发帖之星
日期:2016-05-10 19:22:58
36 [报告]
发表于 2013-11-14 14:17 |只看该作者
回复 33# zhangxuan3210


    请问一下,使用了yum等源后,服务器中还有多少软件是自己编译安装的啊??

论坛徽章:
1
申猴
日期:2014-05-19 22:15:39
37 [报告]
发表于 2013-11-15 00:22 |只看该作者
回复 36# action08
不是使用外部的yum源,而是自己搭建一个yum源,所有的基础环境和运维组件都是自己打包的,引入开源的东西很好,但是需要考虑到一些安全性的东西,所以不会让你直接运用别人的yum源的。


   

论坛徽章:
6
丑牛
日期:2013-09-17 00:18:40未羊
日期:2013-10-31 12:10:47午马
日期:2013-12-07 01:58:50水瓶座
日期:2013-12-24 22:43:12水瓶座
日期:2014-03-15 21:12:13操作系统版块每日发帖之星
日期:2016-08-07 06:20:00
38 [报告]
发表于 2013-11-16 11:45 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
6
丑牛
日期:2013-09-17 00:18:40未羊
日期:2013-10-31 12:10:47午马
日期:2013-12-07 01:58:50水瓶座
日期:2013-12-24 22:43:12水瓶座
日期:2014-03-15 21:12:13操作系统版块每日发帖之星
日期:2016-08-07 06:20:00
39 [报告]
发表于 2013-11-17 22:38 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
17
戌狗
日期:2013-09-02 23:43:02技术图书徽章
日期:2014-04-29 14:16:02技术图书徽章
日期:2014-04-24 15:51:26未羊
日期:2014-04-06 22:10:30丑牛
日期:2014-04-06 21:23:29辰龙
日期:2014-04-06 21:20:22处女座
日期:2014-04-06 21:16:18技术图书徽章
日期:2014-04-02 15:10:51金牛座
日期:2014-03-10 22:26:18巨蟹座
日期:2014-02-17 17:12:12技术图书徽章
日期:2014-01-24 10:38:43摩羯座
日期:2013-11-29 18:00:18
40 [报告]
发表于 2013-11-17 23:37 |只看该作者
本帖最后由 jimmy-_-lixw 于 2013-11-17 23:41 编辑
话题一:可以分享下puppet的学习心得及提升技巧。

首先,自动化运维方面的工具有很多,puppet是其中一个自动化管理工具,很多时候还需要借助其他工具,或者其他软件的辅助。
同样,很多朋友再初次使用puppet的时候,都会有一个类似的问题:puppet是否适合我现在的环境。
与其他管理工具相互配合时候,结合各自工具功能优势,最终目标当然是更方便、快捷、易用地完成目标任务。
再者,并不是非要成千上万台服务器才适合使用puppet来做自动化,数量不是选择运维自动化的唯一标准。
相反,服务器数量不多,选择使用运维自动化工具,很多事情能够做到事半功倍效果。
所以选择运维自动化运维工具,应该从puppet能否减轻服务器重复的工作量为标准。提高脚本或者应用程序的复用效率,让重复的任务自动化完成,普遍类型的任务计划复用率提高。在自动化运维工作中使用自动化运维工具,例如puppet、saltstack还是func,它们有各自优势。

话题二:分享下puppet在实际工作中的应用心得及注意事项。


使用puppet自动化批量安装linux软件或者程序的时候,普遍的做法是先把它打包成RPM包,完成然后再结合puppet的使用。
例如在linux软件管理运维,开发工作中遇到的问题和解决方法。
RPM 包是redhat相关发行版上流行的软件管理工具,用于安装、卸载 rpm格式的软件包。rpmbuild 命令 结合 spec 文件可以从源码打包成rpm 软件包。
编写好 spec 文件,有个 spec 文件模版,再根据模版文件,填写好对应的选项信息,也可以做到自动化打包,只是这个spec模版怎么做,是自动化的关键。
国内使用Centos系统的人多,Centos/redhat等系列的yum和rpm管理软件,工具包。安装、卸载、管理都非常方便。
实际生产中,使用rpmbuild打包制作rpm吧。用过rpmbuild打包nginx,定制个性化版本,配置等信息都是自定义好的。用过rpmbuild打包tengine,基于x64位系统,centos5 / 6 版本的rpm包。编译好好后的程序,rpmbuild打包成rpm。方便其他同型号机器快速安装。
打包成rpm包目的都是提高了软件安装的复用性。然后配合与使用puppet自动化批量安装rpm。

话题三:以自己的工作环境举例,说明下puppet在其公司的应用(可作无害处理)

关注这些自动化运维工具中,目前开源的运维工具还有很多。选择合适的工具,应用才能恰到好处,优势自然能体现出来了。
1.Puppet结合rsync工具实现文件同步、推送文件,这个是Puppet目前应用最普遍的实例。
2.Puppet与hadoop的配合使用实例:利用Puppet等自动化部署工具完成Hadoop软件的安装和配置。
自动化运维工具在工作中的应用。目前都是使用shell脚本,根据实际的需求写shell脚本完成批量操作。
使用最多的还是 shell 、python脚本编写,其中配合func工具的使用,操作多台Linux服务器,并做些重复的工作。


好主题,我来支持。
来冒下泡,默默看帖子的大师们发言。

评分

参与人数 1可用积分 +10 信誉积分 +2 收起 理由
yuhongchun + 10 + 2 赞一个!尤其是话题二的分享,谢谢。

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP