搜索

管理 Red Hat Satellite

download PDF
Red Hat Satellite 6.15

管理用户和权限、管理机构和位置、备份和恢复 Satellite、维护 Satellite 等等

Red Hat Satellite Documentation Team

摘要

本指南介绍了如何配置和管理 Red Hat Satellite 6 服务器。在继续此工作流前,您必须已成功安装 Red Hat Satellite 6 服务器和任何所需的 Capsule 服务器。

使开源包含更多

红帽承诺替换我们的代码、文档和网页属性中存在问题的语言。由于这项工作的艰巨性,这些变化正在尽可能地逐步更新。详情请查看 CTO Chris Wright 的信息

对红帽文档提供反馈

我们感谢您对我们的文档提供的信息。请让我们了解如何改进文档。

您可以通过在 Bugzilla 中记录一个 ticket 来提交反馈:

  1. 导航到 Bugzilla 网站。
  2. Component 字段中,使用 Documentation
  3. Description 字段中,输入您要改进的建议。包括文档相关部分的链接。
  4. Submit Bug

第 1 章 访问 Red Hat Satellite

在安装和配置了 Red Hat Satellite 后,使用 Satellite Web UI 界面登录 Satellite 以进一步配置。

1.1. Satellite Web UI 概述

您可以使用 Satellite Web UI 从浏览器中管理和监控 Satellite 基础架构。例如,您可以在 Satellite Web UI 中使用以下导航功能:

导航功能描述

机构 下拉菜单

选择您要管理的组织。

位置 下拉菜单

选择您要管理的位置。

Monitor

提供概述仪表板和报告。

内容

提供内容管理工具。这包括内容视图、激活码和生命周期环境。

主机

提供主机清单和调配配置工具。

配置

提供常规配置工具和数据,包括主机组和 Ansible 内容。

基础架构

提供用于配置 Satellite 如何与环境交互的工具。

notification bell

提供事件通知,让管理员更好地了解重要环境更改。

管理

为设置提供高级配置,如用户、基于角色的访问控制(RBAC)和常规设置。

1.2. 导入 Katello root CA 证书

第一次登录 Satellite 时,您可能会看到一个警告,通知您使用默认自签名证书,且您可能无法在浏览器中导入 root CA 证书前将这个浏览器连接到 Satellite。使用以下步骤查找 Satellite 上的 root CA 证书并将其导入到浏览器中。

要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程

先决条件

  • 您的 Red Hat Satellite 已安装并配置。

流程

  1. 识别 Satellite 服务器的完全限定域名:

    # hostname -f
  2. 使用 Web 浏览器指向完全限定域名,访问 Satellite 服务器上的 pub 目录:

    https://satellite.example.com/pub
  3. 第一次访问 Satellite 时,您的网页浏览器中会显示不受信任的连接警告。接受自签名证书并添加 Satellite URL 作为安全例外,以覆盖设置。根据所使用的浏览器,这个过程可能会有所不同。在接受安全例外前,请确保 Satellite URL 有效。
  4. 选择 katello-server-ca.crt
  5. 将证书作为证书颁发机构导入到浏览器中,并信任它来识别网站。

CLI 过程

  1. 在 Satellite CLI 中,将 katello-server-ca.crt 文件复制到用于访问 Satellite Web UI 的机器:

    # scp /var/www/html/pub/katello-server-ca.crt username@hostname:remotefile
  2. 在浏览器中,将 katello-server-ca.crt 证书导入为证书颁发机构,并信任它来识别网站。

1.3. 登录到 Satellite

使用 Web 用户界面登录 Satellite 以进行进一步配置。

先决条件

流程

  1. 使用 Web 浏览器访问 Satellite 服务器,指向完全限定域名:

    https://satellite.example.com/
  2. 输入在配置过程中创建的用户名和密码。如果在配置过程中没有创建用户,则默认用户名是 admin。如果您在登录时遇到问题,您可以重置密码。如需更多信息,请参阅 第 1.8 节 “重置管理用户密码”

1.4. 使用红帽身份管理凭证登录 Satellite Hammer CLI

本节论述了如何使用红帽身份管理(IdM)登录和密码登录到 Satellite Hammer CLI。

先决条件

流程

  1. 代表 Satellite 用户获取 Kerberos 票据授予票据(TGT):

    $ kinit idm_user
    警告

    如果您将 Red Hat Identity Management 设置为身份验证提供程序时,您启用了对 Satellite API 和 Satellite Web UI 的访问,则攻击者可以在用户收到 Kerberos TGT 后获取 API 会话。即使用户之前没有在任何位置输入 Satellite 登录凭据,如浏览器中,也可以进行攻击。

  2. 如果没有启用自动协商身份验证,请使用 TGT 手动向 Hammer 进行身份验证:

    $ hammer auth login negotiate
  3. 可选:收集中的所有缓存的 Kerberos 票据:

    $ kdestroy -A

您仍然登录,即使销毁 Kerberos 票据。

验证

  • 使用任何 hammer 命令确保您不要求您再次进行身份验证:

    $ hammer host list
注意

要从 Hammer 注销,请输入: hammer auth logout

1.5. 使用红帽身份管理凭证通过 Firefox 浏览器登录 Satellite Web UI

本节论述了如何使用 Firefox 浏览器使用 Red Hat Identity Management (IdM)登录名和密码登录到 Satellite Web UI。

先决条件

  • 您已将 Satellite 服务器注册到 Red Hat Identity Management,并将服务器配置为使用 Red Hat Identity Management 进行身份验证。如需更多信息,请参阅在 连接的网络环境中安装 Satellite 服务器 中的 使用红帽身份管理
  • 您在其上使用 Firefox 浏览器登录 Satellite Web UI 的主机是 Red Hat Identity Management 客户端。
  • 您有一个有效的 Red Hat Identity Management 登录名和密码。
  • 红帽建议使用最新的稳定 Firefox 浏览器。
  • 为单点登录(SSO)配置了 Firefox 浏览器。如需更多信息,请参阅 在 Red Hat Enterprise Linux 中配置身份验证和授权 中的将 Firefox 配置为使用 Kerberos 进行单点登录
  • 一个 Red Hat Identity Management 服务器正在运行并可以被主机访问。

流程

  1. 使用您的 Red Hat Identity Management 凭证获取 Kerberos 票据授予票(TGT):

    $ kinit idm_user
    Password for idm_user@EXAMPLE.COM:
  2. 在浏览器地址栏中,输入您的 Satellite 服务器的 URL。

    您已自动登录。

注意

或者,您可以跳过前两个步骤,然后在 Satellite Web UI 上显示的字段中输入您的登录和密码。如果您访问 Satellite Web UI 的主机不是 Red Hat Identity Management 客户端,这也是唯一的选择。

1.6. 使用红帽身份管理凭证通过 Chrome 浏览器登录到 Satellite Web UI

本节论述了如何使用 Chrome 浏览器使用 Red Hat Identity Management 登录名和密码登录到 Satellite Web UI。

先决条件

  • 您已将 Satellite 服务器注册到 Red Hat Identity Management,并将服务器配置为使用 Red Hat Identity Management 进行身份验证。如需更多信息,请参阅在 连接的网络环境中安装 Satellite 服务器 中的 使用红帽身份管理
  • 使用 Chrome 浏览器登录到 Satellite Web UI 的主机是一个 Red Hat Identity Management 客户端。
  • 您有一个有效的 Red Hat Identity Management 登录名和密码。
  • 红帽建议使用最新的 stable Chrome 浏览器。
  • 一个 Red Hat Identity Management 服务器正在运行并可以被主机访问。

流程

  1. 启用 Chrome 浏览器以使用 Kerberos 身份验证:

    $ google-chrome --auth-server-whitelist=".example.com" --auth-negotiate-delegate-whitelist=”.example.com"
    注意

    您还可以允许特定 Satellite 服务器列出整个域,而不是允许列表。

  2. 使用您的红帽身份管理凭证,自行获取 Kerberos 票据授予票据(TGT):

    $ kinit idm_user
    Password for idm_user@_EXAMPLE.COM:
  3. 在浏览器地址栏中,输入您的 Satellite 服务器的 URL。

    您已自动登录。

注意

或者,您可以跳过前三个步骤,然后在 Satellite Web UI 上显示的字段中输入您的登录和密码。如果您访问 Satellite Web UI 的主机不是 Red Hat Identity Management 客户端,这也是唯一的选择。

1.7. 更改密码

这些步骤演示了如何更改密码。

流程

  1. 在 Satellite Web UI 中,单击右上角的用户名。
  2. 从菜单中选择 My Account
  3. Current Password 字段中,输入当前密码。
  4. Password 字段中,输入新密码。
  5. Verify 字段中,再次输入新密码。
  6. Submit 保存您的新密码。

1.8. 重置管理用户密码

使用以下步骤将管理密码重置为随机生成的字符,或者设置新的管理密码。

重置管理用户密码

  1. 登录到安装了 Satellite 服务器的基本操作系统。
  2. 输入以下命令重置密码:

    # foreman-rake permissions:reset
    Reset to user: admin, password: qwJxBptxb7Gfcjj5
  3. 使用此密码重置卫星 Web UI 中的密码。
  4. 编辑 Satellite 服务器上的 ~/.hammer/cli.modules.d/foreman.yml 文件,以添加新密码:

    # vi ~/.hammer/cli.modules.d/foreman.yml

除非更新 ~/.hammer/cli.modules.d/foreman.yml 文件,否则您无法通过 Hammer CLI 使用新密码。

设置新的管理用户密码

  1. 登录到安装了 Satellite 服务器的基本操作系统。
  2. 要设置密码,请输入以下命令:

    # foreman-rake permissions:reset password=new_password
  3. 编辑 Satellite 服务器上的 ~/.hammer/cli.modules.d/foreman.yml 文件,以添加新密码:

    # vi ~/.hammer/cli.modules.d/foreman.yml

除非更新 ~/.hammer/cli.modules.d/foreman.yml 文件,否则您无法通过 Hammer CLI 使用新密码。

1.9. 在登录页面中设置自定义消息

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Settings,然后点击 General 选项卡。
  2. 单击 Login page footer 文本 旁边的编辑按钮,并输入要在登录页面上显示所需的文本。例如,此文本可能是您的公司所需的警告消息。
  3. 点击 Save
  4. 从 Satellite Web UI 注销,并验证自定义文本现在显示在 Satellite 版本号下的登录页面上。

第 2 章 启动和停止 Red Hat Satellite

Satellite 提供 satellite-maintain service 命令,用于从命令行管理 Satellite 服务。这在创建 Satellite 备份时很有用。有关创建备份的详情,请参考 第 11 章 备份 Satellite 服务器和 Capsule 服务器

使用 satellite-installer 命令安装 Satellite 后,所有 Satellite 服务会自动启动并启用。执行以下内容来查看这些服务的列表:

# satellite-maintain service list

要查看正在运行的服务的状态,请执行:

# satellite-maintain service status

要停止 Satellite 服务,请执行:

# satellite-maintain service stop

要启动 Satellite 服务,请执行:

# satellite-maintain service start

要重启 Satellite 服务,请执行:

# satellite-maintain service restart

第 3 章 克隆 Satellite 服务器

您可以克隆 Satellite 服务器来创建实例,以测试实例的升级和将实例迁移到不同的机器或操作系统。这是升级或迁移期间提供更大的灵活性的可选步骤。

您不能在胶囊服务器上使用 Satellite 克隆工具。相反,您必须备份现有的 Capsule 服务器,在目标服务器上恢复它,然后重新配置 Capsule 服务器。

注意

如果您创建 Satellite 服务器的新实例,请在恢复备份后停用旧实例。克隆的实例不应在生产环境中并行运行。

术语

确保您了解以下术语:

源服务器
克隆的来源。
目标服务器
将文件复制到源服务器并将源代码服务器克隆到 的新服务器。

3.1. 克隆过程概述

  1. 备份源服务器。
  2. 将源服务器克隆到目标服务器。
  3. 关闭源服务器。
  4. 更新目标服务器上的网络配置,使其与目标服务器的 IP 地址与其新的主机名匹配。
  5. 测试新目标服务器。

3.2. 先决条件

要克隆 Satellite 服务器,请确保您有以下资源可用:

  • Red Hat Enterprise Linux 8 的最小安装成为目标服务器。不要安装 Red Hat Enterprise Linux 8 软件组或第三方应用程序。确保您的服务器符合所有必需的规格。如需更多信息,请参阅 在 连接的网络环境中安装 Satellite 服务器 中的 为安装准备您的环境
  • 使用 satellite-maintain 备份脚本进行的 Satellite 服务器的备份。您可以使用带有或不使用 Pulp 数据的备份。
  • 目标服务器的 Satellite 订阅。

在开始克隆前,请确保出现以下条件:

  • 目标服务器位于隔离的网络中。这可避免 Capsule 服务器和主机间不需要的通信。
  • 目标服务器具有至少与源服务器相同的存储容量。

自定义配置文件

如果您在不由 satellite-installer 工具或 Satellite 备份过程管理的源服务器上有任何自定义配置,您必须手动备份这些文件。

3.3. Pulp 数据注意事项

您可以在不包含 Pulp 数据的情况下克隆 Satellite 服务器。但是,要使克隆环境正常工作,您需要 Pulp 数据。如果目标服务器没有 Pulp 数据,则它不是完全正常工作的 Satellite。

要将 Pulp 数据传送到目标服务器,有两个选项:

  • 使用带有 Pulp 数据的备份克隆
  • 使用没有 Pulp 数据的备份克隆,并从源服务器手动复制 /var/lib/pulp

如果您的 pulp_data.tar 文件大于 500 GB,或者使用较慢的存储系统,如 NFS,并且您的 pulp_data.tar 文件大于 100 GB,请不要在备份中包含 pulp_data.tar,因为这可能会在提取过程中造成内存错误。将 pulp_data.tar 文件从源服务器复制到目标服务器。

在没有 Pulp 数据的情况下备份

按照以下步骤,按照 第 3.4 节 “克隆 Satellite 服务器” 中的步骤替换涉及使用 Pulp 数据克隆的步骤:

  1. 对处于活跃状态的 PostgreSQL 数据库执行备份,不包括 Pulp 数据:

    # satellite-maintain backup offline --skip-pulp-content \
    --assumeyes /var/backup
  2. 停止并禁用 Satellite 服务:

    # satellite-maintain service stop
    # satellite-maintain service disable
  3. 将 Pulp 数据复制到目标服务器:

    # rsync --archive --partial --progress --compress \
    /var/lib/pulp/ target_server.example.com:/var/lib/pulp/

继续 第 3.4.2 节 “克隆到目标服务器”

3.4. 克隆 Satellite 服务器

使用以下步骤克隆 Satellite 服务器。请注意,由于必须复制和传输的大量数据作为这些步骤的一部分,所以完成可能需要大量时间。

3.4.1. 为克隆准备源服务器

在源服务器上完成以下步骤:

  1. 验证 Satellite 订阅的池 ID:

    # subscription-manager list --consumed \
    --matches 'Red Hat Satellite'|grep "Pool ID:"|awk '{print $3}'

    请注意 Pool ID 以供以后使用。

  2. 删除 Red Hat Satellite 订阅:

    # subscription-manager remove --serial=$(subscription-manager list \
    --consumed \
    --matches 'Red Hat Satellite'|grep "Serial:"|awk '{print $2}')
  3. 确定 Pulp 数据的大小:

    # du -sh /var/lib/pulp/
  4. 如果您有超过 500 GB 的 Pulp 数据,请使用活跃的 PostgreSQL 数据库执行备份,包括 Pulp 数据。如果您有超过 500 GB 的 Pulp 数据,请跳过以下步骤并完成 第 3.3 节 “Pulp 数据注意事项” 中的步骤,然后再继续。

    # satellite-maintain backup offline --assumeyes /var/backup
  5. 停止并禁用 Satellite 服务:

    # satellite-maintain service stop
    # satellite-maintain service disable

继续 第 3.4.2 节 “克隆到目标服务器”

3.4.2. 克隆到目标服务器

要克隆您的服务器,请在目标服务器上完成以下步骤:

  1. satellite-clone 工具默认使用 /backup/ 作为备份文件夹。如果复制到其他文件夹,请更新 /etc/satellite-clone/satellite-clone-vars.yml 文件中的 backup_dir 变量。
  2. 将源 Satellite 中的备份文件放在目标服务器上的 /backup/ 文件夹内。您可以挂载共享存储,或者将备份文件复制到目标服务器上的 /backup/ 文件夹。
  3. 关闭源服务器。
  4. 输入以下命令在客户门户网站中注册、附加订阅并只启用所需的订阅:

    # subscription-manager register your_customer_portal_credentials
    # subscription-manager attach --pool=pool_ID
    # subscription-manager repos --disable=*
    # subscription-manager repos --enable=rhel-8-for-x86_64-appstream-rpms \
    --enable=rhel-8-for-x86_64-baseos-rpms \
    --enable=satellite-maintenance-6.15-for-rhel-8-x86_64-rpms
    # dnf module enable satellite-maintenance:el8
  5. 安装 satellite-clone 软件包:

    # dnf install satellite-clone

    安装 satellite-clone 工具后,您可以在 /etc/satellite-clone/satellite-clone-vars.yml 文件中调整任何配置以适应您自己的部署。

  6. 运行 satellite-clone 工具:

    # satellite-clone
  7. 重新配置 DHCP、DNS、TFTP 和远程执行服务。克隆过程在目标 Satellite 服务器上禁用这些服务,以避免与源 Satellite 服务器冲突。
  8. 在 Satellite Web UI 中重新配置并启用 DHCP、DNS 和 TFTP。如需更多信息,请参阅 在 连接的网络环境中安装 Satellite 服务器 中的 在 Satellite 服务器上配置外部服务
  9. 使用用户名 admin 和密码 changeme 登录到 Satellite Web UI。立即更新 admin 密码以保护凭据。
  10. 确保选择了正确的机构。
  11. 在 Satellite Web UI 中,进入到 Content > Subscriptions
  12. 单击 Manage Manifest
  13. Refresh,然后点 Close 返回到订阅列表。
  14. 验证可用的订阅是否正确。
  15. 按照 /usr/share/satellite-clone/logs/reassociate_capsules.txt 文件中的说明,恢复 Capsules 及其生命周期环境之间的关联。
  16. 更新您的网络配置,如 DNS,以将目标服务器的 IP 地址与其新主机名匹配。satellite-clone 工具将主机名更改为源服务器的主机名。如果要将主机名更改为不同的内容,您可以使用 satellite-change-hostname 工具。如需更多信息,请参阅管理 Red Hat Satellite 中的 重命名 Satellite 服务器。
  17. 如果源服务器使用 virt-who 守护进程,请在目标服务器上安装和配置它。将 /etc/virt-who.d/ 目录中的所有 virt-who 配置文件从源服务器复制到目标服务器上的同一目录中。如需更多信息,请参阅配置虚拟机订阅。使用以下章节执行升级后,您可以安全地停用源服务器。

第 4 章 使用预定义的配置集调整 Satellite 服务器

如果您的 Satellite 部署包含超过 5000 个主机,您可以使用预定义的调优配置文件来提高 Satellite 的性能。

请注意,您不能在 Capsules 上使用调优配置集。

您可以根据 Satellite 管理的主机数量和可用的硬件资源选择其中一个配置集。

调优配置文件位于 /usr/share/foreman-installer/config/foreman.hiera/tuning/sizes 目录中。

当您使用 --tuning 选项运行 satellite-installer 命令时,部署配置设置将按照以下顺序应用到 Satellite:

  1. /usr/share/foreman-installer/config/foreman.hiera/tuning/common.yaml 文件中定义的默认调优配置文件
  2. 要应用到部署的调优配置文件,并在 /usr/share/foreman-installer/config/foreman.hiera/tuning/sizes/ 目录中定义
  3. 可选:如果您配置了 /etc/foreman-installer/custom-hiera.yaml 文件,Satellite 会应用这些配置设置。

请注意,/etc/foreman-installer/custom-hiera.yaml 文件中定义的配置设置会覆盖在调优配置文件中定义的配置设置。

因此,在应用调优配置文件前,您必须比较 /usr/share/foreman-installer/config/foreman.hiera/tuning/common.yaml 中默认调优配置文件中定义的配置设置,并从 /etc/foreman- installer/custom-hiera.yaml 文件中删除任何重复的配置。

default

主机数量:0wagon-wagon5000

RAM: 20G

CPU 内核数:4

主机数量:5001 iwl-wagon10000

RAM: 32G

CPU 内核数:8

主机数量: 10001wagon-wagon20000

RAM: 64G

CPU 内核数:16

extra-large

主机数量: 20001.4-1.-wagon60000

RAM:128G

CPU 内核数:32

extra-extra-large

主机数量:60000+

RAM: 256G

CPU 内核数: 48+

流程

  1. 可选: 如果您在 Satellite 服务器上配置了 custom-hiera.yaml 文件,请将 /etc/foreman-installer/custom-hiera.yaml 文件备份到 custom-hiera.original。如果文件损坏,您可以使用备份文件将 /etc/foreman-installer/custom-hiera.yaml 文件恢复到其原始状态:

    # cp /etc/foreman-installer/custom-hiera.yaml \
    /etc/foreman-installer/custom-hiera.original
  2. 可选: 如果您在 Satellite 服务器上配置了 custom-hiera.yaml 文件,请查看 /usr/share/foreman-installer/config/foreman.hiera/tuning/common.yaml 中默认调优配置文件的定义,以及您要应用到 /usr/share/foreman-installer/config/foreman.hiera/tuning/sizes/ 中的。将配置条目与您的 /etc/foreman-installer/custom-hiera.yaml 文件中的条目进行比较,并删除 /etc/foreman-installer/custom-hiera.yaml 文件中的任何重复配置设置。
  3. 使用您要应用的配置文件的 --tuning 选项输入 satellite-installer 命令。例如,要应用中型调优配置文件设置,请输入以下命令:

    # satellite-installer --tuning medium

第 5 章 从内部 Satellite 数据库迁移到外部数据库

安装 Red Hat Satellite 时,satellite-installer 命令会在与 Satellite 相同的服务器上安装 PostgreSQL 数据库。如果您使用默认内部数据库,但希望开始使用外部数据库来帮助进行服务器负载,您可以将内部数据库迁移到外部数据库。

