在 Foreman 中管理 deb 内容

使用 Foreman 为某些 Linux 系统提供软件包和勘误。
84 位读者喜欢这篇文章。

Foreman 是用于部署、配置和修补主机的数据中心自动化工具。 它依赖 Katello 进行内容管理,而 Katello 又依赖 Pulp 来管理存储库。 有关更多信息,请参见使用 Pulp Debian 管理内容

Pulp 为不同的内容类型提供了许多插件,包括 RPM 软件包、Ansible 角色和集合、PyPI 软件包和 deb 内容。 后者称为 pulp_deb 插件。

Foreman 中的内容管理

为主机提供内容的基本思路是镜像存储库,并通过 Foreman 服务器或连接的 Smart Proxies 为主机提供内容。

本教程是向 Foreman 添加 deb 内容并为运行 Debian 10 的主机提供服务的逐步指南。“Deb 内容”是指基于 Debian 的 Linux 系统(例如 Debian 和 Ubuntu)的软件包和勘误。 本文重点介绍 Debian 10 Buster,但除非另有说明,否则该说明也适用于 Ubuntu 20.04 Focal Fossa

1. 创建操作系统

1.1. 创建架构

导航至主机 > 架构并创建一个新的架构(如果您要部署 Debian 10 主机的架构丢失)。 本教程假设您的主机运行在 x86_64 架构上,就像 Foreman 一样。

1.2. 创建安装介质

导航至主机 > 安装介质并创建新的 Debian 10 安装介质。 使用上游存储库 URL http://ftp.debian.org/debian/

选择 Debian 或 Ubuntu 的 Debian 操作系统系列。

或者,您也可以使用 Debian 镜像。 但是,通过 Pulp 同步的内容不起作用,原因有两个:首先,linuxinitrd.gz文件不在预期位置;其次,Release文件未签名。

1.3. 创建操作系统

导航至主机 > 操作系统并创建一个名为 Debian 10 的新操作系统。 使用 10 作为主要版本,并将次要版本字段留空。 对于 Ubuntu,使用 20.04 作为主要版本,并将次要版本字段留空。

选择 Debian 或 Ubuntu 的 Debian 操作系统系列,并指定发行版名称(例如,Debian 10 的 Buster 或 Debian 9 的 Stretch)。 选择默认分区表和配置模板,即 Preseed 默认 *

1.4. 调整默认 Preseed 模板(可选)

导航至主机 > 分区表主机 > 配置模板,并在必要时调整默认 Preseed 模板。 请注意,您需要先克隆锁定的模板,然后才能对其进行编辑。 克隆的模板将不会收到 Foreman 较新版本的更新。 所有基于 Debian 的系统都使用 Preseed 模板,默认情况下 Foreman 中包含这些模板。

1.5. 关联模板

导航至主机 > 配置模板并搜索 Preseed。 将所有所需的配置模板关联到操作系统。 然后,导航至主机 > 操作系统并选择 Debian 10 作为操作系统。 选择模板选项卡,并关联所需的任何配置模板。

2. 同步内容

2.1. 为 Debian 上游存储库和 Debian 客户端创建内容凭证

导航至内容 > 内容凭证并添加所需的 GPG 公钥作为 Foreman 的内容凭证,以验证 deb 软件包的真实性。 要获取必要的 GPG 公钥,请验证 Release 文件并按如下方式导出相应的 GPG 公钥

  • Debian 10 main
    wget http://ftp.debian.org/debian/dists/buster/Release && wget http://ftp.debian.org/debian/dists/buster/Release.gpg
    gpg --verify Release.gpg Release
    gpg --keyserver keys.gnupg.net --recv-key 16E90B3FDF65EDE3AA7F323C04EE7237B7D453EC
    gpg --keyserver keys.gnupg.net --recv-key 0146DC6D4A0B2914BDED34DB648ACFD622F3D138
    gpg --keyserver keys.gnupg.net --recv-key 6D33866EDD8FFA41C0143AEDDCC9EFBF77E11517
    gpg --armor --export E0B11894F66AEC98 DC30D7C23CBBABEE DCC9EFBF77E11517 > debian_10_main.txt
  • Debian 10 security
    wget http://security.debian.org/debian-security/dists/buster/updates/Release && wget http://security.debian.org/debian-security/dists/buster/updates/Release.gpg
    gpg --verify Release.gpg Release
    gpg --keyserver keys.gnupg.net --recv-key 379483D8B60160B155B372DDAA8E81B4331F7F50
    gpg --keyserver keys.gnupg.net --recv-key 5237CEEEF212F3D51C74ABE0112695A0E562B32A
    gpg --armor --export EDA0D2388AE22BA9 4DFAB270CAA96DFA > debian_10_security.txt
  • Debian 10 updates
    wget http://ftp.debian.org/debian/dists/buster-updates/Release && wget http://ftp.debian.org/debian/dists/buster-updates/Release.gpg
    gpg --verify Release.gpg Release
    gpg --keyserver keys.gnupg.net --recv-key 16E90B3FDF65EDE3AA7F323C04EE7237B7D453EC
    gpg --keyserver keys.gnupg.net --recv-key 0146DC6D4A0B2914BDED34DB648ACFD622F3D138
    gpg --armor --export E0B11894F66AEC98 DC30D7C23CBBABEE > debian_10_updates.txt
  • Debian 10 client
    wget --output-document=debian_10_client.txt https://apt.atix.de/atix_gpg.pub

