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

一、重新来过

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


二、Foreman架构

wKioL1XBs9iRDodYAAG980qJZ1M394.jpg


三、功能说明

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(审计)功能,这样可以保障所有用户的操作都有据可查。


四、版本选择

系统:CentOS 6.5 x64  IP:10.99.1.30  HOSTNAME:puppet.ewp.com

软件:Puppet-Server-3.7.3 Foreman-1.6.3

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

/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

五、参考文档

http://kisspuppet.com/2014/12/05/foreman_learning_4/

http://theforeman.org/manuals/1.5/index.html#3.InstallingForeman

http://projects.the-forman.org



你可能感兴趣的:(puppet,foreman)