第 3 章 将主机注册到 Satellite

将主机注册到卫星服务器或胶囊服务器的方法有三种:

  1. (默认方法) 从 Satellite 生成 curl 命令,并从无限数量的主机运行这个命令来使用全局注册模板进行注册。这个方法适用于尚未注册到 Satellite 的主机。

    通过使用此方法,您还可以在注册期间将 Satellite SSH 密钥部署到主机,以启用远程执行作业的主机。有关远程执行作业的更多信息,请参阅配置和设置远程作业

    通过使用此方法,也可以在将主机注册到 Satellite 期间,通过 Red Hat Insights 配置主机。有关在 Satellite 主机中使用 Insights 的更多信息,请参阅 使用 Red Hat Insights 监控主机

  2. (已弃用) 下载并安装使用者 RPM satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm,然后运行 Subscription Manager。这个方法适用于未通过 Satellite 置备的主机。
  3. (已弃用) 下载并运行 bootstrap 脚本(satellite.example.com/pub/bootstrap.py)。这个方法适用于未通过 Satellite 置备的主机。

您还可以将 Atomic 主机注册到卫星服务器或胶囊服务器。

使用以下步骤之一注册主机:

使用以下步骤安装和配置主机工具:

支持的主机操作系统

主机必须使用以下 Red Hat Enterprise Linux 版本之一:

  • 9.0 或更高版本
  • 8.0 或更高版本
  • 7.2 或更高版本
  • 6 with the ELS Add-On

请注意,基于权利的订阅模型已弃用,并将在以后的发行版本中删除。红帽建议您改用简单内容访问的基于访问的订阅服务。

支持的构架

支持所有 Red Hat Enterprise Linux 架构:

  • i386
  • x86_64
  • s390x
  • ppc_64

3.1. 注册主机

可通过在卫星上生成 curl 命令并在主机上运行此命令,将主机注册到卫星。此方法使用两个模板: 全局注册 模板和 主机初始配置 模板。这可让您完全控制主机注册过程。您可以通过导航到 Administer > Settings 并点 Provisioning 选项卡来设置默认模板。

先决条件

  • 生成 curl 命令的 Satellite 用户必须具有 create_hosts 权限。
  • 您必须在要注册的主机上具有 root 权限。
  • 卫星服务器、任何胶囊服务器和所有主机都必须与同一 NTP 服务器同步,并且使时间同步工具已启用并在运行。
  • 守护进程 rhsmcertd 必须正在主机上运行。
  • 主机必须有可用的激活码。如需更多信息,请参阅 管理内容 中的 管理激活密钥
  • 可选:如果要将主机注册到 Red Hat Insights,您必须同步 rhel-8-for-x86_64-baseos-rpmsrhel-8-for-x86_64-appstream-rpms 存储库,并在您使用的激活码中提供它们。这是在主机上安装 insights-client 软件包所必需的。
  • 如果要使用 Capsule 服务器而不是 Satellite 服务器,请确保已相应地配置了 Capsule 服务器。如需更多信息,请参阅安装 Capsule 服务器 中的 为主机注册和置备配置 Capsule

