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

[经验分享] puppet入门与掌握之puppet工作原理(原理篇)

[复制链接]

尚未签到

发表于 2018-8-2 08:15:25 | 显示全部楼层 |阅读模式
  对于puppet的的掌握,理解puppet的工作原理是一个必要的的阶段,只有在了解了puppet的工作原理后才能更好应用puppet,下面让我们一起了解学习puppet的工作原理:
  说到puppet的工作原理,不得不从以下四个方面来说到,如下所示:
  (1)定义:使用Puppet特定的语言定义基础配置信息。通常我们把这些信息写在Modules中。
  (2)模板:在配置执行之前检测代码,但并不真正执行。
  (3)执行:定义的配置自动部署。检测并记录下所发生变化的部分。
  (4)报告:将期待的变化、实际发生的变化及任何修改发送给报告系统。
  如下所示为puppet的工作数据流示意图
DSC0000.png

  数据流说明:

  •   首先所有的节点(Node)Node节点将Facts和本机信息发送给Master
  •   Master告诉Node节点应该如何配置,将这些信息写入Catalog后传给Node。
  •   Node节点在本机进行代码解析验证并执行,将结果反馈给Master。
  •   Master通过API将数据发给分析工具。报告完全可以通过开放API或与其他系统集成。
  整个数据流的走向是基于SSL安全协议的,如下图所示:
DSC0001.png

  模板文件处理过程说明如下:
  Puppet通过编译Manifest中的内容 (即模板中内容),将编译好的代码存入Catalog。在执行前先进行代码的验证,再执行,完成最开始所定义好的状态。代码编译过程如图所示:
DSC0002.png

  如下所示为整个puppet自动部署过程中agent和master的详细的交互过程:
DSC0003.png

  过程说明:
  1. Puppet客户端Agent将节点名与facts信息发送给Master。
  2. Puppet服务端Master通过分类判断请求的客户端是谁,它将要做什么。这个判断是通过site.pp中包含的Node.pp配置文件定义的。
  3. Puppet服务端Master将所需要的Class类信息进行编译后存入Catalog并发送给Puppet客户端Agent,到此完成第一次交互。
  4. Puppet客户端Agent对Catalog进行代码验证(语法检查及错误检查)并执行。主要是代码的验证,并将执行过程的信息及结果写入日志。
  5. Puppet客户端Agent最终达到最开始所定义的状态,并且将结果及任何执行数据通过开放API的形式发送给Puppet服务端Master。
  以上就是puppet的工作原理需要注意是:因为整个过程中都是基于ssl实现的,所以首要的是保证agent和master间可以基于ssl通讯!

运维网声明 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-545037-1-1.html 上篇帖子: 2.1-puppet配置cron 下篇帖子: Puppet集中配置管理系统(目录)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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