您的系统管理工具是否足够强大?
随着您的组织不断壮大,您的工作量以及管理它所需的 IT 资源也在增加。 没有“一刀切”的系统管理解决方案,但像 Foreman 这样的集中式开源工具可以帮助您管理公司的 IT 资产,从而在整个生命周期内配置、维护和更新主机。
当 Foreman 与其他开源项目和插件集成时,它会变得更加强大,我将在下面更详细地讨论这些内容。 但是,首先,让我们考虑有效的系统管理工具的关键功能。

有效的系统管理工具应解决所有这些关键领域。
主机配置用于在裸机、本地或云提供商的数据中心上部署实例或虚拟机。
内容管理是指在 CDN 和系统中的各个生命周期(即,开发、测试、QA 和生产)中发布、推广和管理各种版本的存储库和软件包。
补丁/勘误管理包括错误修复和咨询或增强软件包。 有效的系统管理工具应定期识别适用的勘误表并及时修补注册的系统。
订阅 或 许可证管理 允许通过系统管理门户购买、续订和扩展订阅。 此信息应在每个系统的用户帐户中经常更新。
健康监控和报告 能够进行实时系统检查。 这应包括已注册主机和正在运行的服务的更新、勘误、合规性、工作负载和系统性能指标。
远程执行 用于在主机或主机组上运行任意命令,以远程执行类似活动。 可以自定义这些命令; 例如,配置模板或分区表。
身份和策略 允许您创建不同的用户和角色,并管理各种权限策略。 此功能还应支持 Kerberos 和 LDAP 集成和身份验证。
警报和通知 审计管理员和用户活动。 此工具应立即检测到每个节点中进行了哪些更改,何时进行更改以及可能存在潜在风险的位置。
自动化 适用于重复性任务。 顶级的系统管理工具应有助于识别这些流程并使其自动化。
Foreman 和开源插件
Foreman 的基本功能包括主机配置、发现未知节点以及在裸机、虚拟机管理程序和云数据中心上升级实例。 插件可以大大增强这些功能。
Smart Proxy,也称为 Foreman Proxy,是一个扩展的子系统,通过来自 Foreman 的指令执行操作。 它可以托管在物理、本地或第三方云或虚拟机管理程序上。 在大型分布式组织中,将 Smart Proxy 放置在实例附近可减少网络延迟。

Foreman 与插件在分布式系统中工作。
以下是一些与 Foreman 集成的开源项目
Katello 是一个存储库和订阅管理插件。 它从上游存储库下载内容,并在不同的生命周期环境中管理本地 yum、puppet 存储库和内容版本。 Katello 包含两项重要服务
- Candlepin 在 Katello 中运行,管理所有已注册系统的订阅和许可证。
- Pulp 处理存储库和软件包。 它支持 RPM、勘误表、kickstart 树、元数据等。您可以在本地同步远程内容(例如 EPEL),并将自定义内容上传到 pulp 存储库。
OpenScap 管理受管主机上的 安全性 合规性和漏洞。 它使用安全内容自动化协议 (SCAP) 来评估、衡量和执行安全策略。 然后,Foreman 允许您创建、上传并将它们分配给主机或主机组。 运行 SCAP 扫描脚本的客户端可以将报告上传到 Foreman Proxy,管理员可以使用它进行评估。
远程执行 使 Foreman 能够同时在多个主机上执行随机命令。 这些命令中的变量可以采用主机的事实、类参数或用户在触发执行时指定的主机参数。
Ansible 插件允许您在每次运行 playbook 或 Ansible 模块时导入主机以及事实。 简而言之,它可以自动化流程并定义可以在受管主机上强制执行的角色列表。
Docker 自动化 Linux 容器 中应用程序的部署。 在 Foreman 中,容器仅部署在 Docker 提供程序类型的计算资源上,从而实现快速应用程序部署并简化测试和维护。
Puppet 是 Foreman 安装程序的一部分,它有助于在主机上配置 puppet 环境。 默认情况下,在 Foreman 服务器上运行的 Puppet master 在 Apache 和 Passenger 下配置。 Puppet 集成是 3.0 版本中的可选功能。
Hammer 是一个 CLI 工具,它提供与大多数 Web UI 功能等效的命令行选项。
Foreman 安装
您只需四个步骤即可完成您的第一个 Foreman 安装。 让我们执行快速安装,登录 GUI,然后开始使用 Foreman。
对于初始设置,您必须首先打开四个强制端口并启用 Puppet、EPEL 和 Foreman 存储库。 以下安装步骤在 CentOS 7 上执行; 但是,其他支持 Foreman 安装的平台包括 Fedora、Red Hat Enterprise Linux、Ubuntu、Oracle Linux 等。
第 1 步:在防火墙中打开必要的端口。
端口 | 协议 | 要求 |
69 | UDP | TFTP 服务器 |
80 | TCP | 通过 Apache + Passenger 对 Foreman Web UI 进行 HTTP 访问,使用配置模板 |
443 | TCP | 通过 Apache + Passenger 对 Foreman Web UI 进行 HTTPS 访问,使用配置模板 |
8140 | TCP | Puppet Master |
# firewall-cmd --permanent --add-port="69/udp"
# firewall-cmd --permanent --add-port="80/tcp"
# firewall-cmd --permanent --add-port="443/tcp"
# firewall-cmd --permanent --add-port="8140/tcp"
# firewall-cmd --reload
第 2 步:下载 Puppet、EPEL 和 Foreman RPM。
# yum -y install https://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm
# yum -y install http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# yum -y install https://yum.theforeman.org/releases/1.15/el7/x86_64/foreman-release.rpm
第 3 步:安装并执行 Foreman 安装程序 RPM。
要列出安装期间可用的所有选项,请使用 Foreman 安装程序 Help。 使用 -v 启用详细安装,使用 -i 启用用户交互模式。 在此示例中,我将继续使用非交互式默认选项。
# yum -y install foreman-installer
# foreman-installer --help
# foreman-installer

使用安装程序成功安装 Foreman 工具。
第 4 步:安装后,安装程序将为您提供 Foreman URL 详细信息、默认登录用户 admin 和自动生成的随机密码。 在浏览器上启动 Foreman https: URL 并登录。

登录 Foreman GUI 的登录屏幕。 安装后在此处登录以更改密码。
成功登录 Foreman GUI 后,您可以通过仪表板中的 我的帐户 设置更改密码。 有关更多详细信息,请访问 Foreman 网站 和 GitHub。
Foreman 是一个功能强大的系统管理员工具,使用起来既有趣又具有挑战性。 让我们知道您对它的看法。 另外,请分享您对您认为有用的任何其他开源项目的想法。
2 条评论