要确认您的 Satellite 服务器是否有内部或外部数据库,您可以查询数据库的状态:

对于 PostgreSQL,输入以下命令:

# satellite-maintain service status --only postgresql

红帽不提供对外部数据库维护的支持或工具。这包括备份、升级和数据库调优。您必须具有自己的数据库管理员才能支持和维护外部数据库。

要从默认内部数据库迁移到外部数据库,您必须完成以下步骤:

  1. 第 5.2 节 “为外部数据库准备主机”.准备托管外部数据库的 Red Hat Enterprise Linux 8 服务器。
  2. 第 5.3 节 “安装 PostgreSQL”.使用 Satellite 的数据库准备 PostgreSQL,使用拥有他们的专用用户 Pulp 和 Candlepin。
  3. 第 5.4 节 “迁移到外部数据库”.编辑 satellite-installer 的参数以指向新数据库,并运行 satellite-installer

5.1. PostgreSQL 作为外部数据库注意事项

Foreman、Katello 和 Candlepin 使用 PostgreSQL 数据库。如果要将 PostgreSQL 用作外部数据库,则以下信息可帮助您确定此选项是否适合您的 Satellite 配置。Satellite 支持 PostgreSQL 版本 12。

外部 PostgreSQL 的优点

  • 在 Satellite 上增加可用内存和可用 CPU
  • 在 PostgreSQL 数据库上设置 shared_buffers 的灵活性,使其没有与 Satellite 上的其他服务干扰的风险
  • 在不影响 Satellite 操作的情况下灵活地调整 PostgreSQL 服务器系统

外部 PostgreSQL 的缺点

  • 增加部署复杂性,使故障排除变得更加困难
  • 外部 PostgreSQL 服务器是一个额外的系统来修补和维护
  • 如果 Satellite 或 PostgreSQL 数据库服务器都存在硬件或存储故障,则 Satellite 无法正常工作
  • 如果 Satellite 服务器和数据库服务器之间有延迟,则性能可能会下降

如果您怀疑 Satellite 上的 PostgreSQL 数据库导致性能问题,请在 Satellite 6 中使用信息:如何启用 postgres 查询日志记录来检测运行较慢的查询,以确定您是否有缓慢的查询。超过一秒的查询通常是由于大型安装出现性能问题导致的,而迁移到外部数据库可能并不有所帮助。如果您的查询缓慢,请联系红帽支持团队。

5.2. 为外部数据库准备主机

使用最新的 Red Hat Enterprise Linux 8 安装一个全新的置备系统,以托管外部数据库。

Red Hat Enterprise Linux 的订阅不提供将 Satellite 与外部数据库的正确服务级别协议。您还必须将 Satellite 订阅附加到要用于外部数据库的基本操作系统。

先决条件

流程

  1. 按照 附加 Satellite Infrastructure 订阅 中的说明,将 Satellite 订阅附加到您的服务器。
  2. 禁用所有软件仓库并只启用以下软件仓库:

    # subscription-manager repos --disable '*'
    # subscription-manager repos \
    --enable=satellite-6.15-for-rhel-8-x86_64-rpms \
    --enable=satellite-maintenance-6.15-for-rhel-8-x86_64-rpms \
    --enable=rhel-8-for-x86_64-baseos-rpms \
    --enable=rhel-8-for-x86_64-appstream-rpms
  3. 启用以下模块:

    # dnf module enable satellite:el8
    注意

    启用模块 satellite:el8 会警告与 postgresql:10ruby:2.5 冲突,因为这些模块被设置为 Red Hat Enterprise Linux 8 上的默认模块版本。模块 satellite:el8 具有模块 postgresql:12ruby:2.7 的依赖项,它将通过 satellite:el8 模块启用。这些警告不会导致安装过程失败,因此可以安全地忽略。有关 Red Hat Enterprise Linux 8 模块和生命周期流的更多信息,请参阅 Red Hat Enterprise Linux Application Streams 生命周期

5.3. 安装 PostgreSQL

您只能在内部数据库安装过程中安装 satellite-installer 工具安装的相同版本的 PostgreSQL。Satellite 支持 PostgreSQL 版本 12。

流程

  1. 要安装 PostgreSQL,请输入以下命令:

    # dnf install postgresql-server postgresql-evr postgresql-contrib
  2. 要初始化 PostgreSQL,请输入以下命令:

    # postgresql-setup initdb
  3. 编辑 /var/lib/pgsql/data/postgresql.conf 文件:

    # vi /var/lib/pgsql/data/postgresql.conf

    请注意,需要调整外部 PostgreSQL 的默认配置才能使用 Satellite。基础推荐的外部数据库配置调整如下:

    • checkpoint_completion_target: 0.9
    • max_connections: 500
    • shared_buffers: 512MB
    • work_mem: 4MB
  4. 删除 # 并编辑以侦听入站连接:

    listen_addresses = '*'
  5. 编辑 /var/lib/pgsql/data/pg_hba.conf 文件:

    # vi /var/lib/pgsql/data/pg_hba.conf
  6. 在文件中添加以下行:

      host  all   all   Satellite_ip/32   md5
  7. 要启动并启用 PostgreSQL 服务,请输入以下命令:

    # systemctl enable --now postgresql
  8. 在外部 PostgreSQL 服务器上打开 postgresql 端口:

    # firewall-cmd --add-service=postgresql
  9. 使更改持久:

    # firewall-cmd --runtime-to-permanent
  10. 切换到 postgres 用户并启动 PostgreSQL 客户端:

    $ su - postgres -c psql
  11. 创建三个数据库和专用角色:一个用于 Satellite,一个用于 Candlepin,另一个用于 Pulp:

    CREATE USER "foreman" WITH PASSWORD 'Foreman_Password';
    CREATE USER "candlepin" WITH PASSWORD 'Candlepin_Password';
    CREATE USER "pulp" WITH PASSWORD 'Pulpcore_Password';
    CREATE DATABASE foreman OWNER foreman;
    CREATE DATABASE candlepin OWNER candlepin;
    CREATE DATABASE pulpcore OWNER pulp;
  12. 连接到 Pulp 数据库:

    postgres=# \c pulpcore
    You are now connected to database "pulpcore" as user "postgres".
  13. 创建 hstore 扩展:

    pulpcore=# CREATE EXTENSION IF NOT EXISTS "hstore";
    CREATE EXTENSION
  14. 退出 postgres 用户:

    # \q
  15. 从 Satellite 服务器中,测试您可以访问数据库。如果连接成功,命令会返回 1

    # PGPASSWORD='Foreman_Password' psql -h postgres.example.com  -p 5432 -U foreman -d foreman -c "SELECT 1 as ping"
    # PGPASSWORD='Candlepin_Password' psql -h postgres.example.com -p 5432 -U candlepin -d candlepin -c "SELECT 1 as ping"
    # PGPASSWORD='Pulpcore_Password' psql -h postgres.example.com -p 5432 -U pulp -d pulpcore -c "SELECT 1 as ping"

5.4. 迁移到外部数据库

备份和传输现有数据,然后使用 satellite-installer 命令将 Satellite 配置为连接到外部 PostgreSQL 数据库服务器。

先决条件

  • 您已在 Red Hat Enterprise Linux 服务器中安装并配置 PostgreSQL 服务器。

流程

  1. 在 Satellite 服务器上,停止 Satellite 服务:

    # satellite-maintain service stop
  2. 启动 PostgreSQL 服务:

    # systemctl start postgresql
  3. 备份内部数据库:

    # satellite-maintain backup online \
    --preserve-directory \
    --skip-pulp-content \
    /var/migration_backup
  4. 将数据传送到新的外部数据库:

    PGPASSWORD='Foreman_Password' pg_restore -h postgres.example.com -U foreman -d foreman < /var/migration_backup/foreman.dump
    PGPASSWORD='Candlepin_Password' pg_restore -h postgres.example.com -U candlepin -d candlepin < /var/migration_backup/candlepin.dump
    PGPASSWORD='Pulpcore_Password' pg_restore -h postgres.example.com -U pulp -d pulpcore < /var/migration_backup/pulpcore.dump
  5. 使用 satellite-installer 命令更新 Satellite 以指向新的数据库:

    # satellite-installer --scenario satellite \
    --foreman-db-database foreman \
    --foreman-db-host postgres.example.com \
    --foreman-db-manage false \
    --foreman-db-password Foreman_Password \
    --foreman-db-username foreman \
    --foreman-proxy-content-pulpcore-manage-postgresql false \
    --foreman-proxy-content-pulpcore-postgresql-db-name pulpcore \
    --foreman-proxy-content-pulpcore-postgresql-host postgres.example.com \
    --foreman-proxy-content-pulpcore-postgresql-password Pulpcore_Password \
    --foreman-proxy-content-pulpcore-postgresql-user pulp \
    --katello-candlepin-db-host postgres.example.com \
    --katello-candlepin-db-name candlepin \
    --katello-candlepin-db-password Candlepin_Password \
    --katello-candlepin-db-user candlepin \
    --katello-candlepin-manage-db false

第 6 章 使用 Ansible 集合管理 Satellite

Satellite Ansible Collections 是一组与 Satellite API 交互的 Ansible 模块。您可以使用 Satellite Ansible 集合管理和自动化 Satellite 的很多方面。

6.1. 安装 Satellite Ansible 模块

使用这个流程安装 Satellite Ansible 模块。

流程

  • 使用以下命令安装软件包:

    # satellite-maintain packages install ansible-collection-redhat-satellite

6.2. 查看 Satellite Ansible 模块

您可以运行以下命令来查看已安装的 Satellite Ansible 模块:

# ansible-doc -l redhat.satellite

另外,您还可以在 Red Hat Ansible Automation Platform 中看到 Satellite Ansible 模块的完整列表和其他相关信息。

所有模块都位于 redhat.satellite 命名空间中,可以以 redhat.satellite._module_name_ 格式引用。例如,要显示 activation_key 模块的信息,请输入以下命令:

$ ansible-doc redhat.satellite.activation_key

第 7 章 管理机构

组织根据所有权、目的、内容、安全级别或其他部门将 Red Hat Satellite 资源划分为逻辑组。您可以通过 Red Hat Satellite 创建和管理多个机构,然后将您的红帽订阅划分并分配到每个机构。这提供了在一个管理系统下管理多个组织的内容的方法。

7.1. 在 Satellite 中使用机构的示例

单个机构

使用单个组织非常适合具有简单系统管理链的小型企业。

在这种情况下,您可以为业务创建一个组织,并为它分配内容。您还可以将 Default Organization 用于此目的。

多个机构

使用多个机构非常适合拥有多个较小的事业部的大型公司。例如,具有单独的系统管理和软件开发组的公司。

在这种情况下,您可以为公司创建一个机构,然后为其拥有的每个业务单元创建一个机构。然后,您可以根据每个机构的需求将内容分配给每个机构。

外部机构

使用外部组织非常适合为其他组织管理外部系统的公司。例如,公司为客户提供云计算和 Web 托管资源。

在这种情况下,您可以为公司自己的系统基础架构创建一个机构,然后为每个外部业务创建一个机构。然后,您可以根据需要为每个机构分配内容。

7.2. 创建机构

使用这个流程创建机构。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Organizations
  2. 单击 New Organization
  3. Name 字段中输入机构的名称。
  4. Label 字段中输入机构的唯一标识符。这用于创建和映射某些资产,如内容存储的目录。使用字母、数字、下划线和横线,但没有空格。
  5. 可选:如果您不想启用简单内容访问(SCA),请取消选中 简单内容访问 复选框。有关 SCA 的更多信息,请参阅 简单内容访问

    注意

    红帽不推荐禁用 SCA 作为授权模式已弃用。

  6. 可选:在 Description 字段中输入机构的描述。
  7. Submit
  8. 如果您没有分配任何机构的主机,请选择您要添加到机构中的主机,然后单击 Proceed to Edit
  9. Edit 页面中,分配您要添加到机构的基础架构资源。这包括网络资源、安装介质、Kickstart 模板和其他参数。您可以随时返回到此页面,导航到 Administer > Organizations,然后选择要编辑的机构。
  10. Submit

CLI 过程

  1. 要创建机构,请输入以下命令:

    # hammer organization create \
    --name "My_Organization" \
    --label "My_Organization_Label" \
    --description "My_Organization_Description"
    注意

    以这种方式创建的机构默认启用了 Simple Content Access (SCA)。如果要禁用 SCA,请在命令中添加 --simple-content-access false 参数。红帽不推荐禁用 SCA,因为权利模式(不使用 SCA)已弃用。

  2. 可选: 要编辑机构,请输入 hammer 机构 update 命令。例如,以下命令为机构分配计算资源:

    # hammer organization update \
    --name "My_Organization" \
    --compute-resource-ids 1

7.3. 创建机构调试证书

如果需要您的机构调试证书,请使用以下步骤。

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Organizations
  2. 选择您要为其生成调试证书的机构。
  3. Generate and Download
  4. 将证书文件保存在安全位置。

用于置备模板的调试证书

如果正在下载它们的机构中不存在,则会自动为置备模板下载生成调试证书。

7.4. 使用机构调试证书浏览存储库内容

您可以使用 Web 浏览器查看组织的存储库内容,如果具有该机构的调试证书,则可以使用 API。

先决条件

流程

  1. 将私钥和公钥从证书分成两个文件。

    1. 打开 X.509 证书,例如,默认机构:

      $ vi 'Default Organization-key-cert.pem'
    2. 将文件的内容从 -----BEGIN RSA PRIVATE KEY----- 复制到 -----END RSA PRIVATE KEY----- 中。
    3. 将文件的内容从 -----BEGIN CERTIFICATE----- 复制到 -----END CERTIFICATE-----cert.pem 文件中。
  2. 要使用浏览器,您必须首先将 X.509 证书转换为浏览器支持的格式,然后导入证书。

对于 Firefox 用户

  1. 使用以下命令将证书转换为 PKCS12 格式:

    $ openssl pkcs12 -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -export -in cert.pem -inkey key.pem -out My_Organization_Label.pfx -name My_Organization
  2. 在 Firefox 浏览器中,导航到 Edit > Preferences > Advanced Tab
  3. 选择 View Certificates,再单击 Your Certificates 选项卡。
  4. Import 并选择要加载的 .pfx 文件。
  5. 在地址栏中输入以下 URL 来浏览所有仓库的可访问路径并检查其内容:

    https://satellite.example.com/pulp/content/

对于 CURL 用户

  • 要将机构调试证书与 CURL 搭配使用,请输入以下命令:

    $ curl -k --cert cert.pem --key key.pem \
    https://satellite.example.com/pulp/content/My_Organization_Label/Library/content/dist/rhel/server/7/7Server/x86_64/os/

    确保到 cert.pemkey.pem 的路径是正确的绝对路径,否则命令会以静默方式失败。Pulp 使用机构标签,因此您必须在 URL 中输入机构标签。

7.5. 删除机构

如果机构没有与任何生命周期环境或主机组关联,您可以删除机构。如果有与您要删除的机构关联的生命周期环境或主机组,请进入到 Administer > Organizations 并点相关机构来删除它们。

重要

不要删除在安装过程中创建的默认机构,因为默认机构是 Satellite 环境中任何未关联主机的占位符。任何给定时间,环境中必须至少有一个机构。

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Organizations
  2. 从您要删除的机构名称右侧的列表中,选择 Delete
  3. OK 以删除机构。

CLI 过程

  1. 输入以下命令检索您要删除的机构的 ID:

    # hammer organization list

    在输出中,记下您要删除的机构的 ID。

  2. 输入以下命令删除机构:

    # hammer organization delete --id Organization_ID

第 8 章 管理位置

位置功能类似于机构:它们提供了一种对资源进行分组和分配主机的方法。机构和位置有以下概念差异:

  • 位置基于物理或地理位置设置。
  • 位置具有分级结构。

8.1. 创建位置

使用这个流程创建位置,以便您可以根据位置管理主机和资源。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程

流程

  1. 在 Satellite Web UI 中,导航到 Administer > Locations
  2. 新位置
  3. 可选:在 Parent 列表中选择一个父位置。这会创建一个位置层次结构。
  4. Name 字段中输入位置的名称。
  5. 可选:在 Description 字段中输入位置的描述。
  6. Submit
  7. 如果您没有分配位置的主机,请添加您要分配给新位置的主机,然后单击 Proceed to Edit
  8. 分配您要添加到该位置的任何基础架构资源。这包括网络资源、安装介质、Kickstart 模板和其他参数。您可以随时返回到此页面,导航到 Administer > Locations,然后选择要编辑的位置。
  9. Submit 保存您的更改。

CLI 过程

  • 输入以下命令来创建位置:

    # hammer location create \
    --description "My_Location_Description" \
    --name "My_Location" \
    --parent-id "My_Location_Parent_ID"

8.2. 创建多个位置

以下示例 Bash 脚本创建了三个位置 - London, Munich, Boston - 并将其分配给 Example 组织。

ORG="Example Organization"
LOCATIONS="London Munich Boston"

for LOC in ${LOCATIONS}
do
  hammer location create --name "${LOC}"
  hammer location add-organization --name "${LOC}" --organization "${ORG}"
done

8.3. 设置位置上下文

位置上下文定义用于主机及其关联的资源的位置。

流程

位置菜单是菜单栏上的第二个菜单项,位于卫星 Web UI 的左上角。如果您还没有选择当前位置,菜单会显示 Any Location。单击 Any location,再选择要使用的位置。

CLI 过程

在使用 CLI 时,包含 --location "My_Location"--location-id "My_Location_ID" 作为选项。例如:

# hammer host list --location "My_Location"

此命令列出与 My_Location 位置关联的主机。

8.4. 删除位置

如果位置没有与任何生命周期环境或主机组关联,您可以删除该位置。如果有与您要删除的位置关联的生命周期环境或主机组,请导航到 Administer > Locations 并点相关位置来删除它们。不要删除在安装过程中创建的默认位置,因为默认位置是 Satellite 环境中任何未关联主机的占位符。任何给定时间,环境中必须至少有一个位置。

流程

  1. 在 Satellite Web UI 中,导航到 Administer > Locations
  2. 从您要删除的位置名称右侧的列表中选择 Delete
  3. 单击 OK 以删除该位置。

CLI 过程

  1. 输入以下命令检索您要删除的位置的 ID:

    # hammer location list

    在输出中,记下您要删除的位置的 ID。

  2. 输入以下命令删除位置:

    # hammer location delete --id Location ID

第 9 章 管理用户和角色

用户为使用系统的个人定义了一组详细信息。用户可以与机构和环境关联,以便在创建新实体时,会自动使用默认设置。用户也可以附加 一个或多个角色,授予他们查看和管理机构和环境的权限。有关使用用户的更多信息,请参阅 第 9.1 节 “管理用户”

您可以通过将多个用户组织到用户组来一次性管理多个用户的权限。用户组本身可以进一步分组,以创建权限层次结构。有关创建用户组的详情,请参考 第 9.4 节 “创建和管理用户组”

角色定义一组权限和访问级别。每个角色都包含多个 权限过滤器,用于指定角色允许的操作。操作按照 资源类型 进行了分组。创建了角色后,用户和组就可以与该角色关联。这样,您可以为大型用户组分配相同的权限集。Satellite 提供了一组预定义的角色,还允许创建自定义角色和权限过滤器,如 第 9.5 节 “创建和管理角色” 所述。

9.1. 管理用户

作为管理员,您可以创建、修改和删除 Satellite 用户。您还可以通过为其分配 不同的角色 来为用户或一组用户配置访问权限。

9.1.1. 创建用户

使用这个流程创建用户。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Users
  2. Create User.
  3. 输入新用户的帐户详情。
  4. 单击 Submit 以创建用户。

可以指定的用户帐户详情包括:

  • User 选项卡中,从 Authorized by 列表中选择一个身份验证源:

  • Organizations 选项卡上,为用户选择一个组织。指定在从 Default on login 列表中登录后为用户选择的默认机构 Satellite。

    重要

    如果没有将用户分配给某个机构,则其访问权限会被限制。

CLI 过程

  • 创建用户:

    # hammer user create \
    --auth-source-id My_Authentication_Source \
    --login My_User_Name \
    --mail My_User_Mail \
    --organization-ids My_Organization_ID_1,My_Organization_ID_2 \
    --password My_User_Password

    --auth-source-id 1 设置意味着用户在内部进行身份验证,您可以指定外部身份验证源作为替代方案。添加 --admin 选项,为用户授予管理员特权。不需要指定机构 ID。

    您可以使用 hammer user update 命令修改用户详情。

其他资源

  • 有关使用 Hammer 创建用户帐户的更多信息,请输入 hammer user create --help

9.1.2. 为用户分配角色

使用这个流程为用户分配角色。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Users
  2. 单击要分配给一个或多个角色的用户的 username

    注意

    如果没有列出用户帐户,请检查您当前正在查看正确的机构。要列出 Satellite 中的所有用户,请单击 Default Organization,然后单击 Any Organization

  3. 单击位置选项卡,并在未分配任何位置时选择位置。
  4. 单击 Organizations 选项卡,再检查是否已分配有组织。
  5. 单击 Roles 选项卡,以显示可用角色的列表。
  6. Roles 列表中选择要分配的角色。

    要授予所有可用权限,请选中 Admin 复选框。

  7. Submit

要查看分配给用户的角色,请单击 Roles 选项卡;分配的角色列在 Selected items 下。若要移除分配的角色,可在 Selected items 中单击角色名称。

CLI 过程

  • 要为用户分配角色,请输入以下命令:

    # hammer user add-role --id user_id --role role_name

9.1.3. 模拟不同的用户帐户

管理员可以以其他用户身份临时登录 Satellite Web UI,模拟其他经过身份验证的用户用于测试和故障排除目的。在模拟其他用户时,管理员可以精确访问被模拟的用户可以在系统中访问的内容,包括同一菜单。

创建审计以记录管理员在模拟其他用户时执行的操作。但是,在模拟其他用户时,管理员执行的所有操作都会记录为被模拟的用户所执行的操作。

先决条件

  • 确保您以具有 Satellite 的管理员特权的用户身份登录到 Satellite Web UI。

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Users
  2. 在您要模拟的用户右侧,从 Actions 列中的列表中,选择 Impersonate

