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

四、版本选择

系统: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安装时会报如下错误

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

五、参考文档

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

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

http://projects.the-forman.org

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/56268.html

(0)
上一篇 2021年8月7日 14:09
下一篇 2021年8月7日 14:09

相关推荐

发表回复

登录后才能评论