当您使用 Foreman 和 Katello 管理 IT 基础设施时,通常操作的最小单元是主机。您可以配置主机、交付版本化的内容以及设置配置。使用 Foreman ACD,您可以使用 Foreman 实例来部署由跨多个主机的多个服务组成的应用程序。这篇博文简要介绍了 Foreman ACD 插件,并解释了它如何帮助您部署 Prometheus 和 Grafana 堆栈。如果您想了解更多关于部署由 Elasticsearch 集群和 Kibana 组成的 ELK 堆栈的信息,请查看使用以应用程序为中心的部署方式部署 ELK 集群。
Foreman 和 Katello 简介
您可以使用 Foreman 和 Katello 来管理您的 IT 基础设施。使用 Foreman 通常从管理内容开始。您可以从上游仓库导入内容,对软件包进行版本控制和过滤,混合仓库,并使其可供主机使用。接下来,您可以根据同步的内容来配置主机。使用插件,您可以部署到云端和本地解决方案。第三步是使用配置管理工具,例如 Ansible,来配置主机。配置包括安装软件包、创建用户、指定网络设置等等。
总而言之,传统方法侧重于单个主机或类似主机组。最常见的是,主机详细信息使用 Foreman 中的所谓*主机组*共享。它们包含配置和配置信息,例如计算资源、Ansible 角色、操作系统、配置模板、参数等。您可以将它们视为新主机的“蓝图”。基于您已经使用主机组部署的主机来部署其他主机非常简单,只需输入有效的主机名即可。
但是,如果您想提供一种更友好的方式来部署应用程序呢?如果您的应用程序依赖于需要一个或多个主机的多个服务呢?Foreman ACD 来拯救你。
Foreman ACD 来拯救
传统的部署侧重于单个主机,这些主机根据主机组进行配置和配置。Foreman ACD,即*以应用程序为中心的部署*的缩写,是用于部署应用程序的 Foreman 插件。它由 ATIX AG 开发和维护,并且是完全开源的。

(Maximilian Kolb, CC BY-SA 4.0)
上面的屏幕截图显示了如何基于 Ansible playbook 和先前创建的应用程序定义来部署 Prometheus 和 Grafana 集群。对于最终用户来说,部署他们的应用程序就像输入主机名和选择作为应用程序一部分的服务数量一样简单。有关 Prometheus 和 Grafana 示例的更多信息,请查看 orcharhino 博客中的使用以应用程序为中心的部署方式部署 Prometheus 和 Grafana 集群。
主机和以应用程序为中心的方法之间有什么区别?
传统的以主机为中心和以应用程序为中心的方式都共享一些程序。它们都从使用基础设施准备 Foreman、导入内容和创建必要的实体(如操作系统)开始。一切准备就绪后,部署和配置信息将捆绑在主机组中。
以下是两种不同的方法。
以主机为中心的方法
- 将 Foreman 集成到您的基础设施中
- 导入内容
- 设置主机组
- 根据主机组创建主机
- 使用您选择的自动化软件(如 Ansible)配置主机
- 使用配置管理安装软件包并配置防火墙等服务
以应用程序为中心的方法
- 将 Foreman 集成到您的基础设施中
- 导入内容
- 设置主机组
- 获取由 Ansible playbook 和应用程序定义组成的 ACD 模板
- 创建和部署应用程序实例。
Foreman ACD 使用 Ansible playbook 和应用程序定义来自动化由多个服务组成的应用程序部署,应用程序定义将服务连接到主机组,并可选择定义主机参数。它需要 foreman_acd 和 smart_proxy_acd 插件,这些插件都是开源软件。软件包可在 yum.theforeman.org 找到。
使用 Foreman ACD 的优势
Foreman ACD 帮助您只需单击一个按钮即可部署完整的应用程序。Foreman 配置主机并在部署后自动配置它们。每个服务都在定义的主机组上启动。
在自助服务方面,ACD 帮助您划分用户的职责:您可以将 以应用程序为中心的部署管理器 角色分配给导入 Ansible playbook 并定义应用程序定义的用户。具有 以应用程序为中心的部署用户 角色的最终用户仅有权部署预定义的应用程序定义。请注意,如果允许,最终用户仍然可以在预定义的范围内设置变量,例如用户帐户、端口或每个服务的 主机数量。
Foreman ACD 通过处理主机间连接来确保无缝的部署体验。您可以同时部署多个主机,所有操作都在支持自助服务的界面中完成。此功能允许技术知识或访问权限较少的用户垂直和/或水平扩展其应用程序。
总结
如果您已经配置了 Foreman 和 Katello 来配置主机,并且已经拥有捆绑部署和配置信息的主机组,那么使用 Foreman ACD 插件是利用现有设置的下一步。您可以方便地部署完整的应用程序,而无需手动连接主机。
Foreman ACD 和 Smart Proxy ACD 是由 ATIX AG 开发和维护的 Foreman 的开源插件。您可以在 docs.theforeman.org > Application Centric Deployment 中找到文档。还有几个开源 ACD playbook,例如 用于 Elasticsearch 集群和 Kibana 的 ACD playbook 和 ACD playbook 用于 Prometheus 和 Grafana。如果您有任何问题、反馈或建议,请在 community.theforeman.org 上打开一个帖子。
我们的下一个 ACD playbook 将帮助您部署 Kubernetes。关注博客,阅读即将发布的公告:orcharhino.com/news。
评论已关闭。