Puppet整合Foreman(一):架构说明

网友投稿 891 2023-03-15

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

Puppet整合Foreman(一):架构说明

一、重新来过

之前的PUPPET文档基本能够满足使用,算是第一阶段;但为了更好的完成自动化工作,开始研究强大的Foreman、Mcollective等工具,本文开始将发布基于Foreman、Mcollective的PUPPET应用第二阶段部署过程,重新搭建实验环境。

二、Foreman架构

三、功能说明

1、foreman通过代理DNS、DHCP、TFTP完成了kickstart、cobbler、jumpstart 等各种自动化安装系统工具的图形统一管理窗口, 实现的结果是只需要在foreman上定制各种模板(pxe、ks),不同的模板 还可以嵌套各种片段(snippet)达到统一、简化的目的。

2、foreman通过代理puppet、puppet CA完成对puppet自动签名、puppet环境、class、变量、facter的管理。

3、foreman通过ENC和静态组管理class和node之间的关联。

4、foreman通过puppet plugin,可以在UI上完成对节点puppet命令的触发动作, 触发的方法可以借助puppetkick(已经被遗弃)、mcollective(借助sudo)、 puppetssh(借助sshkey)、salt、customrun等各种工具实现。

5、foreman可以收集所有节点运行puppet后的报告、执行情况。

6、foreman还提供了各种搜索、报表等功能,能够更好的展现节点的运行状况。

7、foreman除了管理裸机外还可以管理各种虚拟化软件,比如RHEV-M、EC2、VMWware和OpenStack等。

8、foreman还可以和LDAP以及AD集成。

9、foreman还提供了强大了用户、权限管理入口,可以建立多个用户、多个用户组、还可以对权限进行角色的定义等。

10、foreman还提供了所有在UI上操作的Audits(审计)功能,这样可以保障所有用户的操作都有据可查。

四、版本选择

软件:Puppet-Server-3.7.3 Foreman-1.6.3

说明:试过puppet 3.7.5 和 3.8.1版本,用foreman-installer安装时会报如下错误

1
/usr/lib/ruby/site_ruby/1.8/puppet/context.rb:54:in lookup': Could not parse for environment production: no 'environments' in {:current_environment=>#<Puppet::Node::Environment:0x7fa9df7dace0 @manifest=:no_manifest, @modulepath=[], @name=:"*root*", @watching=true, @config_version=nil>, :root_environment=>#<Puppet::Node::Environment:0x7fa9df7dace0 @manifest=:no_manifest, @modulepath=[], @name=:"*root*", @watching=true, @config_version=nil>} at top of [[0, nil, nil]] (Puppet::Error) from /usr/lib/ruby/site_ruby/1.8/puppet.rb:236:inlookup' from /usr/lib/ruby/site_ruby/1.8/puppet.rb:264:in

1/usr/lib/ruby/site_ruby/1.8/puppet/context.rb:54:in lookup': Could not parse for environment production: no 'environments' in {:current_environment=>#<Puppet::Node::Environment:0x7fa9df7dace0 @manifest=:no_manifest, @modulepath=[], @name=:"*root*", @watching=true, @config_version=nil>, :root_environment=>#<Puppet::Node::Environment:0x7fa9df7dace0 @manifest=:no_manifest, @modulepath=[], @name=:"*root*", @watching=true, @config_version=nil>} at top of [[0, nil, nil]] (Puppet::Error) from /usr/lib/ruby/site_ruby/1.8/puppet.rb:236:inlookup' from /usr/lib/ruby/site_ruby/1.8/puppet.rb:264:in

五、参考文档

上一篇:Puppet整合Foreman(二):安装puppet
下一篇:运维监控平台之ganglia教程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~