foreman架构的引入1-foreman作为自动化运维工具为什么会如此强大

简介:

零基础学习Puppet自动化配置管理系列文档

在引入foreman之前,笔者曾经大幅度测试过puppet的另外一个生态圈前端软件,那就是KermIT(kermit.fr需要墙)。说实话基于KermIT这套架构还是相当不错的,尤其是在于mcollective的各种插件结合上做的很完美,可惜社区太不活跃,软件版本更新超慢,坑超多,最终还是放弃了。不过,他的架构还是值得借鉴的,对于那些想自己在puppet前端做UI的朋友可以多参考参考。

本文引入另外一个非常出色的前端管理工具Foreman,什么是foreman呢,官方是这样定义的:Foreman是一个物理和虚拟服务器的完整的生命周期管理工具(Foreman is a complete lifecycle management tool for physical and virtual servers)。

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

本文从以下几个方面入手进行剖析

1、foreman的架构

A Foreman installation will always contain a central foreman instance that is responsible for providing the Web based GUI, node configurations, initial host configuration files, etc. However, if the foreman installation supports unattended installations then other operations need to be performed to fully automate this process. The smart proxy manages remote services and is generally installed with all Foreman installations to allow for TFTP, DHCP, DNS, and Puppet, and the Puppet CA.

以上为官方的定义,我这里在根据日常使用的情况进行一些概括(以目前最新稳定版本1.5.2为例进行说明)

  1. foreman本身只是一个框架,通过smart-proxy代理各种应用程序完成各项功能。 Foreman框架Foreman框架

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

  3. foreman通过代理puppet、puppet CA完成对puppet自动签名、puppet环境、class、变量、facter的管理。 Foreman版本发展线路图Foreman版本发展线路图Foreman版本发展线路图Foreman版本发展线路图

  4. foreman通过ENC和静态组管理class和node之间的关联。 Foreman版本发展线路图Foreman版本发展线路图

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

  6. foreman可以收集所有节点运行puppet后的报告、执行情况。 Foreman版本发展线路图Foreman版本发展线路图

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

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

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

  10. foreman还提供了强大了用户、权限管理入口,可以建立多个用户、多个用户组、还可以对权限进行角色的定义等。不同的权限用户在UI上所看到的功能以及主机是不一样的。 Foreman版本发展线路图Foreman版本发展线路图

  11. foreman还提供了所有在UI上操作的Audits(审计)功能,这样可以保障所有用户的操作都有据可查。 Foreman版本发展线路图Foreman版本发展线路图

除此之外,还有其它很多功能。。。。

针对配置管理的不足之处:foreman和mcollective的结合并不是很好,它仅仅是借用了puppetkick的插件集成了mcollective的一条命令而已,这方面后期是否会有改进还需要等待。

2、foreman的版本蓝图

以下为foreman的版本发展线路图

Foreman版本发展线路图Foreman版本发展线路图

从图中可以看出,foreman的发展是相当的迅速的,无论是版本更替上还是社区的活跃度上都是相当的良好。



本文转自凌激冰51CTO博客,原文链接:http://blog.51cto.com/dreamfire/1542171,如需转载请自行联系原作者

相关文章
|
2月前
|
运维 Prometheus 监控
别再盲选了!开源运维工具选型这事儿,咱得说人话
别再盲选了!开源运维工具选型这事儿,咱得说人话
120 7
|
1月前
|
运维 Prometheus 监控
3 年部署经验总结:用自动化工具轻松管理 300+ 服务器开源软件
三年前接手公司IT部门时,我满怀信心,却发现部署效率低下。尽管使用了GitLab、Jenkins、Zabbix等100+开源工具,部署仍耗时费力。文档厚重如百科,却难解实际困境。一次凌晨三点的加班让我下定决心改变现状。偶然看到一篇国外博客,介绍了自动化部署的高效方式,我深受启发。
113 0
|
3月前
|
人工智能 运维 安全
基于合合信息开源智能终端工具—Chaterm的实战指南【当运维遇上AI,一场效率革命正在发生】
在云计算和多平台运维日益复杂的今天,传统命令行工具正面临前所未有的挑战。工程师不仅要记忆成百上千条操作命令,还需在不同平台之间切换终端、脚本、权限和语法,操作效率与安全性常常难以兼顾。尤其在多云环境、远程办公、跨部门协作频繁的背景下,这些“低效、碎片化、易出错”的传统运维方式,已经严重阻碍了 IT 团队的创新能力和响应速度。 而就在这时,一款由合合信息推出的新型智能终端工具——Chaterm,正在悄然颠覆这一现状。它不仅是一款跨平台终端工具,更是业内率先引入 AI Agent 能力 的“会思考”的云资源管理助手。
|
1月前
|
人工智能 数据可视化 数据挖掘
团队日报不用愁!自动化生成工具亲测:任务进度实时同步
本文深入分析了传统手动日报在数据孤岛、格式混乱和时效性差三大痛点,并探讨了自动化日报带来的效率提升、决策优化等四大核心价值。通过对板栗看板、SmartBrief、n8n 等六款主流工具的功能、适用场景及实战效果进行测评,为企业提供科学的选型建议与实施路径。
团队日报不用愁!自动化生成工具亲测:任务进度实时同步
|
2月前
|
数据采集 人工智能 API
推荐一款Python开源的AI自动化工具:Browser Use
Browser Use 是一款基于 Python 的开源 AI 自动化工具,融合大型语言模型与浏览器自动化技术,支持网页导航、数据抓取、智能决策等操作,适用于测试、爬虫、信息提取等多种场景。
587 4
推荐一款Python开源的AI自动化工具:Browser Use
|
2月前
|
敏捷开发 JSON 负载均衡
自动化流程推进工具的核心价值与优势,如何快速提升团队生产力?
自动化流程推进工具通过任务自动分配、进度跟踪、智能提醒等功能,提升团队协作效率,解决任务分配不均、沟通成本高、流程不规范等问题,助力项目高效执行。
|
1月前
|
数据采集 运维 监控
|
2月前
|
敏捷开发 运维 数据可视化
DevOps看板工具中的协作功能:如何打破开发、测试与运维之间的沟通壁垒
在DevOps实践中,看板工具通过可视化任务管理和自动化流程,提升开发与运维团队的协作效率。它支持敏捷开发、持续交付,助力团队高效应对需求变化,实现跨职能协作与流程优化。
|
数据采集 人工智能 机器人
RPA与爬虫:自动化工具的本质差异与选择指南
本文深入解析RPA与爬虫的本质差异,帮助企业根据业务需求明智选型。RPA侧重内部流程自动化,爬虫专注外部数据采集。内容涵盖技术原理、应用场景、优劣势对比及主流RPA工具介绍,助力把握自动化趋势,提升效率。
377 0

热门文章

最新文章