Foreman简介

Foreman是集成的数据中心生命周期管理工具,提供了服务开通、配置管理和报告等功能。

Foreman和Puppet Dashboard不同的地方在于,它更关注于服务开通和管理数据中心的能力。

为什么要引入foreman作为配置管理工具的前端呢?

  1. foreman通过smart-proxy代理各种应用程序完成各项功能。
  2. foreman通过代理DNS、DHCP、TFTP完成了kickstart、cobbler、jumpstart等各种自动化安装系统工具的图形统一管理窗口,实现的结果是只需要在foreman上定制各种模板(pxe、ks),不同的模板还可以嵌套各种片段(snippet)达到统一、简化的目的。完成之后,便可以添加节点,关联定义的各种模板生成各种的pxe和ks文件实现自动化安装。

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

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

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

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

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

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

  9. foreman还可以和LDAP以及AD集成。

  10. foreman还提供了强大了用户、权限管理入口,可以建立多个用户、多个用户组、还可以对权限进行角色的定义等。不同的权限用户在UI上所看到的功能以及主机是不一样的。
  11. foreman还提供了所有在UI上操作的Audits(审计)功能,这样可以保障所有用户的操作都有据可查。

还有其他功能等等。

foreman 架构

foreman