您可以选择相应的 ASCII 盔甲 TXT 文件以上传到您的 Foreman 实例。

2.2. 创建名为 Debian 10 和 Debian 10 客户端的产品

导航至内容 > 主机并创建两个新产品。

2.3. 创建必要的 Debian 10 存储库

导航至内容 > 产品并选择 Debian 10 产品。 创建三个 deb 存储库

  • Debian 10 main
    • URL: http://ftp.debian.org/debian/
    • Releases: buster
    • Component: main
    • Architecture: amd64
  • Debian 10 security
    • URL: http://deb.debian.org/debian-security/
    • Releases: buster/updates
    • Component: main
    • Architecture: amd64

如果需要,可以添加一个自托管的勘误服务:https://github.com/ATIX-AG/errata_serverhttps://github.com/ATIX-AG/errata_parser

  • Debian 10 updates
    • URL: http://ftp.debian.org/debian/
    • Releases: buster-updates
    • Component: main
    • Architecture: amd64

选择您在步骤 2.1 中创建的内容凭证。 根据需要调整组件和架构。 导航至内容 > 产品并选择 Debian 10 client 产品。 创建一个 deb 存储库,如下所示

  • Debian 10 subscription-manager
    • URL: https://apt.atix.de/Debian10/
    • Releases: stable
    • Component: main
    • Architecture: amd64

选择您在步骤 2.1 中创建的内容凭证。 Debian 10 客户端包含 subscription-manager 软件包,该软件包在每个内容主机上运行,以接收来自 Foreman 服务器或连接的 Smart Proxy 的内容。 有关更多说明,请访问 apt.atix.de

2.4. 同步存储库

如果需要,您可以创建一个同步计划来定期同步 Debian 10Debian 10 client 产品。 要一次同步产品,请单击产品页面上的选择操作 > 立即同步按钮。

2.5. 创建内容视图

导航至内容 > 内容视图,并创建一个名为 Debian 10 的内容视图,该视图包含在 Debian 10 产品中创建的 Debian 上游存储库,并发布新版本。 对 Debian 10 client 产品的 Debian 10 client 存储库执行相同的操作。

2.6. 创建组合内容视图

创建一个名为 Composite Debian 10 的新组合内容视图,该视图包含先前发布的 Debian 10Debian 10 client 内容视图,并发布新版本。 您可以选择性地添加您选择的其他内容视图(例如,Puppet)。

2.7. 创建激活密钥

导航至内容 > 激活密钥并创建一个名为 debian-10 的新激活密钥

  • 选择生命周期环境并添加 Composite Debian 10 内容视图。
  • 详细信息选项卡上,分配正确的生命周期环境和组合内容视图。
  • 订阅选项卡上,分配必要的订阅,即 Debian 10Debian 10 client 产品。

3. 部署主机

3.1. 通过端口 8000 启用配置

通过 SSH 连接到您的 Foreman 实例并编辑以下文件

/etc/foreman-proxy/settings.yml

搜索 :http_port: 8000 并确保它未被注释掉(即,该行不是以 # 开头)。

3.2. 创建主机组

导航至配置 > 主机组并创建一个名为 Debian 10 的新主机组。 查看有关 创建主机组的 Foreman 文档,并确保在操作系统激活密钥选项卡上选择正确的条目。

3.3. 创建一个新主机

导航至主机 > 创建主机并选择上述主机组,或者手动输入相同的信息。

提示:部署运行 Ubuntu 20.04 的主机甚至更容易,因为您可以使用其官方安装介质 ISO 映像并进行脱机安装。 查看 orcharhino 的 管理 Ubuntu 系统指南以获取更多信息。

ATIX 已经开发了多个 Foreman 插件,并且是 Foreman 开源生态系统不可或缺的一部分。 社区对我们贡献的反馈将反馈给我们的客户,因为我们将不断努力改进我们的下游产品 orcharhino

下一步阅读

与 Red Hat 的 Pulp 团队合作

今年五月,我在红帽公司的 Pulp 团队开始了我的实习。 因为这是我的第一次实习,我以为整个夏天我都将在某个小房间里,做一些……

标签
User profile image.
白天是技术内容创作者 | 晚上是黑客 | 选择极简主义

评论已关闭。

© 2025 open-source.net.cn. All rights reserved.