当您要停止模拟会话时,在主菜单右上角点模拟图标。

9.1.4. 创建仅限 API 的用户

您可以创建只能与 Satellite API 交互的用户。

先决条件

流程

  1. 以 admin 用户身份登录您的 Satellite。
  2. 导航到 Administer > Users 并选择用户。
  3. User 选项卡中,设置密码。不要保存或与其它密码通信。您可以在控制台中创建伪随机字符串:

    # openssl rand -hex 32
  4. 为用户创建个人访问令牌。如需更多信息,请参阅 第 9.3.1 节 “创建一个个人访问令牌”

9.2. 管理 SSH 密钥

将 SSH 密钥添加到用户允许在置备过程中部署 SSH 密钥。有关在置备过程中部署 SSH 密钥的详情,请参考 置备主机 中的在置备过程中部署 SSH 密钥

有关 SSH 密钥和 SSH 密钥创建的详情,请参考在 Red Hat Enterprise Linux 8 配置基本系统设置 中的 使用基于 SSH 的身份验证

9.2.1. 为用户管理 SSH 密钥

使用这个流程为用户添加或删除 SSH 密钥。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程

先决条件

  • 确保您以 Red Hat Satellite 的 Admin 用户身份或为添加 SSH 密钥启用了 create_ssh_key 权限,为删除密钥启用了 destroy_ssh_key 权限的用户身份登陆到 Satellite web UI,用于。

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Users
  2. Username 列中,点所需用户的用户名。
  3. SSH Keys 选项卡。

    • 添加 SSH 密钥

      1. 在剪贴板中准备公共 SSH 密钥的内容。
      2. 单击 Add SSH Key
      3. Key 字段中,粘贴剪贴板中的公共 SSH 密钥内容。
      4. Name 字段中输入 SSH 密钥的名称。
      5. Submit
    • 要删除 SSH 密钥

      1. 点要删除的 SSH 密钥行上的 Delete
      2. 在确认提示中,单击 OK

CLI 过程

要为用户添加 SSH 密钥,您必须指定到公共 SSH 密钥文件的路径,或者复制到剪贴板的公共 SSH 密钥的内容。

  • 如果您有公共 SSH 密钥文件,请输入以下命令:

    # hammer user ssh-keys add \
    --user-id user_id \
    --name key_name \
    --key-file ~/.ssh/id_rsa.pub
  • 如果您有公共 SSH 密钥的内容,请输入以下命令:

    # hammer user ssh-keys add \
    --user-id user_id \
    --name key_name \
    --key ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNtYAAABBBHHS2KmNyIYa27Qaa7EHp+2l99ucGStx4P77e03ZvE3yVRJEFikpoP3MJtYYfIe8k 1/46MTIZo9CPTX4CYUHeN8= host@user

要从用户中删除 SSH 密钥,请输入以下命令:

# hammer user ssh-keys delete --id key_id --user-id user_id

要查看附加到用户的 SSH 密钥,请输入以下命令:

# hammer user ssh-keys info --id key_id --user-id user_id

要列出附加到用户的 SSH 密钥,请输入以下命令:

# hammer user ssh-keys list --user-id user_id

9.3. 管理个人访问令牌

通过个人访问令牌,您可以在不使用您的密码的情况下对 API 请求进行身份验证。您可以为个人访问令牌设置过期日期。如果您决定它应在过期日期前过期,可以撤销它。

9.3.1. 创建一个个人访问令牌

使用这个流程创建个人访问令牌。

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Users
  2. 选择您要为其创建个人访问令牌的用户。
  3. Personal Access Tokens 选项卡中,点 Add Personal Access Token
  4. 输入个人访问令牌的名称
  5. 可选:选择 Expires 日期来设置过期日期。如果您没有设置过期日期,您的个人访问令牌将永远不会过期,除非被撤销。
  6. 点 Submit。到此,在 Personal Access Tokens 选项卡会包括您可用的个人访问令牌。

    重要

    确保存储您的个人访问令牌,因为您将无法在离开页面或创建新的个人访问令牌后再次访问它。您可以点 Copy to clipboard 复制个人访问令牌。

验证

  1. 向 Satellite 服务器发出 API 请求,并使用您的个人访问令牌进行身份验证:

    # curl https://satellite.example.com/api/status --user My_Username:My_Personal_Access_Token
  2. 您应该收到状态为 200 的响应,例如:

    {"satellite_version":"6.15.0","result":"ok","status":200,"version":"3.5.1.10","api_version":2}

    如果您再次返回 Personal Access Tokens 选项卡,您可以在个人访问令牌旁看到最后使用时间。

9.3.2. 撤销个人访问令牌

使用这个流程在过期日期前撤销个人访问令牌。

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Users
  2. 选择您要撤销个人访问令牌的用户。
  3. Personal Access Tokens 选项卡中,找到您要撤销的个人访问令牌。
  4. 在您要撤销的个人访问令牌旁边的 Actions 列中点 Revoke

验证

  1. 向 Satellite 服务器发出 API 请求,并尝试使用撤销的个人访问令牌进行身份验证:

    # curl https://satellite.example.com/api/status --user My_Username:My_Personal_Access_Token
  2. 您会收到以下出错信息:

    {
      "error": {"message":"Unable to authenticate user My_Username"}
    }

9.4. 创建和管理用户组

9.4.1. 用户组

使用 Satellite,您可以为用户组分配权限。您还可以将用户组创建为其他用户组的集合。如果使用外部身份验证源,您可以将 Satellite 用户组映射到外部用户组,如 在 连接的网络环境中安装 Satellite 服务器 中的 配置外部用户组 中所述。

用户组在组织上下文中定义,这意味着您必须先选择一个机构,然后才能访问用户组。

9.4.2. 创建用户组

使用这个流程创建用户组。

流程

  1. 在 Satellite Web UI 中,进入到 Administer > User Groups
  2. 单击 Create User group
  3. User Group 选项卡中,指定新用户组的名称并选择组成员:

    • User Groups 列表中选择之前创建的用户组。
    • Users 列表中选择用户。
  4. Roles 选项卡上,选择要分配给用户组的角色。或者,选择 Admin 复选框来分配所有可用的权限。
  5. Submit

CLI 过程

  • 运行以下命令来创建用户组:

    # hammer user-group create \
    --name My_User_Group_Name \
    --role-ids My_Role_ID_1,My_Role_ID_2 \
    --user-ids My_User_ID_1,My_User_ID_2

9.4.3. 删除用户组

使用以下步骤从 Satellite 中删除用户组。

流程

  1. 在 Satellite Web UI 中,进入到 Administer > User Groups
  2. 点您要删除的用户组右侧的 Delete
  3. 单击 Confirm 以删除用户组。

9.5. 创建和管理角色

Satellite 提供了一组足够权限的预定义角色,用于标准任务,如 第 9.6 节 “Satellite 中可用的预定义角色” 中列出的。也可以配置自定义角色,并为它们分配一个或多个权限过滤器。权限过滤器定义特定资源类型允许的操作。某些 Satellite 插件会自动创建角色。

9.5.1. 创建角色

使用这个流程创建角色。

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Roles
  2. 单击 Create Role
  3. 为角色提供 Name
  4. Submit 保存您的新角色。

CLI 过程

  • 运行以下命令来创建角色:

    # hammer role create --name My_Role_Name

为满足这一目的,角色必须包含权限。创建角色后,继续 第 9.5.3 节 “为角色添加权限”

9.5.2. 克隆角色

使用 Satellite Web UI 克隆角色。

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Roles,然后从所需角色右侧的下拉菜单中选择 Clone
  2. 为角色提供 Name
  3. 单击 Submit 以克隆角色。
  4. 单击克隆的角色的名称,再导航到 Filters
  5. 根据需要编辑权限。
  6. Submit 保存您的新角色。

9.5.3. 为角色添加权限

使用这个流程为角色添加权限。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Roles
  2. 从所需角色右侧的下拉列表中,选择 Add Filter
  3. 从下拉列表中选择 资源类型(其它) 组收集与任何资源组没有关联的权限。
  4. 点您要从 Permission 列表中选择的权限。
  5. 根据所选的 资源类型,您可以选择或取消选择 UnlimitedOverride 复选框。默认情况下会选择 Unlimited 复选框,这意味着权限应用于所选类型的所有资源。当您禁用 Unlimited 复选框时,Search 字段将激活。在此字段中,您可以使用 Satellite 搜索语法指定进一步过滤。更多信息请参阅 第 9.7 节 “细粒度权限过滤”。启用 覆盖 复选框时,您可以添加额外的位置和机构,以允许角色访问附加位置和机构中的资源类型;您也可以从资源类型中删除已关联的位置和机构来限制访问。
  6. 点击 Next
  7. Submit 以保存更改。

CLI 过程

  1. 列出所有可用权限:

    # hammer filter available-permissions
  2. 为角色添加权限:

    # hammer filter create \
    --permission-ids My_Permission_ID_1,My_Permission_ID_2 \
    --role My_Role_Name

如需有关角色和权限参数的更多信息,请输入 hammer role --helphammer filter --help 命令。

9.5.4. 查看角色的权限

使用 Satellite Web UI 查看角色的权限。

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Roles
  2. 点所需角色右侧的 Filters 来获取 Filters 页面。

Filters 页面包含分配给按资源类型分组的角色的权限表。也可以生成可在 Satellite 系统上使用的权限和操作的完整列表。如需更多信息,请参阅 第 9.5.5 节 “创建完整的权限表”

9.5.5. 创建完整的权限表

使用 Satellite CLI 创建权限表。

流程

  1. 确保安装了所需的软件包。在 Satellite 服务器上执行以下命令:

    # satellite-maintain packages install foreman-console
  2. 使用以下命令启动 Satellite 控制台:

    # foreman-rake console

    将以下代码插入到控制台中:

    f = File.open('/tmp/table.html', 'w')
    
    result = Foreman::AccessControl.permissions {|a,b| a.security_block <=> b.security_block}.collect do |p|
          actions = p.actions.collect { |a| "<li>#{a}</li>" }
          "<tr><td>#{p.name}</td><td><ul>#{actions.join('')}</ul></td><td>#{p.resource_type}</td></tr>"
    end.join("\n")
    
    f.write(result)

    以上语法创建了权限表,并将其保存到 /tmp/table.html 文件中。

  3. Ctrl + D 退出 Satellite 控制台。在 /tmp/table.html 的第一行中插入以下文本:

    <table border="1"><tr><td>Permission name</td><td>Actions</td><td>Resource type</td></tr>

    /tmp/table.html 的末尾附加以下文本:

    </table>
  4. 在 web 浏览器中打开 /tmp/table.html 来查看表。

9.5.6. 删除角色

使用以下步骤从 Satellite 中删除角色。

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Roles
  2. 从要删除的角色右侧的下拉列表中,选择 Delete
  3. 单击 Confirm 以删除该角色。

9.6. Satellite 中可用的预定义角色

下表提供了 Satellite 中预定义角色授予用户的权限概述。

如需一组完整的预定义角色及其授予的权限,请以特权用户身份登录 Satellite Web UI 并导航到 Administer > Roles。如需更多信息,请参阅 第 9.5.4 节 “查看角色的权限”

预定义的角色角色提供的权限附加信息

审核员 (Auditor)

查看审计日志。

 

默认角色

查看任务和作业调用。

Satellite 会自动为系统中的每个用户分配此角色。

Manager(管理者)

查看并编辑全局设置。

 

机构管理员

除管理机构的权限外的所有权限。

每个机构定义的管理员角色。该角色对其他机构中的资源没有可见性。

通过克隆此角色并分配机构,您可以将该机构的管理委托给用户。

站点管理器

查看不同项目的权限。

管理基础架构中主机的权限。

Manager 角色的剩余版本。

系统管理员

Administer > Settings 中编辑全局设置。

查看、创建、编辑和销毁用户、用户组和角色。

查看、创建、编辑、销毁并分配机构和位置,但不查看其中的资源。

具有此角色的用户可以创建用户,并为他们分配所有角色。仅将此角色授予可信用户。

Viewer

查看 Satellite 结构、日志、报告和统计数据的每个元素的配置。

 

9.7. 细粒度权限过滤

第 9.5.3 节 “为角色添加权限” 所述,Red Hat Satellite 提供了将配置的用户权限限制为所选资源类型实例的功能。这些粒度过滤器是对 Satellite 数据库的查询,受大多数资源类型的支持。

9.7.1. 创建粒度权限过滤器

使用这个流程创建粒度过滤器。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程

Satellite 不适用于创建操作的搜索条件。例如,在搜索字段中使用 name = "Default Location" 表达式限制 create_locations 操作不会阻止用户将自定义名称分配给新创建的位置。

流程

Edit Filter 页面的 Search 字段中指定查询。取消选择要激活的字段的 Unlimited 复选框。查询的格式如下:

field_name operator value
  • field_name 标记要查询的字段。可用字段名称的范围取决于资源类型。例如,分区表 资源类型提供 系列布局和 名称作为 查询参数。
  • operator 指定 field_name 之间比较的类型。如需了解适用的操作符的概述信息,请参阅 第 9.7.3 节 “支持的用于粒度搜索的 Operator”
  • value 是用于过滤的值。例如,这可以是机构的名称。支持两种类型的通配符字符:下划线(_)提供单个字符替换,而百分比符号(%)替换零个或多个字符。

对于大多数资源类型,Search 字段提供了一个显示可用参数的下拉列表。此列表显示在搜索字段中。对于很多资源类型,您可以使用逻辑运算符(如 andnothas)来组合查询。

CLI 过程

  • 要创建粒度过滤器,请输入带有 --search 选项的 hammer filter create 命令来限制权限过滤器,例如:

    # hammer filter create \
    --permission-ids 91 \
    --search "name ~ ccv*" \
    --role qa-user

此命令向 qa-user 角色添加权限,用于查看、创建、编辑和销毁内容视图,该名称只适用于以 ccv 开头的名称。

9.7.2. 使用粒度权限过滤器的示例

作为管理员,您可以允许所选用户更改环境路径的某些部分。以下过滤器允许您在应用程序生命周期的开发阶段处理内容,但内容在推送到生产后将无法访问。

9.7.2.1. 为主机资源类型应用权限

以下查询仅将为 Host 资源类型指定的任何权限应用到名为 host-editors 的组中的主机。

hostgroup = host-editors

以下查询返回了名称与 XXXXYyyyzzzz 示例字符串匹配的记录:

name ^ (XXXX, Yyyy, zzzz)

您还可以限制所选环境的权限。要做到这一点,在 Search 字段中指定环境名称,例如:

Dev

您可以在 Search 字段中使用粒度权限过滤器将用户权限限制到特定机构或位置。但是,有些资源类型提供了 GUI 替代方案,一个提供了 LocationsOrganizations 选项卡的 Override 复选框。在这些标签页中,您可以从可用机构和位置列表中选择。如需更多信息,请参阅 第 9.7.2.2 节 “创建特定于机构的管理器角色”

9.7.2.2. 创建特定于机构的管理器角色

使用 Satellite Web UI,创建仅限于名为 org-1 的单个组织的管理角色。

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Roles
  2. 克隆现有的 Organization admin 角色。从 Filters 按钮旁边的下拉列表中,选择 Clone。然后,系统会提示您插入克隆的角色的名称,如 org-1 admin
  3. 单击所需位置和组织,将它们与角色关联。
  4. 单击 Submit 以创建该角色。
  5. 单击 org-1 admin,然后单击 Filters 以查看所有相关过滤器。默认过滤器可用于大多数用例。但是,您可以选择点击 Edit 来更改每个过滤器的属性。对于某些过滤器,如果您希望角色能够访问其他位置和机构中的资源,可以启用覆盖选项。例如,通过选择 Domain 资源类型、Override 选项,然后使用 LocationsOrganizations 选项卡的其他位置和机构,允许此角色访问额外位置中的域,以及未与此角色关联的机构。您还可以点 New filter 将新过滤器与此角色关联。

9.7.3. 支持的用于粒度搜索的 Operator

表 9.1. 逻辑运算符

Operator

描述

组合搜索条件。

not

对表达式进行求反。

has

对象必须具有指定的属性。

表 9.2. 符号运算符

Operator

描述

=

等于。对文本字段区分大小写的平等比较。

!=

不等于。= 运算符的 inversion。

~

类似于。搜索不区分大小写的文本字段。

!~

类似于。~ 运算符的 inversion。

^

中。对文本字段敏感搜索的平等比较。这会生成不同的 SQL 查询,与比较 相等,对于多个值比较效率更高。

!^

不在 中。^ 运算符的 inversion。

>, >=

大于大于或等于。只支持数字字段。

<, ⇐

小于小于或等于。只支持数字字段。

第 10 章 配置电子邮件通知

电子邮件通知由 Satellite 服务器定期创建,或者在完成某些事件后创建。定期通知可以每天、每周或每月发送。

有关可用通知类型的概述,请参阅 第 10.1 节 “电子邮件通知类型”

用户默认不收到任何电子邮件通知。管理员可以根据通知类型和频率等条件将用户配置为接收通知。

重要

默认情况下,Satellite 服务器不启用传出电子邮件,因此您必须检查您的电子邮件配置。如需更多信息,请参阅 在 连接的网络环境中安装 Satellite 服务器 中的 为 传出电子邮件 配置 Satellite 服务器

10.1. 电子邮件通知类型

Satellite 可以创建以下电子邮件通知:

审计概述
Satellite 服务器审核的所有活动的摘要。
胶囊同步失败
Capsule 同步失败后发送的通知。
合规策略摘要
OpenSCAP 策略报告及其结果摘要。
内容视图提升失败
内容视图提升失败后发送的通知。
内容视图发布失败
内容视图发布失败后发送的通知。
主机构建
构建主机后发送的通知。
主机勘误公告
用户管理的主机的适用和可安装的勘误概述。
提升勘误
只有在内容视图提升后才会发送通知。它包含可用于注册到提升内容视图的主机的勘误表摘要。这样,用户可以监控哪些更新已应用到哪些主机。
仓库同步失败
存储库同步失败后发送的通知。
同步勘误
仅在同步存储库后发送的通知。它包含同步引入的新勘误的摘要。

如需电子邮件通知类型的完整列表,请导航到 Satellite Web UI 中的 Administer > Users,点所需用户的 Username,然后选择 Email Preferences 选项卡。

10.2. 配置电子邮件通知首选项

您可以配置 Satellite,将电子邮件消息发送到注册到 Satellite 的各个用户。Satellite 将电子邮件发送到添加到帐户的电子邮件地址(如果存在)。用户可以通过单击 Satellite Web UI 右上角的名称并选择 My account 来编辑电子邮件地址。

从 Satellite Web UI 配置用户的电子邮件通知。

注意

如果要将电子邮件通知发送到组电子邮件地址而不是单独的电子邮件地址,请创建一个具有组电子邮件地址和最小 Satellite 权限的用户帐户,然后将用户帐户订阅到所需的通知类型。

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Users
  2. 点您要编辑的用户的 Username
  3. User 选项卡中,验证 Mail 字段的值。在此字段中,电子邮件通知将发送到地址。
  4. Email Preferences 选项卡中,选择 Mail Enabled
  5. 选择您希望用户接收的通知,使用通知类型旁边的下拉菜单。

    注意

    通过在 Mail Query 文本框中输入所需的查询,可以过滤 Audit Summary 通知。

  6. Submit

    用户将开始接收通知电子邮件。

10.3. 测试电子邮件发送

要验证电子邮件的发送,请向用户发送测试电子邮件。如果电子邮件发送,则设置正确。

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Users
  2. 点用户名。
  3. Email Preferences 选项卡上,单击 Test email

    测试电子邮件会立即发送到用户的电子邮件地址。

如果发送电子邮件,则验证已完成。否则,您必须执行以下诊断步骤:

  1. 验证用户的电子邮件地址。
  2. 验证 Satellite 服务器的电子邮件配置。
  3. 检查防火墙和邮件服务器日志。

10.4. 测试电子邮件通知

要验证用户是否已正确订阅通知,请手动触发通知。

流程

  • 要触发通知,请执行以下命令:

    # foreman-rake reports:_My_Frequency_

    My_Frequency 替换为以下之一:

  • daily
  • weekly
  • monthly

这会触发为所有订阅的用户调度指定频率的所有通知。如果每个订阅的用户都收到通知,则验证会成功。

注意

目前不支持向单个用户发送手动触发的通知。

10.5. 更改主机的电子邮件通知设置

Satellite 可将主机的事件通知发送到主机的注册所有者。您可以将 Satellite 配置为向单个用户或用户组发送电子邮件通知。当设置为用户组时,订阅电子邮件类型的所有组成员都将收到消息。

接收主机的电子邮件通知会很有用,但如果您希望收到频繁的错误,例如,因为您正在处理的已知问题或错误,也很难收到。

流程

  1. 在 Satellite Web UI 中,进入到 Hosts > All Hosts,找到您要查看的主机,并在 Actions 列中点 Edit
  2. 进入 Additional Information 选项卡。如果选中了在 Satellite 报告中包含此主机的 复选框,则会在该主机上启用电子邮件通知。
  3. 可选:切换复选框以启用或禁用电子邮件通知。

    注意

    如果要接收电子邮件通知,请确保在用户设置中设置了电子邮件地址。

第 11 章 备份 Satellite 服务器和 Capsule 服务器

您可以备份 Satellite 部署,以确保 Red Hat Satellite 部署和相关数据的连续性(如果出现灾难)。如果您的部署使用自定义配置,则必须考虑在规划备份和恢复策略时如何处理这些自定义配置。

注意

如果您创建 Satellite 服务器的新实例,请在恢复备份后停用旧实例。克隆的实例不应在生产环境中并行运行。

要创建 Satellite 服务器或 Capsule 服务器的备份以及所有相关数据,请使用 satellite-maintain backup 命令。强烈建议您备份到独立系统中的独立存储设备。

Satellite 服务在备份过程中不可用。因此,您必须确保其他管理员不会调度其他任务。您可以使用 cron 调度备份。如需更多信息,请参阅 第 11.5 节 “每周完整备份示例,后跟每日增量备份”

在离线或快照备份过程中,服务不活跃,Satellite 处于维护模式。防火墙将拒绝来自端口 443 上外部的所有流量,以确保没有触发任何修改。