流程

  1. 在 Satellite Web UI 中,导航到 Hosts > Register Host
  2. 可选: 选择不同的 机构
  3. 可选: 选择不同的位置
  4. 可选:在 Host Group 列表中选择要关联主机的主机。从 主机组 继承值的字段:操作系统激活密钥生命周期环境
  5. 可选 :在操作系统 列表中,选择您要注册的主机的操作系统。
  6. 可选:在 Capsule 列表中,选择用于注册主机的胶囊。
  7. 可选:如果要使第一个调用不安全,请选择 Insecure 选项。在第一个调用过程中,主机从 Satellite 下载 CA 文件。主机将使用此 CA 文件连接到卫星,以备将来调用它们的安全。

    红帽建议您避免不安全的调用。

    如果攻击者位于 Satellite 和主机之间的网络中,则攻击者可以从第一个不安全的调用中获取 CA 文件,攻击者可以从注册的主机和 JSON Web Tokens(JWT)访问 API 调用的内容。因此,如果您选择在注册过程中部署 SSH 密钥,攻击者将能够使用 SSH 密钥访问主机。

    反之,您可以在注册主机前手动在每台主机上复制并安装 CA 文件。

    要做到这一点,找到 Satellite 存储 CA 文件的位置。导航到 Administer > Settings > Authentication 并找到 SSL CA 文件 设置的值。

    将 CA 文件复制到主机上的 /etc/pki/ca-trust/source/anchors/ 目录中,并输入以下命令:

    # update-ca-trust enable
    # update-ca-trust

    然后,使用安全 curl 命令注册主机,例如:

    # curl -sS https://satellite.example.com/register ...

    以下是使用 --insecure 选项的 curl 命令示例:

    # curl -sS --insecure https://satellite.example.com/register ...
  8. 选择 Advanced 选项卡。
  9. Setup REX 列表中,选择是否要将 Satellite SSH 密钥部署到主机。

    如果设置为 Yes,则在注册的主机上将安装公共 SSH 密钥。继承的值基于 host_registration_remote_execution 参数。它可以被继承,例如,来自主机组、操作系统或组织。覆盖后,所选值将存储在主机参数级别上。

  10. Setup Insights 列表中,选择是否安装 insights-client,并将主机注册到 Insights。

    Insights 工具仅适用于 Red Hat Enterprise Linux。它对其他操作系统没有影响。

    您必须在注册的机器中启用以下软件仓库:

    • Red Hat Enterprise Linux 6: rhel-6-server-rpms
    • Red Hat Enterprise Linux 7: rhel-7-server-rpms
    • Red Hat Enterprise Linux 8: rhel-8-for-x86_64-appstream-rpms

      insights-client 软件包默认安装在 Red Hat Enterprise Linux 8 上,除非使用 "Minimal Install" 选项部署 Red Hat Enterprise Linux 8 的环境中。

  11. 可选: 在 Install packages 字段中,列出您要在注册时要在主机上安装的软件包(使用空格分隔)。这可以通过 host_packages 参数设置。
  12. 可选: 选择 Update packages 选项在注册时更新主机中的所有软件包。这可以通过 host_update_packages 参数设置。
  13. 可选:在 Repository 字段中输入执行注册前要添加的存储库。例如,使 subscription-manager 软件包在注册时很有用。对于 Red Hat 系列发行版本,请输入该程序库的 URL,例如 http://rpm.example.com/
  14. 可选:在 Repository GPG 密钥 URL 字段中,指定公钥来验证 GPG 签名软件包的签名。需要使用 GPG 公钥标头以 ASCII 形式指定它。
  15. 可选:在 Token 生命周期(小时) 字段中,更改 Satellite 用于身份验证的 JSON Web Token(JWT)的有效性持续时间。此令牌的持续时间定义生成的 curl 命令的工作方式。您可以将持续时间设置为 0 – 999 999 小时,或没有限制。

    请注意,Satellite 应用生成 curl 命令对主机的授权的用户权限。如果用户丢失或获得额外的权限,则 JWT 的权限也会发生。因此,在令牌期间,不要删除、块或更改用户的权限。

    JWT 的范围仅限于注册端点,在其他任何位置都无法使用。

  16. 可选:在 Remote Execution Interface 字段中输入主机必须用于 SSH 连接的网络接口的标识符。如果将此字段留空,Satellite 将使用默认网络接口。
  17. REX 拉取模式 列表中,选择是否要部署 Satellite 远程执行拉取客户端。

    如果设置为 Yes,则将在注册的主机上安装远程执行 pull 客户端。继承的值基于 host_registration_remote_execution_pull 参数。它可以被继承,例如,来自主机组、操作系统或组织。当被覆盖时,所选值存储在主机参数级别上。

    注册的主机必须有权访问红帽卫星客户端 6 存储库。

    有关 pull 模式的更多信息,请参阅 第 11.4 节 “远程执行的传输模式”

  18. Activation Keys 字段中输入要分配给主机的一个或多个激活码。
  19. 可选:选择 Lifecycle 环境
  20. 可选: 如果要忽略订阅管理器 错误,请选择 Ignore 错误选项。
  21. 可选:如果要在注册前删除任何 katello-ca-consumer rpms,选择 Force 选项,并运行带有 --force 参数的 subscription-manager
  22. Generate 按钮。
  23. 复制生成的 curl 命令。
  24. 在您要注册的主机上,以 root 用户身份运行 curl 命令。