Foreman 系统管理员工具入门指南

Foreman 提供了一套强大的系统管理工具,从流程自动化到安全合规等。以下是如何开始使用。
767 位读者喜欢这篇文章。
Construction worker building a cinderblock wall

Opensource.com

您的系统管理工具是否足够强大?

随着您的组织成长,您的工作量以及管理它所需的 IT 资源也随之增长。没有“一刀切”的系统管理解决方案,但像 Foreman 这样的集中式开源工具可以帮助您管理公司的 IT 资产,方法是在整个生命周期中配置、维护和更新主机。

当与其他开源项目和插件集成时,Foreman 会变得更加强大,我将在下面更详细地讨论这些内容。但是,为了开始,让我们考虑一下有效系统管理工具的关键功能。

Foreman and essential system management areas

有效的系统管理工具应解决所有这些关键领域。

主机配置 用于在裸机、本地部署或云提供商的数据中心上部署实例或虚拟机。

内容管理 是指在 CDN 和整个生命周期(即开发、测试、QA 和生产)的系统中发布、推广和管理各种版本的存储库和软件包。

补丁/勘误管理 包括错误修复和咨询或增强软件包。有效的系统管理工具应定期识别适用的勘误,并及时修补已注册的系统。

订阅许可证管理 允许通过系统管理门户购买、续订和扩展订阅。此信息应在每个系统的用户帐户中频繁更新。

健康监控和报告 实现实时系统检查。这应包括已注册主机和正在运行的服务的更新、勘误、合规性、工作负载和系统性能指标。

远程执行 用于在主机或主机组上运行任意命令,以远程执行类似活动。这些命令可以自定义;例如,配置模板或分区表。

身份和策略 允许您创建不同的用户和角色并管理各种权限策略。此功能还应支持 Kerberos 和 LDAP 集成和身份验证。

警报和通知 审计管理员和用户活动。此工具应立即检测到每个节点中进行了哪些更改、何时进行的更改以及可能存在潜在风险的位置。

自动化 适用于重复性任务。顶级系统管理工具应帮助识别和自动化这些流程。

Foreman 和开源插件

Foreman 的基本功能包括主机配置、发现未知节点以及升级裸机、虚拟机管理程序和云数据中心上的实例。插件可以极大地增强这些功能。

Smart Proxy,也称为 Foreman Proxy,是一个扩展的子系统,它通过 Foreman 的指令执行操作。它可以托管在物理、本地部署或第三方云或虚拟机管理程序上。在大型分布式组织中,将 Smart Proxy 放置在实例附近可以减少网络延迟。

Foreman in distributed system

Foreman 与插件在分布式系统中协同工作。

以下是一些与 Foreman 集成的开源项目

Katello 是一个存储库和订阅管理插件。它从上游存储库下载内容,并在不同的生命周期环境中管理本地 yum、puppet repos 和内容版本。Katello 包含两个重要的服务

  • Candlepin 在 Katello 中运行,管理所有注册系统的订阅和许可证。
  • Pulp 处理存储库和软件包。它支持 RPM、勘误、kickstart 树、元数据等。您可以本地同步远程内容(例如 EPEL),并将自定义内容上传到 pulp 存储库。

OpenScap 管理受管主机上的 安全 合规性和漏洞。它使用安全内容自动化协议 (SCAP) 来评估、衡量和执行安全策略。然后,Foreman 允许您创建、上传策略并将其分配给主机或主机组。运行 SCAP 扫描脚本的客户端可以将报告上传到 Foreman Proxy,管理员可以使用它进行评估。

远程执行 使 Foreman 能够同时在多个主机上执行随机命令。这些命令中的变量可以采用主机的事实、类参数或用户在触发执行时指定的主机参数。

Ansible 插件允许您在每次运行 playbook 或 Ansible 模块时导入主机以及事实。简而言之,它可以自动化流程并定义可以在受管主机上强制执行的角色列表。

Docker 自动化 Linux 容器 内应用程序的部署。在 Foreman 中,容器仅部署在 Docker 提供程序类型的计算资源上,从而实现快速应用程序部署并简化测试和维护。

作为 Foreman 安装程序的一部分,Puppet 帮助在主机上配置 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 HTTP 访问 Foreman Web UI,使用 Apache + Passenger 配置模板
443 TCP HTTPS 访问 Foreman Web UI,使用 Apache + Passenger 配置模板
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 installer code

使用安装程序成功安装 Foreman 工具。

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

Foreman login screen

Foreman GUI 的登录屏幕。安装后在此处登录以更改您的密码。

成功登录 Foreman GUI 后,您可以通过仪表板中的 我的帐户 设置更改密码。有关更多详细信息,请访问 Foreman 网站GitHub

Foreman 是一款功能强大的系统管理员工具,使用起来既有趣又具有挑战性。请告诉我们您对它的看法。另外,请分享您对您认为有用的任何其他开源项目的想法。

Avatar
Amit 在 Red Hat 工作,对 RHEL、Linux、内核及其子系统、调优和故障排除充满热情。

2 条评论

我认为文章中有一个小小的错误。Katello 不是存储库和订阅管理插件,因为这将间接暗示如果您不使用 Katello,您就无法进行存储库和订阅管理。事实并非如此。

Katello(曾经是一个独立的应用程序)为内容和订阅提供统一的工作流程和 Web 界面 (WebUI),其中所述内容和订阅由 Pulp 和 Candlepin 处理。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.