备份包含来自 /root/ssl-build 目录的敏感信息。例如,它可以包含主机名、ssh 密钥、请求文件和 SSL 证书。您必须加密或将备份移到安全位置,以最大程度降低对主机的损坏或未授权访问的风险。

传统备份方法

您还可以使用传统的备份方法。如需更多信息,请参阅 Red Hat Enterprise Linux 8 配置基本系统设置 中的 修复和恢复系统

注意

如果您计划使用 satellite-maintain backup 命令创建备份,请不要停止 Satellite 服务。

  • 在创建快照或传统备份时,您必须停止所有服务,如下所示:

    # satellite-maintain service stop
  • 在创建快照或传统备份后启动服务:

    # satellite-maintain service start

11.1. 估算备份的大小

完整备份创建 PostgreSQL 和 Pulp 数据库文件,以及 Satellite 配置文件的未压缩存档。压缩在创建存档后进行,以减少 Satellite 服务不可用时的时间。

完整备份需要空间来存储以下数据:

  • 未压缩的 Satellite 数据库和配置文件
  • 压缩的 Satellite 数据库和配置文件
  • 额外 20% 的总预计空间,以确保可靠的备份

流程

  1. 输入 du 命令估算包含 Satellite 数据库和配置文件的未压缩目录的大小:

    # du -sh /var/lib/pgsql/data /var/lib/pulp
    100G    /var/lib/pgsql/data
    100G	/var/lib/pulp
    
    # du -csh /var/lib/tftpboot /etc /root/ssl-build \
    /var/www/html/pub /opt/puppetlabs
    16M   /var/lib/tftpboot
    37M   /etc
    900K  /root/ssl-build
    100K  /var/www/html/pub
    2M    /opt/puppetlabs
    942M  total
  2. 计算存储压缩数据所需的空间量。

    下表描述了备份中包含的所有数据项目的压缩率:

    表 11.1. 备份数据压缩率
    数据类型目录比率结果示例

    PostgreSQL 数据库文件

    /var/lib/pgsql/data

    80 – 85%

    100 GB → 20 GB

    Pulp RPM 文件

    /var/lib/pulp

    (未压缩)

    100 GB

    配置文件

    /var/lib/tftpboot
    /etc
    /root/ssl-build
    /var/www/html/pub
    /opt/puppetlabs

    85%

    942 MB → 141 MB

    在本例中,压缩的备份数据总数为 120 GB。

  3. 要计算您需要存储备份所需的可用空间量,请计算压缩和未压缩的备份数据的估算值总和,并添加额外的 20% 以确保备份可靠。

    这个示例需要 201 GB 和 120 GB 用于未压缩和压缩的备份数据,总计为 321 GB。对于 64 GB 的额外空间,必须为备份位置分配 385 GB。

11.2. 执行 Satellite 服务器或 Capsule 服务器的完整备份

Red Hat Satellite 使用 satellite-maintain backup 命令进行备份。

备份 Satellite 服务器主要的方法有三种:

  • 离线备份
  • 在线备份
  • 快照备份

    有关这些方法的更多信息,您可以查看每种备份方法的使用声明。

离线备份

# satellite-maintain backup offline --help

在线备份

# satellite-maintain backup online --help

快照备份

# satellite-maintain backup snapshot --help

目录创建

satellite-maintain backup 命令会在您指定的备份目录中创建一个时间戳子目录。satellite-maintain backup 命令不会覆盖备份,因此您必须在从备份或增量备份中恢复时选择正确的目录或子目录。satellite-maintain backup 命令根据需要停止并重启服务。

运行 satellite-maintain backup offline 命令时,会创建以下默认备份目录:

  • Satellite 上的 Satellite -backup
  • Capsule 上的 foreman-proxy-backup

如果要设置自定义目录名称,请添加 --preserve-directory 选项并添加目录名称。然后,备份会存储在您在命令行中提供的目录中。如果使用 --preserve-directory 选项,如果备份失败,则不会删除任何数据。

请注意,如果您使用本地 PostgreSQL 数据库,postgres 用户需要对备份目录进行写访问。

远程数据库

您可以使用 satellite-maintain backup 命令备份远程数据库。

您可以使用在线和离线方法备份远程数据库,但如果您使用离线方法(如快照),satellite-maintain backup 命令会执行数据库转储。

先决条件

警告

请求 Satellite 服务器或胶囊服务器的其他用户保存任何更改,并警告他们在备份期间没有 Satellite 服务。确保没有其他任务与备份同时调度。

流程

  • 在 Satellite 服务器上输入以下命令:

    # satellite-maintain backup offline /var/satellite-backup
  • 在 Capsule 服务器上输入以下命令:

    # satellite-maintain backup offline /var/foreman-proxy-backup

11.3. 在没有 Pulp 内容的情况下执行备份

您可以执行离线备份,该备份不包括 Pulp 目录的内容。没有 Pulp 内容的备份可用于调试目的,仅适用于提供对配置文件的访问,而无需备份 Pulp 数据库。对于生产环境用例,请不要从不包含 Pulp 内容的目录中恢复。

警告

请求 Satellite 服务器或胶囊服务器的其他用户保存任何更改,并警告他们在备份期间没有 Satellite 服务。确保没有其他任务与备份同时调度。

先决条件

流程

  • 要在没有 Pulp 内容的情况下执行离线备份,请输入以下命令:

    # satellite-maintain backup offline --skip-pulp-content /var/backup_directory

11.4. 执行增量备份

使用这个流程对之前备份以来的任何更改进行离线备份。

要执行增量备份,您必须以参考方式执行完整备份,以创建序列的第一个增量备份。保留最新的完整备份,以及要从中恢复的完整增量备份序列。

警告

请求 Satellite 服务器或胶囊服务器的其他用户保存任何更改,并警告他们在备份期间没有 Satellite 服务。确保没有其他任务与备份同时调度。

先决条件

流程

  1. 要执行完整的离线备份,请输入以下命令:

    # satellite-maintain backup offline /var/backup_directory
  2. 要在备份目录中创建一个目录来存储第一个增量备份,请使用 --incremental 选项输入 satellite-maintain backup 命令:

    # satellite-maintain backup offline --incremental /var/backup_directory/full_backup /var/backup_directory
  3. 要创建第二个增量备份,请使用 --incremental 选项输入 satellite-maintain backup 命令,并包含到第一个增量备份的路径,以指示下一个递增的起点。这会在您的备份目录中为第二个增量备份创建一个目录:

    # satellite-maintain backup offline --incremental /var/backup_directory/first_incremental_backup /var/backup_directory
  4. 可选: 如果要指向不同版本的备份,并在开始点时使用该备份版本进行一系列递增,您可以在任何时候都执行此操作。例如,如果要从完整备份而不是第一个增量备份进行新的增量备份,指向完整备份目录:

    # satellite-maintain backup offline --incremental /var/backup_directory/full_backup /var/backup_directory

11.5. 每周完整备份示例,后跟每日增量备份

以下脚本在星期日上执行完整备份,然后对以下每个天数执行增量备份:为执行增量备份的每天创建一个新的子目录。该脚本需要一个每日的 cron 作业。

#!/bin/bash -e
PATH=/sbin:/bin:/usr/sbin:/usr/bin
DESTINATION=/var/backup_directory
if [[ $(date +%w) == 0 ]]; then
  satellite-maintain backup offline --assumeyes $DESTINATION
