首页 >常见问题 >puppet是使用什么语言编写的

puppet是使用什么语言编写的

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼原创
2020-01-06 11:22:092651浏览

puppet是使用什么语言编写的

一、Puppet基础原理

Puppet是一款使用GPLV2X协议授权的开源管理配置工具,puppet是用ruby编写的,因此puppet的语法也和ruby类似,都是很简单的面对对象的高级语言。它既可以通过客户端—服务器的方式运行,也可以独立运行。puppet可以为系统管理员提供方便,快捷的系统自动化管理。

二、puppet工作流程

客户端 puppet-client 向 puppet-master 发起认证请求,或使用带签名的证书。

puppet-master 告诉 puppet-client 是合法的。

puppet-client 调用 facter, Facter 探测出主机的一些变量, 例如主机名、 内存大小、 IP 地址等,puppet-client 将这些信息通过 SSL 连接发送到服务器端。

puppet-master 服务器端检测客户端的主机名,然后找到 manifest 对应的 node 配置,并对该部分内容进行解析。facter 送过来的信息可以作为变量处理,node 牵涉到的代码才解析,其他没牵涉的代码不解析。解析分为几个阶段,首先是语法检查,如果语法错误就报错;如果语法没错,就继续解析,解析的结果生成一个中间的“伪代码”(catelog),然后把伪代码发给客户端。

puppet-client 端接收到“伪代码”,并且执行。

puppet-client 端在执行时判断有没有 file 文件,如果有,则向 fileserver 发起请求。

puppet-client 端判断有没有配置 report,如果已配置,则把执行结果发送给服务器。

puppet-server 端把 puppet-client 端的执行结果写入日志,并发送给报告系统。

更多常见问题,敬请访问PHP中文网。

以上是puppet是使用什么语言编写的的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关文章

查看更多