设为首页 收藏本站
查看: 1461|回复: 0

[经验分享] Puppet初粗入门(1)

[复制链接]

尚未签到

发表于 2015-9-16 10:11:46 | 显示全部楼层 |阅读模式
  本来想翻译官方文档……无奈我这破英文啊……还是简明扼要的根据《Pro Puppet》这本书的教学顺序来写吧。(最近的两篇难道都因为太短所以被移出首页了?T_T赶紧补字……)
  
  Puppet是一个集成管理配置LINUX机器群的工具,直白的就是说在多服务器的运维环境下,使用Puppet可以简化群体操作,就像是老师一次给所有的学生下了同样的命令,然后学生根据自己的情况来完成,而不是老师根据每个学生不同的情况来给学生不同的命令。Puppet的运作是典型的C/S模式,一个Server,多个Client。这个Server被称作master,而Client被叫作agent,也就是指属于master的node们。
  在每个instance上,无论它是master还是agent,Puppet都作为daemon程序常驻进程,agent们通过SSL标准与master建立加密认证连接,而master就作为接收上级(也就是用户)的命令并向agent们发送命令的指挥官(因为用户是BOSS,嘿嘿~)。
  打个不算很贴切的比方,master是教材科老师,专门负责给任课老师(agent)发书,他手上有语文、数学、英语的教材,每次学期刚开始时,任课老师会去他那里领自己要用的书,还有一种情况是某科的教材发生了变更,教材科老师也会通知相应的老师也会去向他拿,而不需要由任课老师自己去书店或是网上淘。Puppet中的master保存了对每个agent的相应配置,而且可以将相同类型的对象放在一起,比如语文是一类,数学是一类,而agent会定时向master发送请求来保持自己的配置是最新的,或者是由用户手动给master下指令让它来给agent们提供更新。Puppet的默认设置是agent们每三十分钟向master发一次更新请求。
  这个工作流程在Puppet的model中被叫为“Deployment”(部署)。《Pro Puppet》中还提到,除了这两种情况外,还有其它的,书上说在后面会讲到,嘿嘿,那就看到后面在写吧。
  在master和agent之间,到底是通过什么来配合的呢?Puppet使用一种陈述性的语言来定义配置项,这每一个配置项被叫做“resources”,Puppet关心的是哪些instance要完成哪些任何,而不是这些instance是如何完成任何的,像Perl或是Shell这类的脚本语言则是过程序的语言来完成配置任务。嘛……没准Puppet和脚本就像面向对象和面向过程一样。
  举例来说,我要在几台CentOS上安装tomcat,如果在使用了Puppet的情况下,只需要定义一个“tomcat安装任务”的resource,它的type(类型)是“安装”,它的title(标题)是“安装tomcat”,它的attribute(属性)值为“install tomcat”,也就是典型的一个resource的结构:
  type { title:
  attribute => value,
  }
  当然了,在Puppet中type是有规定的,并不是自己随便写的,在Puppet的官方文档里有所有可用的type:
  augeas
computer
cron
exec
file
filebucket
group
host
interface
k5login
macauthorization
mailalias
maillist
mcx
mount
nagios_command
nagios_contact
nagios_contactgroup
nagios_host
nagios_hostdependency
nagios_hostescalation
nagios_hostextinfo
nagios_hostgroup
nagios_service
nagios_servicedependency
nagios_serviceescalation
nagios_serviceextinfo
nagios_servicegroup
nagios_timeperiod
notify
package
resources
router
schedule
selboolean
selmodule
service
ssh_authorized_key
sshkey
stage
tidy
user
vlan
yumrepo
zfs
zone
zpool

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-114336-1-1.html 上篇帖子: Puppet 部署tomcat 下篇帖子: Puppet master/agent installation on RHEL7
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表