else
  LAST=$(ls -td -- $DESTINATION/*/ | head -n 1)
  satellite-maintain backup offline --assumeyes --incremental "$LAST" $DESTINATION
fi
exit 0

请注意,satellite-maintain backup 命令需要 /sbin/usr/sbin 目录位于 PATH 中,并使用 --assumeyes 选项来跳过确认提示。

11.6. 执行在线备份

仅对调试目的执行在线备份。

与在线备份相关的风险

在进行在线备份时,如果存在影响 Pulp 数据库的流程,则备份过程的 Pulp 部分会重复,直到不再更改它。由于 Pulp 数据库的备份是备份 Satellite 的最耗时的一部分,因此如果您更改了在此时间内更改 Pulp 数据库,备份过程会保持重启。

对于生产环境,请使用快照方法。更多信息请参阅 第 11.7 节 “执行快照备份”。如果要在生产环境中使用在线备份方法,请小心操作,并确保备份过程中不会进行任何修改。

警告

请求 Satellite 服务器或胶囊服务器的其他用户保存任何更改,并警告他们在备份期间没有 Satellite 服务。确保没有其他任务与备份同时调度。

先决条件

流程

  • 要执行在线备份,请输入以下命令:

    # satellite-maintain backup online /var/backup_directory

11.7. 执行快照备份

您可以执行使用 Pulp 和 PostgreSQL 目录的逻辑卷管理器(LVM)快照的快照备份。从 LVM 快照创建备份可降低备份不一致的风险。

快照备份方法比全离线备份更快,从而减少 Satellite 停机时间。

要查看 usage 语句,请输入以下命令:

# satellite-maintain backup snapshot -h
警告

请求其他 Satellite 服务器或 Capsule 服务器用户保存任何更改,并在备份期间警告 Satellite 服务不可用。确保没有其他任务与备份同时调度。

先决条件

  • 系统将 LVM 用于您快照的目录: /var/lib/pulp//var/lib/pgsql
  • 相关卷组(VG)中的可用磁盘空间是快照大小的三倍。更精确地,VG 必须有足够的空间未被成员逻辑卷(LV)保留,以容纳新的快照。此外,其中一个 LV 必须有足够的可用空间用于备份目录。
  • 目标备份目录位于与快照的目录不同的 LV 上。

流程

  • 要执行快照备份,请输入 satellite-maintain backup snapshot 命令:

    # satellite-maintain backup snapshot /var/backup_directory

satellite-maintain backup snapshot 命令在服务处于活动状态时创建快照,并停止影响备份的所有服务。这使得维护窗口更短。成功快照后,所有服务都会重启,并删除 LVM 快照。

11.8. 在执行备份时跳过步骤

使用 satellite-maintain backup 命令进行备份会按一系列步骤进行。要跳过备份的一部分,请在命令中添加 --whitelist 选项以及您要省略的 step 标签。

流程

  • 要显示可用步骤标签列表,请输入以下命令:

    # satellite-maintain advanced procedure run -h
  • 要跳过备份步骤,请使用 --whitelist 选项输入 satellite-maintain backup 命令。例如:

    # satellite-maintain backup online \
    --whitelist backup-metadata \
    /var/backup_directory

第 12 章 从备份中恢复 Satellite 服务器或 Capsule 服务器

您可以从作为 第 11 章 备份 Satellite 服务器和 Capsule 服务器 一部分创建的备份数据中恢复 Satellite 服务器或 Capsule 服务器。此流程概述了如何在生成备份的同一服务器上恢复备份,在目标系统上删除备份涵盖的所有数据。如果原始系统不可用,请调配具有相同配置设置和主机名的系统。

12.1. 从完整备份中恢复

使用这个流程从完整备份中恢复 Red Hat Satellite 或 Capsule 服务器。恢复过程完成后,所有进程都会在线,所有数据库和系统配置在备份时恢复到状态。

先决条件

  • 确保您要恢复到正确的实例。Red Hat Satellite 实例必须具有与原始系统相同的主机名、配置和与原始系统相同的次版本(X.Y)。
  • 确保已有目标目录。目标目录从存档中包含的配置文件读取。
  • 确保有足够的空间将这些数据存储在 Satellite 服务器或 Capsule 服务器的基本系统上,并在恢复后有足够的空间来包含备份中包含的 /etc//var/ 目录中的所有数据。

    要检查目录所使用的空间,请输入以下命令:

    # du -sh /var/backup_directory

    要检查可用空间,请输入以下命令:

    # df -h /var/backup_directory

    添加 --total 选项,以从多个目录获取总结果。

  • 确保所有 SELinux 上下文都正确。输入以下命令恢复正确的 SELinux 上下文:

    # restorecon -Rv /

流程

  1. 选择安装 Satellite 或 Capsule 的适当方法:

  2. 将备份数据复制到 Satellite服务器的本地文件系统。使用 /var//var/tmp/
  3. 运行恢复脚本。

    # satellite-maintain restore /var/backup_directory

    其中 backup_directory 是包含备份数据的时间戳目录或子目录。

    因为要复制的数据量,恢复过程可能需要很长时间才能完成。

其他资源

  • 若要进行故障排除,您可以检查 /var/log/foreman/production.log/var/log/messages

12.2. 从增量备份中恢复

使用这个流程从增量备份中恢复 Satellite 或 Capsule 服务器。如果您有多个增量备份分支,请按时间顺序为要恢复的 分支 选择完整备份和每个增量备份。

恢复过程完成后,所有进程都会在线,所有数据库和系统配置在备份时恢复到状态。

流程

  1. 使用 第 12.1 节 “从完整备份中恢复” 中的说明恢复最后一个完整备份。
  2. 从 Satellite 服务器的本地文件系统中删除完整备份数据,例如 /var//var/tmp/
  3. 将增量备份数据复制到 Satellite服务器的本地文件系统,例如 /var//var/tmp/
  4. 在进行的同一序列中恢复增量备份:

    # satellite-maintain restore /var/backup_directory/FIRST_INCREMENTAL
    # satellite-maintain restore /var/backup_directory/SECOND_INCREMENTAL

其他资源

  • 若要进行故障排除,您可以检查 /var/log/foreman/production.log/var/log/messages

12.3. 使用虚拟机快照备份和恢复 Capsule 服务器

如果您的胶囊服务器是虚拟机,您可以从快照中恢复。建议创建要从中恢复的每周快照。如果出现故障,您可以安装或配置新的胶囊服务器,然后从 Satellite 服务器同步数据库内容。

如果需要,部署新的胶囊服务器,确保主机名与之前相同,然后安装 Capsule 证书。您仍可在 Satellite 服务器上拥有它们,软件包名称以 -certs.tar 结尾,也可以创建新名称。按照安装 Capsule 服务器 中的步骤,直到您可以在 Satellite Web UI 中确认该 Capsule 服务器连接到 Satellite 服务器。然后,使用 第 12.3.1 节 “将内容从 Satellite 服务器同步到胶囊服务器” 从 Satellite 同步的步骤。

12.3.1. 将内容从 Satellite 服务器同步到胶囊服务器

使用这个流程将内容从 Satellite 服务器同步到 Capsule 服务器。

先决条件

  • 确保您选择胶囊式服务器的相关组织和位置上下文,或者选择 Any OrganizationAny Location

流程

  1. 在 Satellite Web UI 中,进入到 Infrastructure > Capsules
  2. 选择您的胶囊服务器。
  3. Overview 选项卡上,单击 Synchronize

    • 选择 Optimized Sync 将内容从 Satellite 服务器同步到您的胶囊服务器,以绕过不必要的步骤来加快性能。
    • 选择 Complete Sync 以从 Satellite 服务器执行完整同步到您的胶囊服务器,即使元数据尚未更改,也会同步内容。

第 13 章 重命名 Satellite 服务器或 Capsule 服务器

要重命名 Satellite 服务器或胶囊服务器,请使用 satellite-change-hostname 脚本。

重要

在更改 Satellite 服务器或 Capsule 服务器的域名时,使用 satellite-change-hostname 更新主机名,以避免网络问题。

13.1. 重命名 Satellite 服务器

Satellite 服务器的主机名供 Satellite 服务器组件、所有胶囊服务器和注册到它的主机用于通信。此流程可确保除了重命名 Satellite 服务器外,您还可以更新所有引用以指向新的主机名。

警告

重命名您的 Satellite 服务器主机会关闭该主机上的所有 Satellite 服务。重命名完成后服务会重启。

先决条件

  • 在更改其主机名前备份您的 Satellite 服务器。如果您无法成功重命名,请从备份中恢复。如需更多信息,请参阅 第 11 章 备份 Satellite 服务器和 Capsule 服务器
  • 在 Satellite 服务器上运行主机名和 主机名 -f 命令。如果这两个命令没有返回 Satellite 服务器的 FQDN,则 satellite-change-hostname 脚本将无法完成。

    如果 hostname 命令返回 Satellite 服务器的短名称而不是 FQDN,请使用 hostnamectl set-hostname My_Old_FQDN,然后再使用 satellite-change-hostname 脚本正确设置旧的 FQDN。

  • 如果 Satellite 服务器安装了自定义 SSL 证书,请为主机的新 FQDN 获取新证书。如需更多信息,请参阅 在 连接的网络环境中安装 Satellite 服务器 中的 配置带有自定义 SSL 证书的 Satellite 服务器

流程

  1. 在命令行中,运行 satellite-change-hostname 脚本,并提供新的主机名。选择以下任一方法:

    • 如果您的 Satellite 服务器安装了默认自签名 SSL 证书:

      # satellite-change-hostname new-satellite \
      --username My_Username \
      --password My_Password
    • 如果您的 Satellite 服务器安装了自定义 SSL 证书:

      # satellite-change-hostname new-satellite \
      --username My_Username \
      --password My_Password \
      --custom-cert "/root/ownca/test.com/test.com.crt" \
      --custom-key "/root/ownca/test.com/test.com.key"
  2. 如果您已经为新的 Satellite 服务器主机名创建了自定义 SSL 证书,请运行 Satellite 安装脚本来安装证书。有关安装自定义 SSL 证书的更多信息,请参阅在 连接的网络环境中安装 Satellite 服务器 中的 向 Satellite 服务器部署自定义 SSL 证书
  3. 重新注册注册到 Satellite 服务器的所有主机和胶囊服务器。如需更多信息,请参阅管理 主机 中的 注册主机
  4. 在所有 Capsule 服务器上,运行 Satellite 安装脚本来更新对新主机名的引用:

    # satellite-installer \
    --foreman-proxy-foreman-base-url https://new-satellite.example.com \
    --foreman-proxy-trusted-hosts new-satellite.example.com
  5. 在 Satellite 服务器上,列出所有 Capsule 服务器:

    # hammer capsule list
  6. 在 Satellite 服务器上,同步每个 Capsule 服务器的内容:

    # hammer capsule content synchronize \
    --id My_capsule_ID
  7. 如果使用 virt-who 代理,请使用新的主机名更新 virt-who 配置文件。如需更多信息,请参阅配置 虚拟机订阅中 的修改 virt-who 配置
  8. 如果使用外部身份验证,请在运行 satellite-change-hostname 脚本后重新配置 Satellite 服务器以进行外部身份验证。如需更多信息,请参阅 在 连接的网络环境中安装 Satellite 服务器 中的 配置 外部身份验证

13.2. 重命名胶囊服务器

Capsule 服务器的主机名由 Satellite 服务器组件和注册的所有主机引用。此流程可确保除了重命名胶囊服务器外,您也更新对新主机名的所有引用。

警告

重命名您的胶囊服务器主机会关闭该主机上的所有 Satellite 服务。重命名完成后服务会重启。

先决条件

  • 在重命名前备份您的 Capsule 服务器。如果您无法成功重命名,请从备份中恢复。如需更多信息,请参阅 第 11 章 备份 Satellite 服务器和 Capsule 服务器
  • 在 Capsule 服务器上运行主机名和 主机名 -f 命令。如果这两个命令没有返回 Capsule 服务器的 FQDN,则 satellite-change-hostname 脚本将无法完成。

    如果 hostname 命令返回 Capsule 服务器的短名称,而不是 FQDN,请在尝试使用 satellite-change-hostname 脚本前,使用 hostnamectl set-hostname My_Old_FQDN 来正确设置旧的 FQDN。

流程

  1. 在受管主机上,为您的胶囊服务器生成新的证书存档文件。

    • 如果您使用默认 SSL 证书,请重新生成默认 SSL 证书:

      # capsule-certs-generate \
      --certs-tar /root/new-capsule.example.com-certs.tar \
      --foreman-proxy-fqdn new-capsule.example.com

      确保输入到 .tar 文件的完整路径。

    • 如果您使用自定义 SSL 证书,请为您的胶囊服务器创建新的 SSL 证书。如需更多信息,请参阅安装 Capsule 服务器 中的 配置带有自定义 SSL 证书的 Capsule 服务器
  2. 在受管主机上,将证书存档文件复制到您的胶囊服务器。例如,将存档文件复制到 root 用户的主目录:

    # scp /root/new-capsule.example.com-certs.tar root@capsule.example.com:
  3. 在 Capsule 服务器上,运行 satellite-change-hostname 脚本,并提供主机的新名称、Satellite 凭据和证书存档文件名。

    # satellite-change-hostname new-capsule.example.com \
    --certs-tar /root/new-capsule.example.com-certs.tar \
    --password My_Password \
    --username My_Username

    确保输入到 .tar 文件的完整路径。

  4. 如果您为 Capsule 服务器创建了自定义证书,请输入上一步中返回的 satellite-installer 命令,将证书 部署到 Capsule 服务器。如需更多信息,请参阅安装 Capsule 服务器 中的 向 Capsule 服务器部署自定义 SSL 证书
  5. 在注册到 Capsule 服务器的所有主机上,输入以下命令重新安装 bootstrap RPM、重新注册客户端并刷新其订阅。

    您可以使用远程执行功能执行此步骤。如需更多信息,请参阅管理主机中的配置和设置远程作业

    # dnf remove katello-ca-consumer*
    
    # dnf install http://new-capsule.example.com/pub/katello-ca-consumer-latest.noarch.rpm
    
    # subscription-manager register \
    --environment="My_Lifecycle_Environment" \
    --force \
    --org="My_Organization"
    
    # subscription-manager refresh
  6. 在 Satellite Web UI 中更新 Capsule 主机名。

    1. 在 Satellite Web UI 中,进入到 Infrastructure > Capsules
    2. 在列表中找到 Capsule Server,然后单击 Edit
    3. 编辑 NameURL 字段,使其与 Capsule Server 的新主机名匹配,然后单击 Submit
    4. 在 DNS 服务器上,为您的胶囊服务器的新主机名添加记录,并删除之前主机名的记录。

第 14 章 维护 Satellite 服务器

本章介绍了如何维护 Satellite 服务器的信息,包括有关如何使用审计记录的信息、如何清理未使用的任务以及如何从完整磁盘中恢复 Pulp。

14.1. 手动删除审计记录

您可以使用 foreman-rake audits:expire 命令来随时删除审计记录。

流程

  • 使用 foreman-rake audits:expire 命令删除审计记录:

    # foreman-rake audits:expire days=Number_Of_Days

    这个命令会删除不是 Number_Of_Days 的所有审计记录。

14.2. 自动删除审计记录

您可以使用 Saved audits interval 设置自动删除审计记录。默认情况下,此设置为空,这意味着 Satellite 不会自动删除审计记录。

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Settings
  2. General 选项卡中,找到 Saved audits interval 设置。
  3. 将值设为您希望 Satellite 删除审计记录的天数。

14.3. Anonymizing audit records

您可以使用 foreman-rake audits:anonymize 命令删除任何用户帐户或 IP 信息,同时在数据库中维护审计记录。您还可以使用 cron 作业按您想要的设定间隔调度审计记录。

默认情况下,使用 foreman-rake audits:anonymize 命令模拟超过 90 天的审计记录。您可以通过添加 days 选项并添加天数来指定保留审计记录的天数。

例如,如果要对超过 7 天的审计记录进行匿名化,请输入以下命令:

# foreman-rake audits:anonymize days=7

14.4. 删除报告记录

报告记录在 Satellite 中自动创建。您可以使用 foreman-rake report:expire 命令来随时删除报告。您还可以使用 cron 作业按您想要的设定间隔调度报告记录删除。

默认情况下,使用 foreman-rake report:expire 命令会删除超过 90 天的报告记录。您可以通过添加 days 选项并添加天数来指定保留报告记录的天数。

例如,如果要删除超过 7 天的报告记录,请输入以下命令:

# foreman-rake reports:expire days=7

14.5. 配置清理未使用的任务功能

Satellite 执行常规清理,以减少数据库中的磁盘空间,并限制磁盘增长率。因此,Satellite 备份可以更快地完成,整体性能更高。

默认情况下,Satellite 会执行一个 cron 作业,该作业每天在 19:45 处清理任务。Satellite 在清理过程中删除以下任务:

  • 成功运行且超过三十天的任务
  • 所有比一年旧的任务

您可以使用这些选项配置清理未使用的任务功能:

  • 要配置 Satellite 运行 cron 作业的时间,请将 --foreman-plugin-tasks-cron-line 参数设置为您希望在 cron 格式运行的时间。例如,要调度 cron 任务在每天 15:00 运行,请输入以下命令:

    # satellite-installer --foreman-plugin-tasks-cron-line "00 15 * * *"
  • 要配置 Satellite 删除任务的周期,请编辑 /etc/foreman/plugins/foreman-tasks.yaml 文件中的 :rules: 部分。
  • 要禁用 Satellite 上的常规任务清理,请输入以下命令:

    # satellite-installer --foreman-plugin-tasks-automatic-cleanup false
  • 要在 Satellite 上重新启用常规任务清理,请输入以下命令:

    # satellite-installer --foreman-plugin-tasks-automatic-cleanup true

14.6. 删除任务记录

任务记录在 Satellite 中自动创建。您可以使用 foreman-rake foreman_tasks:cleanup 命令来随时删除任务。您还可以使用 cron 作业按您想要的设定间隔调度任务记录删除。

例如,如果要从成功存储库同步中删除任务记录,请输入以下命令:

# foreman-rake foreman_tasks:cleanup TASK_SEARCH='label = Actions::Katello::Repository::Sync' STATES='stopped'

14.7. 按 ID 删除任务

您可以按 ID 删除任务,例如您错误地提交了机密数据。

流程

  1. 使用 SSH 连接到您的 Satellite 服务器:

    # ssh root@satellite.example.com
  2. 可选:查看任务:

    # hammer task info --id My_Task_ID
  3. 删除任务:

    # foreman-rake foreman_tasks:cleanup TASK_SEARCH="id=My_Task_ID"
  4. 可选:确保任务已从 Satellite 服务器中删除:

    # hammer task info --id My_Task_ID

    请注意,由于任务已被删除,这个命令会返回一个非零退出代码。

14.8. 从完整磁盘中恢复

以下流程描述了如何解决带有 Pulp 数据库的逻辑卷(LV)时,没有可用空间。

流程

  1. 让运行 Pulp 任务完成,但不会触发任何新任务,因为它们可能会因为完整磁盘而失败。
  2. 确定其上带有 /var/lib/pulp 目录的 LV 有足够的可用空间。以下是实现此目的的一些方法:

    1. 删除孤立的内容:

      # foreman-rake katello:delete_orphaned_content RAILS_ENV=production

      这每周都会运行,因此不会释放太多空间。

    2. 将下载策略从 Immediate 更改为 On Demand,用于尽可能多的存储库,并删除已下载的软件包。请参阅红帽知识库解决方案 如何将 Satellite 上存储库的同步策略从红帽客户门户网站上的"Immediate"更改为"按需" 以了解相关说明。
    3. 使用其上的 /var/lib/pulp 目录增大 LV 上的文件系统。如需更多信息,请参阅 Red Hat Enterprise Linux 8 配置和管理逻辑卷 中的 增大逻辑卷和文件系统

      注意

      如果您使用 untypical 文件系统(除 ext3、ext4 或者 xfs 之外),您可能需要卸载文件系统,使其不使用。在这种情况下,完成以下步骤:

      1. 停止 Satellite 服务:

        # satellite-maintain service stop
      2. 在 LV 上增大文件系统。
      3. 启动 Satellite 服务:

        # satellite-maintain service start
  3. 如果某些 Pulp 任务因为完整磁盘而失败,请再次运行它们。

14.9. 在 Satellite 服务器或 Capsule 服务器的基本操作系统上管理软件包

要在 Satellite 服务器或 Capsule 服务器基本操作系统中安装和更新软件包,您必须输入 satellite-maintain packages 命令。Satellite 可防止用户使用 yum 安装和更新软件包,因为 yum 也可能会更新与 Satellite 服务器或 Capsule 服务器相关的软件包,并导致系统不一致。

重要

satellite-maintain packages 命令会在运行它的操作系统上重启一些服务,因为它在安装软件包后运行 satellite-installer 命令。

您可以使用 satellite-maintain package 命令管理软件包,如下所示:

  • 在 Satellite 服务器或 Capsule 服务器中安装软件包:

    # satellite-maintain packages install package_1 package_2
  • 检查 Satellite 服务器或 Capsule 服务器上可用软件包更新:

    # satellite-maintain packages check-update
  • 更新 Satellite 服务器或 Capsule 服务器上的所有软件包:

    # satellite-maintain packages update
  • 更新 Satellite 服务器或 Capsule 服务器上的特定软件包:

    # satellite-maintain packages update package_1 package_2

单独更新软件包可能会导致 Satellite 服务器或 Capsule 服务器上软件包不一致。有关在 Satellite 服务器上更新软件包的更多信息, 请参阅更新 Red Hat Satellite 中的将 Satellite 服务器更新至下一个次版本

14.10. 重新声明 PostgreSQL 空间

PostgreSQL 数据库可以使用大量磁盘空间,特别是在负载大量部署中。使用这个流程重新声明 Satellite 上的一些磁盘空间。

流程

  1. 停止除 postgresql 服务外的所有服务:

    # satellite-maintain service stop --exclude postgresql
  2. 切换到 postgres 用户并回收数据库中的空间:

    # su - postgres -c 'vacuumdb --full --all'
  3. vacuum 完成后启动其他服务:

    # satellite-maintain service start

14.11. 在需要的软件仓库中回收空间

如果您根据需要 将下载策略设置为,则 Satellite 仅在客户端请求软件包时下载软件包。您可以清理这些软件包以回收空间。

对于单个软件仓库

  • 在 Satellite Web UI 中,进入到 Content > Products
  • 选择一个产品。
  • Repositories 选项卡上,单击存储库名称。
  • Select Actions 列表中,选择 Reclaim Space

对于多个软件仓库

  • 在 Satellite Web UI 中,进入到 Content > Products
  • 选择产品名称。
  • Repositories 选项卡上,选中存储库的复选框。
  • 点右上角的 Reclaim Space

对于 Capsules

  • 在 Satellite Web UI 中,进入到 Infrastructure > Capsules
  • 选择 Capsule 服务器。
  • 单击 Reclaim space

第 15 章 续订自定义 SSL 证书

本章介绍了如何在 Satellite 服务器和 Capsule 服务器上更新自定义 SSL 证书。

15.1. 在 Satellite 服务器上续订自定义 SSL 证书

使用这个流程为 Satellite 服务器更新自定义 SSL 证书。

先决条件

  • 您必须创建新的证书签名请求(CSR),并将其发送到证书颁发机构以签署证书。创建新 CSR 前 ,请参阅 配置 Satellite 服务器 指南,因为服务器证书必须具有 X.509 v3 密钥使用 和扩展密钥用法 扩展。在返回中,您将收到 Satellite 服务器证书和 CA 捆绑包。

流程

  • 在 Satellite 服务器上部署续订的自定义证书前,请验证自定义 SSL 输入文件。请注意,对于 katello-certs-check 命令正常工作,证书中的通用名称(CN)必须与 Satellite 服务器的 FQDN 匹配:

    # katello-certs-check -t satellite \
    -b /root/satellite_cert/ca_cert_bundle.pem \
    -c /root/satellite_cert/satellite_cert.pem \
    -k /root/satellite_cert/satellite_cert_key.pem

    如果命令成功,它会返回以下 satellite-installer 命令。您可以使用此命令将更新的 CA 证书部署到 Satellite 服务器:

    # satellite-installer --scenario satellite \
    --certs-server-cert "/root/satellite_cert/satellite_cert.pem" \
    --certs-server-key "/root/satellite_cert/satellite_key.pem" \
    --certs-server-ca-cert "/root/satellite_cert/ca_cert_bundle.pem" \
    --certs-update-server \
    --certs-update-server-ca
重要

部署证书后不要删除证书文件。升级 Satellite 服务器时需要它们。

注意

如果因为不同的证书签名请求授权机构生成了新的消费者软件包 katello-ca-consumer-latest.noarch.rpm,则必须更新注册到 Satellite 服务器的所有客户端。

验证

  1. 从本地机器访问 Satellite Web UI。例如: https://satellite.example.com
  2. 在您的浏览器中,查看证书详情以验证部署的证书。

15.2. 在 Capsule 服务器上续订自定义 SSL 证书

使用这个流程为 Capsule 服务器更新自定义 SSL 证书。satellite-installer 命令返回 Capsule -certs-generate 命令对于每个胶囊服务器都是唯一的。您不能在多个胶囊服务器上使用相同的命令。

先决条件

  • 您必须创建新的证书签名请求,并将其发送到证书颁发机构以签署证书。创建新 CSR 前 ,请参阅 配置 Satellite 服务器 指南,因为 Satellite 服务器证书必须具有带有所需值的 X.509 v3 密钥使用 和扩展密钥使用扩展。在返回中,您将收到 Capsule 服务器证书和 CA 捆绑包。

流程

  1. 在 Satellite 服务器上,验证自定义 SSL 证书输入文件:

    # katello-certs-check -t capsule \
    -b /root/capsule_cert/ca_cert_bundle.pem \
    -c /root/capsule_cert/capsule_cert.pem \
    -k /root/capsule_cert/capsule_cert_key.pem
  2. 在 Satellite 服务器上,为您的 Capsule 服务器生成证书存档文件:

    # capsule-certs-generate \
    --certs-tar "/root/My_Certificates/capsule.example.com-certs.tar" \
    --certs-update-server \
    --foreman-proxy-fqdn "capsule.example.com" \
    --server-ca-cert "/root/My_Certificates/ca_cert_bundle.pem" \
    --server-cert "/root/My_Certificates/capsule_cert.pem" \
    --server-key "/root/My_Certificates/capsule_cert_key.pem"
  3. 在 Satellite 服务器上,将证书归档文件复制到您的 Capsule 服务器中:

    # scp /root/My_Certificates/capsule.example.com-certs.tar user@capsule.example.com:

    如果需要,您可以将复制的文件移到适用路径中。

  4. 保留 Capsule- certs-generate 命令返回的 satellite- installer 命令的副本,以将证书部署到您的胶囊服务器。
  5. 使用 Capsule- certs-generate 命令返回的 satellite-installer 命令将证书部署到 Capsule 服务器上:

    # satellite-installer --scenario capsule \
    --certs-tar-file "/root/My_Certificates/capsule.example.com-certs.tar" \
    --certs-update-server \
    --foreman-proxy-foreman-base-url "https://satellite.example.com" \
    --foreman-proxy-register-in-foreman "true"
重要

部署证书后,不要删除 Capsule 服务器上的证书存档文件。升级 Capsule 服务器时需要它们。

注意

如果因为不同的证书签名请求授权而生成了新的消费者软件包 katello-ca-consumer-latest.noarch.rpm,则必须更新注册到 Capsule 服务器的所有客户端。

第 16 章 日志记录和报告问题

以下小节描述了 Satellite 中最常用的日志文件和调试工具。

16.1. 增加日志记录级别以帮助进行调试

您可以提高 Satellite 组件的日志记录级别,以对 Satellite 进行故障排除。将日志记录级别增加到 debug 提供了更详细的信息。默认日志记录级别是 info

16.1.1. 增加 Foreman 应用程序的日志记录级别

为 Foreman 应用程序增加日志:

  1. 将日志记录级别设置为 debug

    # satellite-installer --foreman-logging-level debug
  2. 调试完成后,将日志记录级别重置为默认值:

    # satellite-installer --reset-foreman-logging-level

有关 Satellite 日志记录设置的更多信息,请使用 satellite-installer--full-help 选项:

# satellite-installer --full-help | grep logging

16.1.2. 增加 Hammer 的日志记录级别

您可以在 ~/.hammer/log/hammer.log 中找到日志。

为 Hammer 增加日志记录:

  • /etc/hammer/cli_config.yml 中,将 :log_level: 选项设置为 debug
:log_level: 'debug'

16.1.3. 增加 Capsule 的日志记录级别

您可以在 /var/log/foreman-proxy/proxy.log 中找到日志。

为 Capsule 增加日志记录:

  1. 将日志记录级别设置为 debug

    # satellite-installer --foreman-proxy-log-level DEBUG
  2. 调试完成后,将日志记录级别重置为默认值:

    # satellite-installer --reset-foreman-proxy-log-level
注意

运行 satellite-installer 会将设置恢复为默认值。

16.1.4. 增加 Candlepin 的日志记录级别

您可以在 /var/log/candlepin/candlepin.log/var/log/candlepin/error.log 中找到日志。

为 Candlepin 增加日志记录:

  1. 将日志记录级别设置为 DEBUG

    # satellite-installer --katello-candlepin-loggers log4j.logger.org.candlepin:DEBUG

如果 candlepin 日志文件过于详细,您可以减少默认的调试级别:

# satellite-installer \
--katello-candlepin-loggers log4j.logger.org.candlepin:DEBUG \
--katello-candlepin-loggers log4j.logger.org.candlepin.resource.ConsumerResource:WARN \
--katello-candlepin-loggers log4j.logger.org.candlepin.resource.HypervisorResource:WARN
  1. 调试完成后,将日志记录级别重置为默认值:

    # satellite-installer --reset-katello-candlepin-loggers

16.1.5. 增加 Redis 的日志记录级别

您可以在 /var/log/redis/redis.log 中找到 Redis 的日志。

为 Redis 增加日志记录:

  1. /etc/redis.conf 中,将日志级别设置为 debug

    loglevel debug
  2. 重启 Redis 服务:

    # systemctl restart redis
注意

运行 satellite-installer 会将设置恢复为默认值。

16.1.6. 增加 Satellite 安装程序的日志级别

您可以在 /var/log/foreman-installer/ 中找到日志文件。

要增加 Satellite 安装程序的日志记录级别,请在安装过程中添加 --verbose-log-level debug 选项:

# satellite-installer --verbose-log-level debug

16.1.7. 增加 Pulp 的日志记录级别

默认情况下,Pulp 会记录到 syslog。您可以查看日志 /var/log/messagesjournalctl

为 Pulp 增加日志记录:

  1. /etc/pulp/settings.py 中,将日志级别设置为 DEBUG

    LOGGING = {"dynaconf_merge": True, "loggers": {'': {'handlers': ['console'], 'level': 'DEBUG'}}}
  2. 重启 Pulp 服务:

    # systemctl restart \
    pulpcore-api \
    pulpcore-content \
    pulpcore-resource-manager \
    pulpcore-worker@1 \
    pulpcore-worker@2 \
    redis

16.1.8. 增加 Puppet 代理的日志记录级别

您可以在 /var/log/puppetlabs/puppet/ 中找到日志。

为 Puppet 代理增加日志记录:

  1. 确保 Satellite 中启用了 Puppet。有关更多信息,请参阅使用 Puppet 集成管理配置中的启用 Puppet 与 Satellite 集成
  2. 将日志记录级别设置为 debug

    # satellite-installer --puppet-agent-additional-settings log_level:debug

16.1.9. 增加 Puppet 服务器的日志记录级别

您可以在 /var/log/puppetlabs/puppetserver/ 中找到日志。

增加 Puppet 服务器的日志记录:

  1. 确保 Satellite 中启用了 Puppet。有关更多信息,请参阅使用 Puppet 集成管理配置中的启用 Puppet 与 Satellite 集成
  2. 将日志记录级别设置为 debug

    # satellite-installer --puppet-server-additional-settings log_level:debug
  3. 重启 Puppet 服务器:

    # satellite-maintain service restart --only puppetserver

16.2. 使用 Hammer CLI 配置日志记录级别

您可以使用 Hammer 记录各种 Satellite 组件的调试信息。默认日志记录级别为 INFO

  • 要列出其日志级别的组件,您可以使用 hammer 进行更改:

    # hammer admin logging --list
  • 要为所有组件设置 DEBUG 级别日志记录:

    # hammer admin logging --all --level-debug
    # satellite-maintain service restart
  • 要为 所有组件 设置 PRODUCTION 级别日志记录:

    # hammer admin logging --all --level-production
    # satellite-maintain service restart
  • 为特定组件设置 DEBUG 级别日志记录:

    # hammer admin logging --components My_Component --level-debug
    # {foreman-maintain} service restart
  • 列出所有可用日志记录选项:

    # hammer admin logging --help

其他资源

16.3. 配置日志记录类型和布局

默认情况下,Satellite 使用基于文件的日志记录。您可以使用 satellite-installer 更改日志记录类型和日志记录布局。

使用日志配置日志的步骤

  1. 输入以下 satellite-installer 命令,将日志记录配置为 journald 服务:

    # satellite-installer \
    --foreman-logging-type journald \
    --foreman-proxy-log JOURNAL
  2. 可选: 要检查日志消息,请使用 journalctl 实用程序。例如:

    • journalctl --unit foremanjournalctl --unit foreman-proxy 显示 foremanforeman-proxy 单元的消息
    • journalctl REQUEST=request_ID 显示指定请求的消息

配置基于文件的日志记录的步骤

  1. 输入以下 satellite-installer 命令来配置基于文件的日志记录:

    # satellite-installer \
    --reset-foreman-logging-type \
    --reset-foreman-proxy-log
  2. 可选: 要检查日志消息,请查看这些文件:

    • /var/log/foreman/production.log
    • /var/log/foreman-proxy.log

将日志记录配置为 JSON 输出的步骤

  1. 在 Satellite 服务器上,为 satellite-installer 启用日志记录到 JSON 输出:

    # satellite-installer \
    --foreman-logging-layout json \
    --foreman-logging-type file
  2. 可选:使用 jq 检查日志消息:

    # cat /var/log/foreman/production.log | jq

其他资源

有关 Journal 的更多信息,请参阅 Red Hat Enterprise Linux 8 配置基本系统设置指南中的 使用命令行查看日志

16.4. 使用独立日志记录器选择调试

您可以启用单个日志记录器进行选择调试。

流程

  1. 启用所需的各个日志记录器。例如,要启用 sqlldap loggers,请输入以下命令:

    # satellite-installer \
    --foreman-loggers ldap:true \
    --foreman-loggers sql:true
  2. 可选:将所有日志记录器重置为默认值:

    # satellite-installer --reset-foreman-loggers

16.5. 各个日志记录器概述

以下列表提供了所选日志记录器的概述:您可以使用其默认值在 Foreman::Logging.add_loggers 下的 /usr/share/foreman/config/application.rb 中找到日志记录器的完整列表。

app

记录 Web 请求和所有常规应用消息。

默认值:true。

audit

日志额外的事实统计、添加、更新和删除事实的数量。

默认值:true。

背景
从后台处理组件记录信息。
blob

用于审计目的的渲染模板的日志内容。

重要

blob 日志记录器可能包含敏感数据。

dynflow
从 Dynflow 进程记录信息。
ldap

记录高级别 LDAP 查询和 LDAP 操作。

默认值:false。

notifications
从通知组件记录信息。
权限

在加载页面时,将查询记录到用户角色、过滤器和权限。

默认值:false。

sql

日志通过 Rails ActiveRecord 进行的 SQL 查询。

默认值:false。

Telemetry
记录来自遥测的调试信息。
模板
记录模板呈现器组件的信息。

16.6. 检索服务状态

Satellite 使用一组后端服务。在进行故障排除时,您可以检查 Satellite 服务的状态。

流程

  • 在 Satellite Web UI 中,进入到 Administer > About

    • Smart Proxies 选项卡上,查看所有胶囊的状态。
    • Compute Resources 选项卡上,查看附加的计算资源提供程序的状态。
    • Backend System Status 表中,查看所有后端服务的状态。

CLI 过程

  • 从数据库和 Satellite 服务中获取信息:

    # hammer ping
  • 检查 systemd 中运行的服务的状态:

    # satellite-maintain service status

    如需更多信息,请运行 satellite-maintain service --help

  • 执行健康检查:

    $ satellite-maintain health check

    如需更多信息,请运行 satellite-maintain health --help

16.7. 重启服务

Satellite 使用一组后端服务。在进行故障排除时,如果需要,您可以重启该服务。

流程

  • 重启 Satellite 服务:

    # satellite-maintain service restart

16.8. 处理日志信息的工具

您可以从日志文件中收集信息,以对 Satellite 进行故障排除。

sosreport

sosreport 命令从 Linux 系统收集配置和诊断信息,如正在运行的内核版本、载入的模块、运行的服务和服务配置文件。此输出存储在位于 /var/tmp/sosreport-XXX-20171002230919.tar.xz的 tar 文件中。

如需更多信息,请运行 sosreport --help 或查看 sosreport 是什么以及如何创建一个?

重要

sosreport 命令在收集信息时删除安全信息,如密码、令牌和密钥。但是,tar 文件仍然可以包含有关 Satellite 服务器的敏感信息。将 tar 文件直接发送到预期的接收者,而不是发送到公共目标。

foreman-tail

foreman-tail 命令实时显示 Satellite 日志。

如需更多信息,请参阅 foreman-tail (8) 手册页。

16.9. 日志文件目录

下表提供了 Satellite 服务器上所选日志目录的概述:

日志文件目录日志文件内容的描述

/var/log/candlepin/

订阅管理

/var/log/foreman-installer/

安装程序

/var/log/foreman-maintain/

Foreman 维护

/var/log/foreman-proxy/

Foreman 代理

/var/log/foreman/

Foreman

/var/log/httpd/

Apache HTTP 服务器

/var/log/messages/

各种其他日志消息

/var/log/puppetlabs/puppet/

puppet

/var/log/tomcat/

Candlepin web 服务日志

16.10. 系统日志元数据

下表列出了 journald 服务在 Satellite 中使用的元数据。您可以使用此元数据来过滤查询。

AUDIT_ACTION

执行的审计操作

示例:创建、更新或删除

AUDIT_TYPE

Audit 资源类型

示例:Host、Subnet 或 ContentView

AUDIT_ID
审计资源数据库 ID 作为数字
AUDIT_ATTRIBUTE
audit 资源字段或更新的数据库列
AUDIT_FIELD_OLD
更新操作的旧审计值
AUDIT_FIELD_NEW
更新操作的新审计值
AUDIT_ID
记录审计主题的数据库 ID
AUDIT_ATTRIBUTE

执行操作的属性名称或列

示例:描述或描述

EXCEPTION_MESSAGE
错误信息被记录时的异常
EXCEPTION_CLASS
记录错误时的 Ruby 类
EXCEPTION_BACKTRACE
当记录错误时,后端作为多行字符串异常
LOC_ID
位置数据库 ID
LOC_NAME
位置名称
LOC_LABEL
位置标签
LOGGER

日志记录器名称

要查看默认启用的日志记录器的当前列表,请输入以下命令:

# awk '/add_loggers/,/^$/' /usr/share/foreman/config/application.rb
ORG_ID
机构数据库 ID
ORG_NAME
机构名称
ORG_LABEL
机构标签
REMOTE_IP
客户端的远程 IP 地址
REQUEST (请求)
由 Action Dispatch 模块生成的请求 ID
会话
为每个会话生成的随机 ID 或无会话请求请求
TEMPLATE_NAME
模板名称
TEMPLATE_DIGEST
渲染模板内容的摘要(SHA256)
TEMPLATE_HOST_NAME
渲染模板的主机名(如果存在)
TEMPLATE_HOST_ID
存在时呈现模板的主机数据库 ID
USER_LOGIN
用户登录名称

第 17 章 监控资源

以下章节详细介绍了如何为受管系统配置监控和报告。这包括主机配置、内容视图、合规性、订阅、注册的主机、提升和同步。

17.1. 使用 Red Hat Satellite 内容仪表板

Red Hat Satellite 内容仪表板包含各种小部件,它们提供了主机配置、内容视图、合规性报告、订阅和主机当前注册、提升和同步以及最新通知列表的概述。

在 Satellite Web UI 中,进入到 Monitor > Dashboard 以访问内容仪表板。可以通过单击小部件并将它拖动到不同的位置来重新安排仪表板。可用的小部件如下:

主机配置状态

在最后报告间隔期间配置状态以及与其关联的主机数量的概述。下表显示了可能的配置状态的描述。

表 17.1. 主机配置状态
图标状态描述

host state config okay

执行修改的主机没有错误

在最后报告间隔期间成功执行修改的主机。

host state config error

处于错误状态的主机

在最后报告间隔期间检测到错误的主机。

host state config report

最后一次 35 分钟内的良好主机报告

没有错误的主机在最后 35 分钟内不执行任何修改。

host state config pending

处于待定更改的主机

应用某些资源但 Puppet 配置为在 noop 模式下运行的主机。

host state config outofsync

不同步主机

没有同步的主机,在最后报告间隔期间不会收到报告。

host state config noreport

没有报告的主机

在最后报告间隔期间没有收集到任何报告的主机。

host state config noalert

禁用警报的主机

未监控的主机。

单击特定的配置状态,以查看与其关联的主机。

主机配置图
pie 图表显示配置状态的比例以及与其关联的所有主机的百分比。
最新事件

主机生成的消息列表,包括管理信息、产品和订阅更改以及任何错误。

监控此部分,了解发送给所有用户的全局通知,并检测任何异常活动或错误。

运行分发(最后 30 分钟)
图显示在最后 puppet 间隔期间运行的 Puppet 代理的分发,默认为 30 分钟。在这种情况下,每个列表示在 3 分钟内从客户端接收的多个报告。
新主机
最近创建的主机的列表。单击主机以获取更多详细信息。
任务状态
所有当前任务的概述,按状态和结果分组。点数字查看对应任务列表。
最新警告/错误任务
最新任务列表,它们因为警告或错误而停止。点一个任务查看更多详情。
发现的主机
Discovery 插件在 provisioning 网络中检测到的所有裸机主机列表。
最新勘误
适用于注册到 Satellite 的主机的所有勘误的列表。
内容视图
Satellite 中所有内容视图的列表及其发布状态。
同步概述
Satellite 中启用的所有产品或存储库及其同步状态的概述。本节列出了队列中用于同步的所有产品,且未同步或之前已同步。
主机订阅状态

现在,已由注册到 Satellite 的主机使用的订阅概述。订阅是购买的证书,可以解锁对主机软件、升级和安全修复的访问。下表显示了订阅可能的状态。

表 17.2. 主机订阅状态
图标状态描述

host state sub invalid

无效

安装了产品但没有正确订阅的主机。这些主机需要立即关注。

host state sub partial

部分

具有订阅及有效权利但没有使用其全部权利的主机。应监控这些主机以确保它们按预期配置。

host state sub valid

valid

有有效权限且使用其全部权限的主机。

点订阅类型查看与所选类型订阅关联的主机。

订阅状态
显示当前订阅总数的概述,显示有效订阅数量、在下一个 120 天后过期的订阅数量,以及最近已过期的订阅数量。
主机集合
Satellite 中所有主机集合及其状态的列表,包括每个主机集合中的内容主机数量。
virt-who 配置状态

从环境中运行的 virt-who 守护进程接收的报告状态概述。下表显示了可能的状态。

表 17.3. virt-who 配置状态
状态描述

没有报告

没有收到报告,因为 virt-who 配置部署期间发生错误,或者尚未部署配置,或者 virt-who 在调度间隔期间无法连接到 Satellite。

没有更改

未收到报告,因为虚拟机监控程序没有检测到虚拟机上的任何更改,或者 virt-who 在调度间隔内无法上传报告。如果您添加了虚拟机,但配置处于 No Change 状态,请检查 virt-who 是否正在运行。

确定

在调度间隔期间收到无错误的报告。

配置总数

virt-who 配置总数。

点击配置状态查看此状态下的所有配置。

该小部件还列出了 Latest Configuration (不更改 )下 No Change state 中的三个最新配置。

最新合规性报告
最新合规性报告列表。每个合规性报告都显示通过(P)、失败(F)或其他ed (O)的多个规则。单击详细合规性报告的主机。单击策略以获取该策略的详情。
合规性报告明细
pie 图表显示合规报告的状态分布。
Red Hat Insights 操作
Red Hat Insights 是一个嵌入在 Satellite 中的工具,它检查环境并推荐您可以执行的操作。这些操作分为 4 个类别:可用性、稳定性、性能和安全性。
Red Hat Insights 风险概述

表显示根据风险级别的操作分发。风险级别代表操作的关键,以及导致实际问题的可能性。可能的风险级别有: Low, Medium, High, 和 Critical。

注意

无法更改 Satellite Web UI 中显示的日期格式。

17.1.1. 管理任务

Red Hat Satellite 保留所有计划或已执行的任务的完整日志,如发布存储库同步、勘误和内容视图。要查看日志,请导航到 Monitor > Satellite Tasks > Tasks

在 Task 窗口中,您可以搜索特定任务,查看其状态、详情以及启动后经过的时间。您还可以取消和恢复一个或多个任务。

这些任务使用 Dynflow 引擎进行管理。远程任务有一个超时,可以根据需要调整。

调整超时设置

  1. 在 Satellite Web UI 中,进入到 Administer > Settings
  2. 在搜索框中输入 %_timeout 并点 Search。搜索应返回四个设置,包括描述。
  3. Value 列中,单击数字旁边的图标来编辑它。
  4. 输入所需值(以秒为单位),然后单击 Save
注意

调整 %_finish_timeout 值在低带宽时可能有所帮助。调整 %_accept_timeout 值在出现高延迟时可能有所帮助。

初始化任务后,将检查任务中使用的任何后端服务,如 Candlepin 或 Pulp。如果检查失败,您将收到类似如下的错误:

There was an issue with the backend service candlepin: Connection refused – connect(2).

如果后端服务检查功能导致了任何问题,则可以将其禁用,如下所示:

禁用对服务的检查

  1. 在 Satellite Web UI 中,进入到 Administer > Settings
  2. 在搜索框中输入 check_services_before_actions,然后单击 Search
  3. Value 列中,点图标编辑值。
  4. 从下拉菜单中选择 false
  5. 点击 Save

17.2. 配置 RSS 通知

要查看 Satellite 事件通知警报,请单击屏幕右上角的 Notifications 图标。

默认情况下,Notifications 区域显示 Red Hat Satellite Blog 中发布的 RSS 源事件。

源每 12 小时刷新一次,在有新事件可用时,会更新 Notifications 区域。

您可以通过更改 URL 源来配置 RSS 源通知。支持的源格式为 RSS 2.0 和 Atom。有关 RSS 2.0 源结构的示例,请查看 Red Hat Satellite Blog feed。有关 Atom feed 结构的示例,请参阅 Foreman 博客源

配置 RSS 源通知

  1. 在 Satellite Web UI 中,进入到 Administer > Settings 并选择 Notifications 选项卡。
  2. 在 RSS URL 行中,点 Value 列中的编辑图标,并输入所需的 URL。
  3. 在 RSS enable 行中,点 Value 列中的编辑图标启用或禁用此功能。

17.3. 监控 Satellite 服务器

审计记录列出了 Satellite 上所有用户所做的更改。此信息可用于维护和故障排除。

流程

  1. 在 Satellite Web UI 中,进入到 Monitor > Audits 来查看审计记录。
  2. 要获取所有审计属性的列表,请使用以下命令:

    # foreman-rake audits:list_attributes

17.4. 监控 Capsule 服务器

以下部分演示了如何使用 Satellite Web UI 查找对维护和故障排除有价值的胶囊信息。

17.4.1. 查看常规胶囊信息

在 Satellite Web UI 中,进入到 Infrastructure > Capsules 以查看注册到 Satellite 服务器的 Capsule 服务器表。表中包含的信息回答以下问题:

胶囊服务器是否正在运行?
这通过 Status 列中的绿色图标表示。红色图标表示非活动胶囊,在胶囊服务器上使用 service foreman-proxy restart 命令来激活它。
胶囊服务器上启用哪些服务?
Features 列中,您可以验证胶囊是否提供 DHCP 服务或充当 Pulp 镜像。胶囊功能可以在安装过程中启用,或者另外配置。如需更多信息,请参阅安装 Capsule 服务器
胶囊服务器分配到哪些组织和位置?

胶囊服务器可以分配到多个机构和位置,但仅显示属于当前所选组织的胶囊。若要列出所有胶囊,可从左上角的上下文菜单中选择 Any Organization

更改 Capsule 配置后,从 Actions 列中的下拉菜单中选择 Refresh,以确保 Capsule 表为最新版本。

单击 Capsule 名称以查看详细信息。在 Overview 选项卡中,您可以找到与 Capsule 表中相同的信息。另外,您还可以回答以下问题:

哪些主机由胶囊服务器管理?
Hosts managed 标签旁边会显示相关的主机数量。单击这个数字,以查看相关主机的详细信息。
胶囊服务器上有多少可用存储空间?
显示 /var/lib/pulp 中由 Pulp 内容占用的存储空间量。另外,胶囊上可用的其余存储空间也可以确定。

17.4.2. 监控服务

在 Satellite Web UI 中,进入到 Infrastructure > Capsules 并点所选 Capsule 的名称。在 Services 选项卡中,您可以找到有关 Capsule 服务的基本信息,如 DNS 域列表或 Pulp worker 的数量。页面的外观取决于在胶囊服务器上启用哪些服务。提供更详细的状态信息的服务可以在 Capsule 页面中具有专用标签页。更多信息请参阅 第 17.4.3 节 “监控 Puppet”

17.4.3. 监控 Puppet

在 Satellite Web UI 中,进入到 Infrastructure > Capsules 并点所选 Capsule 的名称。在 Puppet 选项卡中,您可以找到以下内容:

  • Puppet 事件摘要、最新 Puppet 运行的概述,以及 General 子选项卡上相关主机的同步状态。
  • Environments 子选项卡处的 Puppet 环境列表。

Puppet CA 选项卡中,您可以找到以下内容:

  • 证书状态概述以及 General 子选项卡中自动签署条目的数量。
  • 在证书子选项卡中与胶囊关联的 CA 证书 表。您可以在此处检查证书到期数据,或通过单击 Revoke 来取消证书。
  • Autosign 条目子选项卡上的自动签署条目列表。您可以在此处 单击新建 或删除条目,单击 Delete 来创建条目。
注意

只有在 Satellite 中启用了 Puppet 时,才会使用 Puppet 和 Puppet CA 选项卡。

其他资源

第 18 章 使用 Webhook

Webhook 是网页或 Web 应用的一种方法,用于实时为其他应用程序提供信息。只有在事件发生后才会触发 Webhook。请求通常包含事件的详细信息。事件会触发回调,如发送电子邮件确认已调配主机。Webhook 可让您使用 fire-and-forget 消息交换模式,基于 Satellite 内部事件定义对外部 API 的调用。发送请求的应用不会等待响应,或者忽略它。

webhook 的有效负载是从 webhook 模板创建的。Webhook 模板使用与 Provisioning 模板相同的 ERB 语法。可用变量:

  • @event_name: 事件的名称。
  • @webhook_id :唯一事件 ID。
  • @payload: Payload data,每种事件类型都不同。要访问各个字段,请使用 @payload[:key_name] Ruby 哈希语法。
  • @payload[:object]: Database 对象用于数据库操作触发的事件(create、update、delete)。不适用于自定义事件。
  • @payload[:context]: Additional information as hash如 request 和 session UUID, remote IP 地址, user, organization, and location.

由于 Webhook 使用 HTTP,因此不需要向现有的 Web 服务添加新基础架构。

Satellite 中 webhook 的典型用例是在主机被创建或删除时调用监控系统。

Webhook 可用于您要在外部系统中执行的操作,可通过其 API 来实现。当需要运行其他命令或编辑文件时,可以使用 Capsules 的 shellhooks 插件。shellhooks 插件允许您在可通过 API 执行的 Capsule 中定义 shell 脚本。

您可以在不安装 shellhooks 插件的情况下,成功使用 Webhook。

有关可用事件列表,请参阅 可用的 Webhook 事件

18.1. 迁移到 Webhook

传统的 foreman_hooks 插件提供了对 webhook 插件不有意提供的模型对象的完整访问权限。

可用的范围受 securemode 限制,所有对象和宏都受到 API 稳定性承诺的影响,且完全记录。

Webhook 触发的事件数量明显低于 foreman_hooks

Webhook 异步处理,因此与系统内部进行篡改的风险最小。在不为每个单独的 webhook 脚本创建有效负载的情况下,无法从 foreman_hooks 迁移。但是,webhook 插件附带几个示例有效负载模板。您还可以使用示例有效负载和 shellhooks 来简化迁移。

必须自定义脚本和有效负载模板才能实现类似的结果。

18.2. 安装 webhook 插件

使用以下步骤安装 webhook 插件。然后,您可以将 Satellite 服务器配置为发送 Webhook 请求。

流程

  • 运行以下命令来安装 webhook 插件:

    # satellite-installer --enable-foreman-plugin-webhooks
  • 可选:安装 webhook CLI 插件:

    # satellite-installer --enable-foreman-cli-webhooks

18.3. 创建 Webhook 模板

Webhook 模板用于在触发 webhook 时生成到配置的目标的 HTTP 请求的正文。使用以下步骤在 Satellite Web UI 中创建 Webhook 模板。

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Webhook > Webhook Templates
  2. 单击 Clone an existing templateCreate Template
  3. 输入模板的名称。
  4. 使用编辑器更改模板有效负载。

    必须使用 Satellite 模板语法创建 webhook HTTP 有效负载。Webhook 模板可以使用一个名为 @object 的特殊变量,它可以代表事件的主对象。如果特定事件,可以缺少 @object。您可以通过 @payload 变量确定实际可用的数据。

    如需更多信息,请参阅管理主机和 可用模板宏和方法中的模板 编写参考,请访问 Satellite 服务器上的 /templates_doc

  5. 可选:输入 description 和 audit 注释。
  6. 分配机构和位置。
  7. Submit

例子

在创建 webhook 模板时,您必须遵循模板的目标应用程序格式。例如,应用程序可以预期带有 Webhook 消息的 "文本" 字段。请参阅目标应用程序的文档,以了解更多有关 webhook 模板格式的信息。

运行远程执行作业

此 webhook 模板定义了带有远程执行作业的 ID 和结果的消息。使用此模板的 Webhook 可以订阅到事件,如 Actions Remote Execution Run Host Job SucceededActions Remote Execution Run Host Job Failed

{
    "text": "job invocation <%= @object.job_invocation_id %> finished with result <%= @object.task.result %>"
}
创建用户

此 webhook 模板定义了包含已创建用户的登录和电子邮件的消息。使用此模板的 Webhook 应订阅到 User Created 事件。

{
    "text": "user with login <%= @object.login %> and email <%= @object.mail %> created"
}

18.4. 创建 Webhook

您可以通过 Satellite Web UI 自定义事件、有效负载、HTTP 身份验证、内容类型和标头。

使用以下步骤在 Satellite Web UI 中创建 Webhook。

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Webhook > Webhooks
  2. Create new
  3. Subscribe to 列表中选择一个事件。
  4. 输入 webhook 的 Name
  5. 输入 Target URL。Webhook 向预先配置的 URL 发出 HTTP 请求。目标 URL 可以是动态 URL。
  6. 单击 Template 以选择模板。Webhook 模板用于在触发 webhook 时生成到 Satellite 服务器的 HTTP 请求的正文。
  7. 输入 HTTP 方法。
  8. 可选:如果您在创建 Webhook 时不想激活 Webhook,请取消选中 Enabled 标志。
  9. Credentials 选项卡。
  10. 可选:如果需要 HTTP 身份验证,请输入 UserPassword
  11. 可选:如果您不想根据系统证书存储或 Satellite CA 验证服务器证书,请取消检查 验证 SSL
  12. Additional 选项卡中,输入 HTTP Content Type。例如,您定义的有效负载上的 application/jsonapplication/xmltext/plain。应用不会尝试转换内容以匹配指定的内容类型。
  13. 可选:提供 HTTP 标头作为 JSON。ERB 也被允许。

当使用非标准 HTTP 或 HTTPS 端口配置端点的 Webhook 时,必须分配 SELinux 端口,请参阅 在 连接的网络环境中安装 Satellite 服务器中的配置 SELinux 以保证访问自定义端口上的 Satellite

18.5. 可用的 Webhook 事件

下表包含 Satellite Web UI 中可用的 webhook 事件列表。操作事件仅会在 成功 时触发 Webhook,因此如果某个操作失败,则不会触发 Webhook。

有关有效负载的更多信息,请访问 Administer > About & gt; Support > Templates DSL。下表中提供了可用类型的列表。有些事件被标记为 自定义,在这种情况下,有效负载是一个对象对象,但 Ruby 哈希(键-值数据结构)因此语法不同。

事件名称描述payload

Actions Katello Content View Promote Succeeded

内容视图已被成功提升。

Actions::Katello::ContentView::Promote

操作 Katello Content View Publish Succeeded

存储库已成功同步。

Actions::Katello::ContentView::Publish

操作远程执行运行主机作业 Succeeded

主机已成功执行通用远程执行作业。完成后,所有远程执行作业都会发送此事件。

Actions::RemoteExecution::RunHostJob

操作远程执行运行主机作业 Katello 勘误安装 Succeeded

使用 Katello 接口安装勘误表。

Actions::RemoteExecution::RunHostJob

操作远程执行运行主机作业 Katello Group Install Succeeded

使用 Katello 接口安装软件包组。

Actions::RemoteExecution::RunHostJob

操作远程执行运行主机作业 Katello Package Install Succeeded

使用 Katello 接口安装软件包。

Actions::RemoteExecution::RunHostJob

远程执行运行主机作业 Katello 组删除的操作

使用 Katello 接口删除软件包组。

Actions::RemoteExecution::RunHostJob

操作远程执行运行主机作业 Katello 软件包删除 Succeeded

使用 Katello 接口删除软件包。

Actions::RemoteExecution::RunHostJob

操作远程执行运行主机作业 Katello Service 重启 Succeeded

使用 Katello 接口重启 Services。

Actions::RemoteExecution::RunHostJob

操作远程执行运行主机作业 Katello 组更新 Succeeded

使用 Katello 接口更新软件包组。

Actions::RemoteExecution::RunHostJob

操作远程执行运行主机作业 Katello 软件包更新 Succeeded

使用 Katello 接口更新软件包。

Actions::RemoteExecution::RunHostJob

远程执行运行主机作业 Foreman OpenSCAP 运行扫描 Succeeded

运行 OpenSCAP 扫描。

Actions::RemoteExecution::RunHostJob

操作远程执行运行主机作业 Ansible 运行主机 Succeeded

运行包含为主机定义的所有角色的 Ansible playbook。

Actions::RemoteExecution::RunHostJob

操作远程执行运行主机作业 Ansible 运行胶囊升级 Succeeded

升级给定胶囊服务器上的胶囊。

Actions::RemoteExecution::RunHostJob

操作远程执行运行主机作业 Ansible 配置云连接器 Succeeded

在给定主机上配置 Cloud Connector。

Actions::RemoteExecution::RunHostJob

操作远程执行运行主机作业 Ansible 运行 Insights Plan Succeeded

从 Red Hat Access Insights 运行给定 ID 的维护计划。

Actions::RemoteExecution::RunHostJob

操作远程执行运行主机作业 Ansible Run Playbook Succeeded

针对给定主机运行 Ansible playbook。

Actions::RemoteExecution::RunHostJob

操作远程执行运行主机作业 Ansible 启用 Web 控制台 Succeeded

运行 Ansible playbook,在给定主机上启用 Web 控制台。

Actions::RemoteExecution::RunHostJob

操作远程执行运行主机作业 Puppet 运行主机 Succeeded

执行单个 Puppet 运行。

Actions::RemoteExecution::RunHostJob

远程执行运行主机作业 Katello Module Stream Action Succeeded

使用 Katello 接口执行模块流操作。

Actions::RemoteExecution::RunHostJob

操作远程执行运行主机作业 Leapp Pre-upgrade Succeeded

RHEL 7 主机的升级性检查。

Actions::RemoteExecution::RunHostJob

远程执行运行主机作业 Leapp Remediation Plan Succeeded

使用 Leapp 运行修复计划。

Actions::RemoteExecution::RunHostJob

操作远程执行运行主机作业 Leapp 升级 Succeeded

为 RHEL 7 主机运行 Leapp 升级作业。

Actions::RemoteExecution::RunHostJob

构建已输入

输入构建模式的主机。

自定义事件:@ payload[:id] (host id), @payload[:hostname] (host name)。

build Exited

主机构建模式已被取消,无论是成功调配,还是用户手动取消了构建。

自定义事件:@ payload[:id] (host id), @payload[:hostname] (host name)。

内容视图创建/更新/Destroyed

内容视图上的常见数据库操作。

Katello::ContentView

Created/Updated/Destroyed

域上的常见数据库操作。

主机创建/更新/Destroyed

主机上的常见数据库操作。

主机

hostgroup Created/Updated/Destroyed

主机组上的常见数据库操作。

hostgroup

model Created/Updated/Destroyed

模型上的常见数据库操作。

model

状态更改

主机的全局主机状态已更改。

自定义事件:@ payload[:id] (host id), @payload[:hostname], @payload[:global_status] (hash)

Created/Updated/Destroyed 子网

子网上的常见数据库操作。

子网

模板 Render Performed

报告模板已呈现。

模板

用户 Created/Updated/Destroyed

用户的常见数据库操作。

User

18.6. Shellhooks

使用 Webhook,您只能将一个 Satellite 事件映射到一个 API 调用。对于高级集成,其中单个 shell 脚本可以包含多个命令,您可以安装一个 Capsule shellhooks 插件,该插件使用 REST HTTP API 公开可执行文件。

然后,您可以配置 Webhook 以连接到 Capsule API 以运行预定义的 shellhook。shellhook 是一个可执行脚本,只要可以执行,可以使用任何语言编写。例如,shellhook 可以包含命令或编辑文件。

您必须将可执行脚本放在 /var/lib/foreman-proxy/shellhooks 中,其名称中只有字母数字字符和下划线。

您可以通过 webhook 有效负载将输入传递给 shellhook 脚本。此输入重定向到 shellhook 脚本的标准输入。您可以使用 HTTP 标头将参数传递给 shellhook 脚本,格式为 X-Shellhook-Arg-1X-Shellhook-Arg-99。有关将参数传递给 shellhook 脚本的更多信息,请参阅:

HTTP 方法必须是 POST。一个 URL 示例是: https://capsule.example.com:9090/shellhook/My_Script

注意

shellhooks 目录不同,URL 必须包含 /shellhook/ 才能有效。

您必须为每个连接到 shellhook 的 webhook 启用 Capsule 授权,使其能够授权调用。

标准输出和标准错误输出会分别重定向到 Capsule 日志为具有 debug 或 warning 级别的消息。

shellhook HTTPS 调用不会返回值。

有关创建 shellhook 脚本的示例,请参阅 第 18.10 节 “创建 shellhook 以打印参数”

18.7. 安装 shellhooks 插件

另外,您还可以在用于 shellhooks 的每个胶囊上安装并启用 shellhooks 插件。

流程

  • 运行以下命令:

    # satellite-installer --enable-foreman-proxy-plugin-shellhooks

18.8. 使用 Webhook 将参数传递给 shellhook 脚本

使用 webhook 将参数传递给 shellhook 脚本。

流程

  • 在创建 Webhook 时,在 Additional 选项卡中,以以下格式创建 HTTP 标头:

    {
      "X-Shellhook-Arg-1": "VALUE",
      "X-Shellhook-Arg-2": "VALUE"
    }

    确保标头具有有效的 JSON 或 ERB 格式。仅传递没有包括新行或引号字符的数据库 ID、名称或标签等安全字段。

    如需更多信息,请参阅 第 18.4 节 “创建 Webhook”

Example

{
  "X-Shellhook-Arg-1": "<%= @object.content_view_version_id %>",
  "X-Shellhook-Arg-2": "<%= @object.content_view_name %>"
}

18.9. 使用 curl 将参数传递给 shellhook 脚本

使用这个步骤使用 curl 将参数传递给 shellhook 脚本。

流程

  • 使用 curl 执行 shellhook 脚本时,以以下格式创建 HTTP 标头:

    "X-Shellhook-Arg-1: VALUE"
    "X-Shellhook-Arg-2: VALUE"

Example

# curl -sX POST -H 'Content-Type: text/plain' \
-H "X-Shellhook-Arg-1: Version 1.0" \
-H "X-Shellhook-Arg-2: My content view" \
--data "" https://capsule.example.com:9090/shellhook/My_Script

18.10. 创建 shellhook 以打印参数

创建一个简单的 shellhook 脚本,在运行远程执行作业时输出 Hello World!

先决条件

流程

  1. 修改 /var/lib/foreman-proxy/shellhooks/print_args 脚本,将参数输出到标准错误输出,以便您可以在 Capsule 日志中看到它们:

    #!/bin/sh
    #
    # Prints all arguments to stderr
    #
    echo "$@" >&2
  2. 在 Satellite Web UI 中,进入到 Administer > Webhook > Webhooks
  3. Create new
  4. Subscribe to 列表中,选择 Actions Remote Execution Run Host Job Succeeded
  5. 输入 webhook 的 Name
  6. Target URL 字段中,输入 Capsule 服务器的 URL,后跟 :9090/shellhook/print_args

    https://capsule.example.com:9090/shellhook/print_args

    请注意,URL 中的 shellhook 是单调,这与 shellhooks 目录不同。

  7. Template 列表中,选择 Empty Payload
  8. Credentials 选项卡上,检查 Capsule Authorization
  9. Additional 选项卡中,在 Optional HTTP 标头 字段中输入以下文本:

    {
        "X-Shellhook-Arg-1": "Hello",
        "X-Shellhook-Arg-2": "World!"
    }
  10. Submit。现在,您已成功创建一个 shellhook,每次远程执行作业成功时将"Hello World!"输出到 Capsule 日志。

验证

  1. 在任何主机上运行远程执行作业。您可以将 时间 用作命令。如需更多信息,请参阅管理 主机 中的 执行远程作业
  2. 验证 shellhook 脚本是否已触发,并将"Hello World!"输出到胶囊服务器日志中:

    # tail /var/log/foreman-proxy/proxy.log

    您应该在日志末尾找到以下行:

    [I] Started POST /shellhook/print_args
    [I] Finished POST /shellhook/print_args with 200 (0.33 ms)
    [I] [3520] Started task /var/lib/foreman-proxy/shellhooks/print_args\ Hello\ World\!
    [W] [3520] Hello World!

第 19 章 搜索和书签

Satellite 在 Satellite Web UI 的大多数页面中具有强大的搜索功能。它允许您搜索 Satellite 管理的所有资源。搜索接受自由文本和基于语法的查询,可以使用广泛的输入预测进行构建。搜索查询可以保存为书签,以备将来重复使用。

19.1. 构建搜索查询

当您开始输入搜索查询时,会显示用于完成查询的当前部分的有效选项列表。您可以从列表中选择一个选项,并使用预测保留构建查询,或者继续键入。要了解自由文本是如何被搜索引擎解释的,请参阅 第 19.2 节 “使用自由文本搜索”

19.1.1. 查询语法

parameter operator value

可用字段、搜索的资源以及查询的解释方法取决于上下文,即执行搜索的页面。例如,Host 页面中的字段"hostgroup"等同于 Host Groups 页面上的字段 "name"。字段类型还决定可用的 operator 和 accepted 值。

有关所有操作器的列表,请参阅 Operator。有关值格式的描述,请参阅

19.1.2. 查询 Operator

下表中列出了可在 parametervalue 之间使用的所有运算符。其他可能出现在预测查询中的符号和特殊字符(如冒号)没有特殊含义,并被视为自由文本。

表 19.1. 搜索接受的比较运算符
Operator短名称描述示例

=

等于

接受数字、时序或文本值。对于文本,返回敏感案例敏感匹配项。

hostgroup = RHEL7

!=

NOT EQUALS

~

LIKE

接受文本或临时值。返回不区分大小写的匹配项。接受以下通配符:_ 代表单个字符,%或 * 代表任意数量的字符,包括零字符。如果没有指定通配符,则字符串将被视为与通配符周围:%rhel7%

hostgroup ~ rhel%

!~

NOT LIKE

>

大于

接受数字或临时值。对于 temporal 值,operator > 被解释为 "later than",< 为 "earlier than"。两个 operator 都可以与 EQUALS: >= <= 结合使用

registered_at > 10-January-2017
搜索将返回在给定日期后注册的主机,即 2017 年 1 月 10 日
和现在之间注册的主机。

registered_at <= Yesterday
搜索将返回已注册 yesterday 或更早版本的主机。

<

小于

^

IN

将表达式与值列表进行比较,如 SQL 中。返回包含或不包含值的匹配。

release_version !^ 7

!^

NOT IN

HAS 或 set?

 

返回分别存在或不存在的值。

在 Puppet 类页面上 有 hostgroupset? hostgroup
,搜索将返回分配给至少一个主机组的类。

在带有主机概述的 Dashboard 上没有 hostgroupnull? hostgroup
,搜索将返回没有分配主机组的所有主机。

没有 HAS 或 null?

 

遵循上述语法的简单查询可以使用逻辑运算符 AND、OR 和 NOT 组合成更复杂的语法。也接受 Operator 的替代表示法:

表 19.2. 搜索接受的逻辑运算符
Operator备用通知示例

&

&&

<whitespace>

class = motd AND environment ~ production

|

||

 

errata_status = errata_needed || errata_status = security_needed

not

!

 

hostgroup ~ rhel7 not status.failed

19.1.3. 查询值

文本值

包含空格的文本必须用引号括起。否则,空格被解释为 AND 运算符。

示例:

hostgroup = "Web servers"

搜索将返回分配了名为"Web servers"的主机。

hostgroup = Web servers

搜索将返回主机组 Web 中的主机,其中任何匹配 %servers% 的字段。

时序值

接受许多日期和时间格式,包括:

  • "2017 年 1 月 10 日"
  • "2017 年 1 月 10 日"
  • 10-January-2017
  • 10/January/2017
  • "2017 年 1 月 10 日"
  • 今天,是的,是的。
警告

避免模糊日期格式,如 02/10/2017 或 10-02-2017。

19.2. 使用自由文本搜索

当您输入 free text 时,它将在多个字段中搜索。例如,如果您键入"64",则搜索将返回在其名称、IP 地址、MAC 地址和架构中具有该数字的所有主机。

注意

多词语查询必须用引号括起,否则空格被解释为 AND 运算符。

由于搜索所有字段,自由文本搜索结果并不非常准确,搜索可能会很慢,特别是在大量主机上。因此,我们建议您避免自由文本,并尽可能使用更加具体的、基于语法的查询。

19.3. 管理书签

您可以将搜索查询保存为书签以供重复使用。您还可以删除或修改书签。

书签 仅在创建它们的页面中显示。在某些页面中,有可用于通用搜索的默认书签,例如,所有活动 或禁用 的主机。

19.3.1. 创建书签

本节详细介绍了如何将搜索查询保存为书签。您必须在相关页面中保存搜索查询,以便为该页面创建一个书签,例如,在 Hosts 页面中保存主机相关的搜索查询。

流程

  1. 在 Satellite Web UI 中,导航到您要创建书签的页面。
  2. Search 字段中输入您要保存的搜索查询。
  3. 选择 Search 按钮右侧的箭头,然后选择 Bookmark this search
  4. Name 字段中输入新书签的名称。
  5. Search query 字段中,请确保您的搜索查询正确。
  6. 确保正确设置了 公共复选框

    • 选中 公共复选框,将书签设为公共,并对所有用户可见。
    • 清除 公共复选框,将书签设为私有,并且仅对创建它的用户可见。
  7. Submit

要确认创建,请选择 Search 按钮右侧的箭头以显示书签列表,或者导航到 Administer > Bookmarks,然后检查 书签 名称的书签列表。

19.3.2. 删除书签

您可以在 Bookmarks 页面中删除书签。

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Bookmarks
  2. 在 Bookmarks 页面上,单击要删除的书签的 Delete
  3. 当确认窗口打开时,单击 OK 以确认删除。

要确认删除,请检查 书签 名称的书签列表。

19.4. 使用键盘快捷键

您可以使用键盘快捷键快速集中搜索栏。

  • 要专注于垂直导航栏,请按 Ctrl + Shift + F
  • 要专注于页面搜索栏,请按 /

附录 A. 管理设置

本节介绍您可以通过导航到 Administer > Settings 在 Satellite Web UI 中编辑的设置。

A.1. 常规设置

设置默认值描述

管理员电子邮件地址

 

默认管理员电子邮件地址

Satellite URL

 

可访问您的 Satellite 实例的 URL。另请参阅 Provisioning > Unattended URL

每个页面的条目

20

Satellite 中每个页面显示的记录数

修复 DB 缓存

Satellite 维护权限和角色的缓存。当设置为 Yes 时,Satellite 会在下一次重启时重新创建此缓存。

DB 待定

foreman-rake db:seed 是否在下次运行安装程序模块时执行?

胶囊请求超时

60

打开并读取从 Satellite 到 Capsule 的 HTTP 请求超时(以秒为单位)。

登录页页脚文本

 

登录页页页页页脚中显示的文本。

HTTP (S)代理

 

为 Satellite 产品传出 HTTP (S)连接设置代理。系统范围的代理必须在操作系统级别上配置。

HTTP (S)代理,主机除外

[]

设置没有代理请求的主机名。默认排除对本地主机的请求。

显示实验室

是否显示菜单来访问实验功能(需要重新加载页面)。

显示主机的 FQDN

如果设置为 Yes,则 Satellite 会将主机名称显示为完全限定域名(FQDN)。

不同步间隔

30

主机定期报告,如果报告的时间超过此持续时间,则主机被视为不同步。您可以通过在 Hosts > All hosts > $host > Edit > Parameters > Add Parameter 处添加 outofsync_interval 参数来覆盖主机上的此功能

Satellite UUID

 

Satellite 实例 ID。唯一标识 Satellite 实例。

默认语言

 

新用户的 UI 使用这个语言。

默认时区

 

用于新用户的时区。

实例标题

 

实例标题显示在顶部导航栏上(需要重新加载页面)。

保存的审计间隔

 

保留审计数据的持续时间(以天为单位)。留空,以禁用审计清理。

新主机详情 UI

Satellite 加载新的 UI 以获取主机详情。

A.2. Satellite 任务设置

设置默认值描述

同步任务超时

120

在引发异常前等待同步任务完成的秒数。

启用 dynflow 控制台

启用 dynflow 控制台(/foreman_tasks/dynflow)以进行调试。

对于 dynflow 控制台,需要 auth

在访问 dynflow 控制台前,用户必须根据管理权限进行身份验证。

Capsule 操作重试计数

4

在失败前,允许在 Capsule 上启动任务的次数。

Capsule 操作重试间隔

15

重试之间时间(以秒为单位)。

允许胶囊批处理任务

启用在胶囊上触发任务的批处理。

Capsule 任务批处理大小

100

如果启用了 foreman_tasks_proxy_batch_trigger,则一个请求中包含的任务数量。

任务故障排除 URL

 

指向任务故障排除文档的 URL。它应该包含一个 %{label} 占位符,它被替换为规范化任务标签(仅限于字母数字字符)。也提供了一个 %{version} 占位符。

轮询间隔倍数

1

轮询用于倍数的默认轮询间隔。您可以使用它来防止在长时间运行的任务中经常进行轮询。

A.3. 模板同步设置

设置默认值描述

关联

New

将模板与 OS、机构和位置相关联。

分支

 

Git 存储库中的默认分支。

提交消息

Satellite 用户生成的模板导出

导出的模板的自定义提交消息。

dirname

/

包含模板的 Git 仓库中的目录。

Filter

 

导入或导出与此正则表达式匹配的名称。不区分大小写。片断不会被过滤。

强制导入

如果设置为 Yes,则导入过程中会覆盖锁定的模板。

锁定模板

keep,不要锁定新的

如何处理导入模板的锁定。

元数据导出模式

刷新

默认元数据导出模式。

可能的选项:

刷新 重新渲染器元数据。

保留现有 元数据。

删除 导出模板时没有元数据。

negate

对过滤器进行导入或导出。

prefix

 

添加为导入模板的前缀的字符串。

仓库

 

从导入或导出模板的目标路径。可以使用不同的协议,例如:

/tmp/dir

git://example.com

https://example.com

ssh://example.com

在导出到 /tmp 时,请注意,生产部署可能会配置为使用 私有 tmp

详细程度

为 Rake 任务导入模板选择详细程度。

A.4. 发现的设置

设置默认值描述

发现位置

 

指明将发现的主机放入的默认位置。

发现机构

 

表示将发现主机添加到的默认组织。

接口事实

discovery_bootif

用于主接口检测的事实名称。

创建绑定接口

如果使用 LLDP 在同一 VLAN 上检测到另一个接口,则自动创建绑定接口。

清理所有事实

在置备过程中清理所有报告的事实(发现事实除外)。

主机名事实

discovery_bootif

用于主机名的事实列表(comma separated, first wins)。

自动配置

使用调配规则自动调配新发现的主机。

重启

在置备过程中自动重启或 kexec 发现的主机。

主机名前缀

mac

用于主机名的默认前缀。必须以字母开头。

事实列

 

要显示在主机列表(已分离)的额外事实列。

突出显示的事实

 

为突出显示部分组织事实的正则表达式 - 例如 ^(abc|cde)$.

存储事实

 

用于组织存储的事实部分的正则表达式。

软件事实

 

用于组织软件的事实部分的正则表达式。

硬件事实

 

用于组织硬件部分的事实的正则表达式。

网络事实

 

用于组织网络部分的事实的正则表达式。

IPMI 事实

 

智能平台管理接口 (IPMI)部分组织事实的正则表达式。

锁定 PXE

自动生成 预启动执行环境 (PXE)配置,以固定新发现的主机以进行发现。

锁定的 PXELinux 模板名称

pxelinux_discovery

将主机固定到发现时使用的 pxelinux 模板。

锁定 PXEGrub 模板名称

pxegrub_discovery

在将主机固定到发现时,要使用的 PXEGrub 模板。

锁定 PXEGrub2 模板名称

pxegrub2_discovery

在将主机固定到发现时,要使用的 PXEGrub2 模板。

Force DNS

在置备发现的主机时强制创建 DNS 条目。

现有 NIC 的错误

不允许发现与置备 网络接口卡 (NIC)的 MAC 匹配的现有主机(早期使用)。

名称生成器类型

事实 + 前缀

发现主机名命名模式.

Prefer IPv6

调用发现的节点时首选 IPv6 到 IPv4。

A.5. 引导磁盘设置

设置默认值描述

iPXE directory

/usr/share/ipxe

包含 iPXE 镜像的目录路径。

ISOLINUX 目录

/usr/share/syslinux

包含 ISOLINUX 镜像的目录路径。

SYSLINUX 目录

/usr/share/syslinux

包含 SYSLINUX 镜像的目录路径。

Grub2 目录

/var/lib/tftpboot/grub2

包含 grubx64.efishimx64.efi 的目录路径。

主机镜像模板

引导磁盘 iPXE - 主机

用于主机特定引导磁盘的 iPXE 模板。

通用镜像模板

引导磁盘 iPXE - 通用主机

用于通用主机引导磁盘的 iPXE 模板。

通用 Grub2 EFI 镜像模板

引导磁盘 Grub2 EFI - 通用主机

Grub2 模板用于通用 可扩展固件接口 (EFI)主机引导磁盘。

ISO 生成命令

genisoimage

要生成 ISO 镜像的命令,请使用 genisoimagemkisofs

安装介质缓存

为完整主机镜像缓存安装介质文件。

允许的 bootdisk 类型

[generic, host, full_host, subnet]

允许的 bootdisk 类型列表。留空以禁用它。

A.6. Red Hat Cloud 设置

设置默认值描述

自动清单上传

启用自动将主机清单上传到红帽云。

自动同步建议

启用从红帽云自动同步 Insights 建议。

模糊主机名

发送到红帽云的模糊主机名。

模糊处理主机 ipv4 地址

发送到红帽云的模糊 IPv4 地址。

RHC 守护进程的 ID

*****

RHC 守护进程 ID.

A.7. 内容设置

设置默认值描述

默认 HTTP 代理

 

用于同步内容的默认 HTTP 代理。

CDN SSL 版本

 

用于与 CDN 通信的 SSL 版本。

默认同步操作系统置备模板

Kickstart 默认

从同步内容创建的操作系统的默认置备模板。

默认同步 OS 完成模板

Kickstart 默认完成

从同步内容创建的新操作系统的默认完成模板。

默认同步 OS user-data

Kickstart 默认用户数据

从同步内容创建的新操作系统的默认用户数据。

默认同步 OS PXELinux 模板

Kickstart 默认 PXELinux

从同步内容创建的新操作系统的默认 PXELinux 模板。

默认同步 OS PXEGrub 模板

Kickstart default PXEGrub

从同步内容创建的新操作系统的默认 PXEGrub 模板。

默认同步 OS PXEGrub2 模板

Kickstart default PXEGrub2

从同步内容创建的新操作系统的默认 PXEGrub2 模板。

默认同步 OS iPXE 模板

Kickstart 默认 iPXE

从同步内容创建的新操作系统的默认 iPXE 模板。

默认同步操作系统分区表

Kickstart 默认

从同步内容创建的新操作系统的默认分区表。

默认同步 OS kexec 模板

Discovery Red Hat kexec

从同步内容创建的新操作系统的默认 kexec 模板。

默认同步 OS Atomic 模板

Atomic Kickstart 默认

用于从同步内容创建的新原子操作系统的默认置备模板。

清单刷新超时

1200

刷新清单时超时(以秒为单位)。

启用订阅连接

可以与红帽门户订阅通信。

来自内容视图的可安装勘误表

仅根据主机内容视图和生命周期环境中的勘误表计算勘误表主机状态。

限制 Composite 内容视图提升

如果启用了,则无法发布或提升复合内容视图,除非它包括在目标环境中存在的内容视图版本。

在操作前检查服务

在执行操作前,检查 pulp 和 candlepin 等后端服务状态?

同步存储库的批处理大小

100

在胶囊上应同步多少个存储库。较小的数字可能会导致同步时间更长。较大的数字会增加 dynflow 负载。

在内容视图提升后同步 Capsule

内容视图提升后是否自动同步 Capsule。

默认自定义存储库下载策略

immediate

自定义存储库的默认下载策略。immediateon_demand

默认红帽存储库下载策略

on_demand

启用红帽软件仓库的默认下载策略。immediateon_demand

默认 Capsule 下载策略

on_demand

Capsule 同步的默认下载策略。继承immediateon_demand

Pulp 导出目标文件路径

/var/lib/pulp/katello-export

导出存储库的磁盘上位置。

Pulp 3 导出目标文件路径

/var/lib/pulp/exports

Pulp 3 导出存储库的磁盘上位置。

Pulp 客户端密钥

/etc/pki/katello/private/pulp-client.key

用于 Pulp 服务器身份验证的 SSL 密钥的路径。

Pulp 客户端证书

/etc/pki/katello/certs/pulp-client.crt

用于 Pulp 服务器身份验证的 SSL 证书的路径。

同步连接超时

300

同步时连接的总超时时间(以秒为单位)。

取消注册后删除主机

使用 subscription-manager 取消主机注册时,还要删除主机记录。链接到虚拟机和 DNS 记录等主机的受管资源也可能被删除。

订阅管理器名称注册事实

 

使用 subscription-manager 注册主机时,强制为主机名使用指定的事实( 事实.fact形式)。

订阅管理器名称注册事实严格匹配

如果启用了,并且设置了 register_hostname_fact,则注册只使用该事实的名称查找新主机,并跳过所有主机名匹配。

默认位置订阅主机

默认位置

注册后存储新订阅主机的默认位置。

很快过期

120

在提醒续订前,订阅中剩余的天数。

内容视图依赖解析默认值

默认依赖项解析新内容视图的值。

主机重复 DMI UUID

[]

如果因为重复的 桌面管理接口 (DMI) UUID 而无法注册主机,请在此处添加其以逗号分隔的值。后续注册会为受影响的主机生成唯一的 DMI UUID。

主机配置文件 Assume

启用新主机注册以假定使用匹配主机名的注册配置文件,只要另一主机不使用注册 DMI UUID。

主机配置文件可在构建中更改

只要主机处于构建模式,启用 主机注册以绕过主机配置文件 Assume

主机只能重新注册构建

仅在主机处于构建模式时重新注册主机。

主机任务节点池大小

5

池中用于处理主机相关任务的执行 worker 数量。当设置为 0 时,将使用默认队列。需要重新启动 dynflowd/foreman-tasks 服务。

适用范围批处理大小

50

要处理每个任务的主机适用性计算数量。

Autosearch

对于支持它的页面,请在搜索输入时自动执行搜索。

Autosearch delay

500

如果启用了 Autosearch,在键入时执行搜索前延迟(毫秒)。

Pulp 批量负载大小

2000

从单个页面的 Pulp API 调用获取的项目数量。

在没有 Dynflow 的情况下上传配置集

启用 Katello 以更新主机安装的软件包、启用的存储库和模块清单,而不是嵌套在 Dynflow 任务中(如果 Puma 进程使用太多内存,则将其关闭)。

孤立的内容保护时间

1440

将孤立内容视为孤立的时间(以分钟为单位)。

首选通过 Capsule 注册远程执行

首选使用在使用远程执行时主机注册到的代理。

允许删除发布内容视图中的存储库

启用删除之前在一个或多个内容视图版本中发布的存储库。

A.8. 身份验证设置

设置默认值描述

OAuth 活跃

Satellite 将使用 OAuth 进行 API 授权。

OAuth 使用者密钥

*****

OAuth 使用者密钥。

OAuth 消费者 secret

*****

OAuth 使用者机密。

OAuth 映射用户

Satellite 在 request-header 中按 username 映射用户。如果禁用,OAuth 请求具有管理员权限。

失败的登录尝试限制

30

Satellite 会阻止在登录失败次数后从传入 IP 地址用户登录 5 分钟。设置为 0 以禁用静默强制保护。

限制注册的 Capsule

只有已知 Capsule 才能访问使用 Capsule 身份验证的功能。

对 Capsules 需要 SSL

客户端 SSL 证书用于识别胶囊(还应启用:require_ssl )。

可信主机

[]

除了 Capsule 之外,访问事实/报告导入器和 ENC 输出外要信任的主机名、IPv4、IPv6 地址或子网的列表。

SSL 证书

/etc/foreman/client_cert.pem

Satellite 用来与其代理通信的 SSL 证书路径。

SSL CA 文件

/etc/foreman/proxy_ca.pem

Satellite 用来与其代理通信的 SSL CA 文件路径。

SSL 私钥

/etc/foreman/client_key.pem

Satellite 用来与其代理通信的 SSL 私钥路径。

SSL 客户端 DN env

HTTP_SSL_CLIENT_S_DN

包含来自客户端 SSL 证书的主题 DN 的环境变量。

SSL 客户端验证 env

HTTP_SSL_CLIENT_VERIFY

包含客户端 SSL 证书的验证状态的环境变量。

SSL 客户端证书 env

HTTP_SSL_CLIENT_CERT

包含客户端 SSL 证书的环境变量。

服务器 CA 文件

 

模板中使用的 SSL CA 文件路径来验证与 Satellite 的连接。

Websocket SSL 密钥

etc/pki/katello/private/katello-apache.key

Satellite 用来加密 websocket 的私钥文件路径。

Websocket SSL 证书

/etc/pki/katello/certs/katello-apache.crt

Satellite 用于加密 websocket 的证书路径。

Websocket 加密

VNC/SPICE websocket 代理控制台访问加密(所需的websockets_ssl_key/cert 设置)。

登录委托注销 URL

 

在注销时将您的用户重定向到此 URL。也启用 授权登录委托

授权登录委托身份验证源用户 autocreate

外部

创建未知外部身份验证用户的外部身份验证源的名称(请参阅 授权登录委托)。empty 表示没有自动创建。

授权登录委托

使用 REMOTE_USER HTTP 标头授权登录委托。

授权登录委托 API

也为 API 调用授权使用 REMOTE_USER HTTP 标头的登录委托。

闲置超时

60

在指定分钟后注销闲置用户。

bcrypt 密码成本

9

内部 auth-sources 的 bcrypt 密码哈希功能的成本值(4 iwl-mvapich30)。较高的值是安全的,但验证速度较慢,特别是无状态 API 调用和 UI 登录。需要更改密码来影响现有密码。

BMC 凭证访问

允许通过 ENC YAML 输出和模板中访问 BMC 接口密码。

OIDC JWKs URL

 

OpenID Connect JSON Web 密钥集 (JWKS) URL。通常,当使用 Keycloak 作为 OpenID 供应商时 ,https://keycloak.example.com/auth/realms/<realm name>/protocol/openid-connect/certs

OIDC Audience

[]

用于身份验证的 OpenID Connect Audience 的名称。如果是 Keycloak,这是客户端 ID。

OIDC 发行者

 

签发者声明标识了发布 JSON Web 令牌 (JWT)的主体,该主体存在于 /.well-known/openid-configuration 中(如果大多数 OpenID 供应商)。

OIDC 算法

 

用于对 OpenID 提供程序中的 JWT 进行编码的算法。

A.9. 电子邮件设置

设置默认值描述

电子邮件回复地址

 

Satellite 发送的电子邮件地址。

电子邮件主题前缀

 

添加到所有传出电子邮件的前缀。

发送欢迎电子邮件

向新用户发送包括用户名和 URL 的欢迎电子邮件。

交付方法

sendmail

用于发送电子邮件的方法。

SMTP 启用 StartTLS 自动

SMTP 自动启用 StartTLS。

SMTP OpenSSL 验证模式

默认验证模式

使用 TLS 时,您可以设置 OpenSSL 如何检查证书。

SMTP 地址

 

要连接的 SMTP 地址。

SMTP 端口

25

要连接的 SMTP 端口。

SMTP HELO/EHLO 域

 

HELO/EHLO 域.

SMTP 用户名

 

要进行身份验证的用户名(如果需要)。

SMTP 密码

*****

要进行身份验证的密码(如果需要)。

SMTP 身份验证

none

如果需要,指定身份验证类型。

Sendmail 参数

-i

指定 sendmail 的附加选项。仅在发送方法设为 sendmail 时使用。

Sendmail 位置

/usr/sbin/sendmail

sendmail 可执行文件的位置。仅在发送方法设为 sendmail 时使用。

A.10. 通知设置

设置默认值描述

RSS enable

拉取 RSS 通知。

RSS URL

https://www.redhat.com/en/rss/blog/channel/red-hat-satellite

从中获取 RSS 通知的 URL。

A.11. 置备设置

设置默认值描述

主机所有者

 

如果空 Satellite 使用当前用户,则调配的主机上的默认所有者。

root 密码

*****

置备主机上的默认加密 root 密码。

无人值守 URL

 

主机从构建期间检索模板的 URL。当它以 https、无人值守或 userdata 开头时,无法使用 HTTP 访问控制器。

securemode 渲染

启用置备模板的安全模式渲染。default 和 recommended 选项 Yes 拒绝访问变量以及 Satellite 中未列出的任何对象。

当设置为 No 时,任何对象都可以被具有使用模板功能的用户访问,可以是编辑模板、参数或智能变量。这允许用户在 Satellite 服务器上执行完整的远程代码,从而有效地禁用所有授权。这并不是一个安全的选项,特别是在大型公司中。

在没有构建的情况下以无人值守方式访问

启用对无人值守 URL 的访问,而无需使用构建模式。

查询本地名称服务器

Satellite 查询本地配置的解析器而不是 SOA/NS 权威。

安装令牌生命周期

360

安装令牌应有效的时间(以分钟为单位)。设置为 0 以禁用令牌。

SSH 超时

120

SSH 置备超时前的时间(以秒为单位)。

libvirt 默认控制台地址

0.0.0.0

使用 libvirt 置备新虚拟机时,应用于控制台侦听地址的 IP 地址。

从构建的请求更新 IP

Satellite 使用发出构建请求的 IP 更新主机 IP。

虚拟机的短名称

Satellite 使用短主机名而不是 FQDN 来创建新虚拟机。

DNS 超时

[5, 10, 15, 20]

DNS 查找尝试的超时列表(以秒为单位),如 dns_lookup 宏和 DNS 记录冲突验证。

清理失败的部署

如果置备脚本以非零退出代码结尾,Satellite 会删除虚拟机。

名称生成器类型

基于随机的

指定创建新主机时用于生成主机名的方法。

默认 基于 Random 的选项会生成一个唯一的随机主机名,但不一定使用。这对创建多个主机且不知道如何命名主机的用户很有用。

基于 MAC 的选项仅用于裸机主机。如果您删除主机并稍后创建它,它会根据 MAC 地址接收相同的主机名。这对回收服务器并希望它们始终获得相同的主机名的用户很有用。

Off 选项禁用名称生成器函数,并将 hostname 字段留空。

默认 PXE 全局模板条目

 

全局模板中的默认 PXE 菜单项 - 本地发现 或自定义,将空白用于模板默认值。

默认 PXE 本地模板条目

 

本地模板中的默认 PXE 菜单项 - 本地local_chain_hd0 或 custom,在模板 default 中使用空白。

iPXE 中间脚本

iPXE 中间脚本

用于无人值守安装的中间 iPXE 脚本。

在主机删除时销毁关联的虚拟机

销毁 host delete 上关联的虚拟机。启用后,连接到主机的虚拟机在计算资源上被删除。禁用后,当主机被删除时,虚拟机将取消链接,这意味着它们保留在计算资源上,并可重新关联或导入到 Satellite。这不会自动关闭虚拟机

最大结构化事实

100

结构化子树中的最大键数,存储在 satellite::dropped_subtree_facts 中的统计信息。

默认全局注册模板

全局注册

全局注册模板.

默认 'Host 初始配置' 模板

Linux host_init_config default

默认 'Host 初始配置' 模板,在创建新操作系统时自动分配。

全局默认 PXEGrub2 模板

PXEGrub2 全局默认值

全局默认 PXEGrub2 模板。此模板被部署到所有配置的 TFTP 服务器。它不受升级的影响。

全局默认 PXELinux 模板

pxelinux 全局默认值

全局默认 PXELinux 模板。此模板被部署到所有配置的 TFTP 服务器。它不受升级的影响。

全局默认 PXEGrub 模板

PXEGrub 全局默认值

全局默认 PXEGrub 模板。此模板被部署到所有配置的 TFTP 服务器。它不受升级的影响。

全局默认 iPXE 模板

iPXE 全局默认值

全局默认的 iPXE 模板。此模板被部署到所有配置的 TFTP 服务器。它不受升级的影响。

本地引导 PXEGrub2 模板

PXEGrub2 默认本地引导

选择作为本地引导的默认 PXEGrub2 的模板。

本地引导 PXELinux 模板

pxelinux 默认本地引导

选择为本地引导的默认模板。

本地引导 PXEGrub 模板

PXEGrub 默认本地引导

选择为本地引导的默认 PXEGrub 的模板。

本地引导 iPXE 模板

iPXE 默认本地引导

选择为本地引导的默认 iPXE 的模板。

管理 PuppetCA

Satellite 在置备新主机时自动执行证书签名请求。

对证书使用 UUID

Satellite 为证书签名使用随机 UUID ,而不是主机名。

显示不支持的置备模板

显示不支持的置备模板。启用后,将显示所有可用的模板。禁用后,仅显示红帽支持的模板。

A.12. 事实设置

设置默认值描述

上传事实时创建新主机

Satellite 在收到新事实时创建主机。

位置事实

satellite_location

Puppet 运行后创建的主机放置在此事实指定的位置。

机构事实

satellite_organization

在 Puppet 运行后创建的主机放置在此事实指定的机构中。此事实的内容应当是组织的完整标签。

默认位置

默认位置

在不发送位置事实的 Puppet 运行后创建的主机放置在此位置。

默认机构

默认机构

在未发送组织事实的 Puppet 运行后创建的主机将被放入此机构中。

更新事实中的主机组

Satellite 从其事实更新主机的主机组。

忽略操作系统的事实

停止从事实更新操作系统。

忽略域的事实

停止从事实更新域值。

从事实更新子网

Satellite 从其事实更新主机的子网。

忽略置备的接口事实

停止从事实更新 IP 和 MAC 地址值(影响所有接口)。

忽略具有匹配标识符的接口

[lo,en*v*, usb*, vnet*, vnet *, ;vdsmdummy;, veth*, tap*, qbr*, analysis*, qvo*, qr可以, qg114, vlinuxbr*, vovsbr*, br-int]

跳过创建或更新主机网络接口对象,其标识符与传入的事实匹配。您可以使用 * 通配符将标识符与索引匹配,如 macvtap*。忽略的接口原始事实仍然存储在数据库中,请参阅 Exclude pattern 设置以了解更多详细信息。

Satellite 中存储的事实的排除模式

[lo,en*v*, usb*, vnet*, vnet *, ;vdsmdummy;, veth*, tap*, qbr*, analysis*, qvo*, qr可以, qg ldapsearch, vlinuxbr*, vovsbr*, br-int,load_averages::*, memory::swap::available*, memory::swap::capacity,memory::swap::used*, memory::system::available*, memory::system::capacity,memory::system::used*, memoryfree,memoryfree_mb,swapfree,swapfree_mb,uptime_hours,uptime_days]

所有导入的事实(Puppet、Ansible、rhsm)的排除模式。这些事实不存储在 satellite 数据库中。您可以使用 * 通配符来匹配带有 indexes 的名称,例如:ignore* 会过滤 ignore 、ignore123 以及 a::ignore 或 a::ignore123::b。

A.13. 配置管理设置

设置默认值描述

上传报告时创建新主机

Satellite 在收到报告时创建主机。

matchers inheritance

在评估主机组、机构和位置的智能类参数时,Satellite 匹配者由子项继承。

默认参数查找路径

[ FQDN ,hostgroup,os,domain]

默认情况下,Satellite 按此顺序评估主机智能类参数。

在参数中插入 ERB

Satellite 在 ENC 输出中的参数值中解析 ERB。

始终显示配置状态

即使未分配 Puppet Capsule,所有主机也会显示配置状态。

A.14. 远程执行设置

设置默认值描述

回退到 Any Capsule

使用远程执行搜索主机以查找任何代理。当主机没有子网或者子网没有执行代理时,这非常有用。

启用全局胶囊

在分配给主机的代理之外搜索远程执行代理。搜索仅限于主机的组织和位置。

SSH 用户

root

用于 SSH 的默认用户。您可以通过设置 remote_execution_ssh_user 参数来覆盖每个主机。

有效用户

root

用于执行脚本的默认用户。如果用户与 SSH 用户不同,则使用 su 或 sudo 来切换用户。

有效的用户方法

sudo

用于切换到有效用户的命令。其中一个 [sudo,dzdo,su]

有效的用户密码

*****

有效的用户密码。请参阅 受影响用户

同步作业模板

在运行 db 时是否从磁盘同步模板:seed.

SSH 端口

22

用于 SSH 通信的端口。默认端口 22.您可以通过设置 remote_execution_ssh_port 参数来覆盖每个主机。

通过 IP 连接

主机接口上的 IP 地址是首选使用 FQDN。当 DNS 没有正确解析 FQDN 时,它很有用。您可以通过设置 remote_execution_connect_by_ip 参数来覆盖每个主机。对于双栈主机,请考虑 remote_execution_connect_by_ip_prefer_ipv6 设置。

首选 IPv6 而不是 IPv4

使用 IP 地址进行连接时,是否首选使用 IPv6 地址?如果没有设置 IPv6 地址,它会自动回退到 IPv4。您可以通过设置 remote_execution_connect_by_ip_prefer_ipv6 参数来覆盖每个主机。默认情况下,对于兼容性,IPv4 优先于 IPv6。

默认 SSH 密码

*****

用于 SSH 的默认密码。您可以通过设置 remote_execution_ssh_password 参数来覆盖每个主机。

默认 SSH 密钥密码短语

*****

用于 SSH 的默认密钥密码短语。您可以通过设置 remote_execution_ssh_key_passphrase 参数来覆盖每个主机。

Worker 池大小

5

池中用于处理远程执行作业的 worker 数量。需要重新启动 dynflowd/satellite-tasks 服务。

清理工作目录

任务完成后是否删除工作目录。您可以通过设置 remote_execution_cleanup_working_dirs 参数来覆盖每个主机。

cockpit URL

 

在哪里查找 Web 控制台按钮的 Cockpit 实例。默认情况下,不显示任何按钮。

表单作业模板

运行命令 - SSH 默认

选择在作业调用表单中预先选择的作业模板。

作业调用报告模板

作业 - Invocation report 模板

选择用于为特定远程执行作业生成报告的报告模板。

选择时间

86400

主机必须获取作业的时间(以秒为单位)。如果在这个限制内没有获取作业,则会取消作业。仅适用于基于 pull-mqtt 的作业。默认值为一天。

A.15. Ansible 设置

设置默认值描述

私钥路径

 

使用此选项提供 Ansible 使用的 SSH 私钥的路径,而不是密码。使用 ansible_ssh_private_key_file 主机参数覆盖。

连接类型

ssh

在运行 Ansible playbook 时,默认使用此连接类型。您可以通过添加 ansible_connection 参数来覆盖在主机上。

WinRM 证书验证

validate

在运行 Ansible playbook 时启用或禁用 WinRM 服务器证书验证。您可以通过添加 ansible_winrm_server_cert_validation 参数在主机上覆盖它。

默认详细程度

Disabled

Satellite 在运行 Ansible playbook 时为额外的调试输出添加此级别的详细程度。

post-provision 超时

360

Satellite 在主机被完全调配后触发 Ansible 角色任务 playbook 时设置的超时(以秒为单位)。把它设置为您希望主机在重启后就绪前需要的最长时间。

Ansible 报告超时

30

应该报告主机时的超时(以分钟为单位)。

Ansible 没有禁用同步

在报告没有达到配置的时间间隔后,禁用 Ansible 的同步状态。

默认 Ansible 清单报告模板

Ansible - Ansible 清单

Satellite 使用此模板通过 Ansible 清单调度报告。

要忽略的 Ansible 角色

[]

从 Capsule 导入角色时要排除的角色。预期输入是用逗号分开的值,您可以使用 * 通配符字符。例如: foo*, *b*, *bar

Ansible 的 Capsule 任务批处理大小

 

如果启用了 satellite_tasks_proxy_batch_trigger,则应在一个请求中发送到胶囊的任务数量。如果设置,它会覆盖 Ansible 作业的 satellite_tasks_proxy_batch_size 设置。

法律通告

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.