- 论坛徽章:
- 1
|
话题一:可以分享下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,基本脚本等)以及公司内部的一些基础运维组件。
|
评分
-
查看全部评分
|