管理 Red Hat Satellite
管理用户和权限、管理机构和位置、备份和恢复 Satellite、维护 Satellite 等等
摘要
对红帽文档提供反馈 复制链接链接已复制到粘贴板!
我们感谢您对我们文档的反馈。让我们了解如何改进它。
使用 Red Hat Jira 中的 Create Issue 表单提供您的反馈。JIRA 问题是在 Red Hat Satellite Jira 项目中创建的,您可以在其中跟踪其进度。
先决条件
- 确保您已注册了 红帽帐户。
流程
- 单击以下链接: 创建问题。如果 Jira 显示登录错误,则登录并在您重定向到表单后继续。
- 完成 Summary 和 Description 字段。在 Description 字段中,包含文档 URL、章节号以及问题的详细描述。不要修改表单中的任何其他字段。
- 点 Create。
第 1 章 启动和停止 Red Hat Satellite 复制链接链接已复制到粘贴板!
Satellite 提供 satellite-maintain service 命令,以从命令行管理 Satellite 服务。这在创建 Satellite 备份时很有用。有关创建备份的详情,请参考 第 11 章 备份 Satellite 服务器和 Capsule 服务器。
使用 satellite-installer 命令安装 Satellite 后,所有 Satellite 服务会自动启动并启用。通过执行以下命令来查看这些服务的列表:
satellite-maintain service list
# satellite-maintain service list
要查看正在运行的服务的状态,请执行:
satellite-maintain service status
# satellite-maintain service status
要停止 Satellite 服务,请执行:
satellite-maintain service stop
# satellite-maintain service stop
要启动 Satellite 服务,请执行:
satellite-maintain service start
# satellite-maintain service start
要重启 Satellite 服务,请执行:
satellite-maintain service restart
# satellite-maintain service restart
第 2 章 克隆 Satellite 服务器 复制链接链接已复制到粘贴板!
您可以克隆 Satellite 服务器来创建实例,以测试实例升级和将实例迁移到其他机器或操作系统。这是在升级或迁移期间提供更大的灵活性的可选步骤。
您不能在胶囊服务器上使用 Satellite 克隆工具。相反,您必须备份现有的 Capsule 服务器,在目标服务器上恢复它,然后重新配置 Capsule 服务器。
如果您创建 Satellite 服务器的新实例,请在恢复备份后停用旧实例。克隆的实例不应在生产环境中并行运行。
术语
确保您了解以下术语:
- 源服务器
- 克隆的来源。
- 目标服务器
- 将文件复制到并将源服务器克隆到新服务器上。
2.1. 克隆过程概述 复制链接链接已复制到粘贴板!
- 备份源服务器。
- 将源服务器克隆到目标服务器。
- 关闭源服务器。
- 更新目标服务器上的网络配置,以匹配目标服务器的 IP 地址及其新主机名。
- 测试新目标服务器。
2.2. 先决条件 复制链接链接已复制到粘贴板!
要克隆 Satellite 服务器,请确保您有以下可用资源:
- Red Hat Enterprise Linux 9 最小安装,成为目标服务器。不要安装 Red Hat Enterprise Linux 9 软件组或第三方应用程序。确保您的服务器符合所有必需的规格。如需更多信息,请参阅 在 连接的网络环境中安装 Satellite 服务器 中的 为安装准备您的环境。
-
使用
satellite-maintain备份脚本所做的 Satellite 服务器的备份。您可以通过或不使用 Pulp 数据来使用备份。 - 目标服务器的 Satellite 订阅。
在开始克隆前,请确保存在以下条件:
- 目标服务器位于隔离的网络中。这可避免 Capsule 服务器和主机间不需要的通信。
- 目标服务器至少与源服务器具有相同的存储容量。
自定义配置文件
如果您在源服务器上有任何自定义配置,这些配置不是由 satellite-installer 工具或 Satellite 备份过程管理,您必须手动备份这些文件。
2.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 数据的情况下备份
按照以下步骤,按照 第 2.4 节 “克隆 Satellite 服务器” 中的步骤,并将涉及克隆的步骤替换为 Pulp 数据:
对处于活跃状态的 PostgreSQL 数据库执行备份,不包括 Pulp 数据:
satellite-maintain backup offline --skip-pulp-content \ --assumeyes /var/backup
# satellite-maintain backup offline --skip-pulp-content \ --assumeyes /var/backupCopy to Clipboard Copied! Toggle word wrap Toggle overflow 停止并禁用 Satellite 服务:
satellite-maintain service stop satellite-maintain service disable
# satellite-maintain service stop # satellite-maintain service disableCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 Pulp 数据复制到目标服务器:
rsync --archive --partial --progress --compress \ /var/lib/pulp/ target_server.example.com:/var/lib/pulp/
# rsync --archive --partial --progress --compress \ /var/lib/pulp/ target_server.example.com:/var/lib/pulp/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4. 克隆 Satellite 服务器 复制链接链接已复制到粘贴板!
使用以下步骤克隆 Satellite 服务器。请注意,由于您必须复制和传输的大量数据作为这些步骤的一部分,因此可能需要大量时间来完成。
2.4.1. 为克隆准备源服务器 复制链接链接已复制到粘贴板!
在源服务器上,完成以下步骤:
确定 Pulp 数据的大小:
du -sh /var/lib/pulp/
# du -sh /var/lib/pulp/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您的 Pulp 数据小于 500 GB,请使用激活的 PostgreSQL 数据库执行备份,包括 Pulp 数据。如果您有 500 GB 的 Pulp 数据,请跳过以下步骤并完成 第 2.3 节 “Pulp 数据注意事项” 中的步骤,然后再继续。
satellite-maintain backup offline --assumeyes /var/backup
# satellite-maintain backup offline --assumeyes /var/backupCopy to Clipboard Copied! Toggle word wrap Toggle overflow 停止并禁用 Satellite 服务:
satellite-maintain service stop satellite-maintain service disable
# satellite-maintain service stop # satellite-maintain service disableCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4.2. 克隆到目标服务器 复制链接链接已复制到粘贴板!
要克隆服务器,请在目标服务器上完成以下步骤:
-
satellite-clone工具默认使用/backup/作为备份文件夹。如果您复制到其他文件夹,请更新/etc/satellite-clone/satellite-clone-vars.yml文件中的backup_dir变量。 -
将源 Satellite 中的备份文件放在目标服务器上的
/backup/文件夹中。您可以挂载共享存储,或者将备份文件复制到目标服务器上的/backup/文件夹。 - 关闭源服务器。
将您的实例注册到红帽客户门户网站,并只启用所需的软件仓库:
subscription-manager register subscription-manager repos --disable=* subscription-manager repos --enable=rhel-9-for-x86_64-appstream-rpms \ --enable=rhel-9-for-x86_64-baseos-rpms \ --enable=satellite-maintenance-6.17-for-rhel-9-x86_64-rpms
# subscription-manager register # subscription-manager repos --disable=* # subscription-manager repos --enable=rhel-9-for-x86_64-appstream-rpms \ --enable=rhel-9-for-x86_64-baseos-rpms \ --enable=satellite-maintenance-6.17-for-rhel-9-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 安装
satellite-clone软件包:dnf install satellite-clone
# dnf install satellite-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow 安装
satellite-clone工具后,您可以调整任何配置,以适应/etc/satellite-clone/satellite-clone-vars.yml文件中的您自己的部署。运行
satellite-clone工具:satellite-clone
# satellite-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 重新配置 DHCP、DNS、TFTP 和远程执行服务。克隆过程禁用目标 Satellite 服务器上的这些服务,以避免与源 Satellite 服务器冲突。
- 在 Satellite Web UI 中重新配置并启用 DHCP、DNS 和 TFTP。如需更多信息,请参阅在 连接的网络环境中安装 Satellite 服务器中的 在 Satellite 服务器上配置外部服务 。
-
使用用户名
admin和密码changeme登录到 Satellite Web UI。立即更新 admin 密码以保护凭据。 - 确保选择了正确的机构。
- 在 Satellite Web UI 中,进入到 Content > Subscriptions。
- 单击 Manage Manifest。
- 单击 Refresh,然后单击 Close 以返回到订阅列表。
- 验证可用的订阅是否正确。
-
按照
/usr/share/satellite-clone/logs/reassociate_capsules.txt文件中的说明恢复 Capsules 及其生命周期环境之间的关联。 -
更新您的网络配置,如 DNS,以将目标服务器的 IP 地址与其新主机名匹配。
satellite-clone工具将主机名更改为源服务器的主机名。如果要将主机名更改为不同的内容,您可以使用satellite-change-hostname工具。如需更多信息,请参阅管理 Red Hat Satellite 中的 重命名 Satellite 服务器。 -
如果源服务器使用
virt-who守护进程,请在目标服务器上安装和配置它。将/etc/virt-who.d/目录中的所有virt-who配置文件从源服务器复制到目标服务器上的同一目录中。如需更多信息,请参阅 为虚拟机订阅配置 virt-who。使用以下章节执行升级后,您可以安全地弃用源服务器。
第 3 章 使用预定义的配置集调整 Satellite 服务器 复制链接链接已复制到粘贴板!
如果您的 Satellite 部署包含 5000 多个主机,您可以使用预定义的调优配置文件来改进 Satellite 的性能。
请注意,您不能在 Capsules 上使用调优配置集。
您可以根据 Satellite 管理和可用的硬件资源的主机数量选择其中一个配置集。
调优配置集位于 /usr/share/foreman-installer/config/foreman.hiera/tuning/sizes 目录中。
当您使用-- tuning 选项运行 satellite-installer 命令时,部署配置设置将按以下顺序应用到 Satellite:
-
/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文件,Satellite 将应用这些配置设置。
请注意,/etc/foreman-installer/custom-hiera.yaml 文件中定义的配置设置会覆盖调优配置集中定义的配置设置。
因此,在应用调优配置文件前,您必须比较 /usr/share/foreman-installer/config/foreman.hiera/tuning/common.yaml 文件中的默认调优配置文件中定义的配置设置,并从 /etc/foreman- 文件中删除任何重复的配置。
installer/custom-hiera.yaml
- default
主机数量: 0 swig-5-45000
RAM: 20G
CPU 内核数:4
- 中
主机数量:5001wagon-wagon10000
RAM:32G
CPU 内核数: 8
- Large
主机数量:10001 swig-wagon20000
RAM: 64G
CPU 内核数:16
- extra-large
主机数量: 20001 swig-wagon60000
RAM: 128G
CPU 内核数:32
- extra-extra-large
主机数量:60000+
RAM: 256G
CPU 内核数: 48+
流程
可选:如果您在 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
# cp /etc/foreman-installer/custom-hiera.yaml \ /etc/foreman-installer/custom-hiera.originalCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
可选:如果您在 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文件中的任何重复的配置设置。 使用您要应用的配置集的--
tuning选项输入satellite-installer命令。例如,要应用介质调优配置文件设置,请输入以下命令:satellite-installer --tuning medium
# satellite-installer --tuning mediumCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第 4 章 从内部 Satellite 数据库迁移到外部数据库 复制链接链接已复制到粘贴板!
安装 Red Hat Satellite 时,satellite-installer 命令会在与 Satellite 相同的服务器上安装 PostgreSQL 数据库。如果您使用默认的内部数据库,但希望开始使用外部数据库来帮助服务器负载,您可以将内部数据库迁移到外部数据库。
要确认您的 Satellite 服务器是否具有内部或外部数据库,您可以查询数据库的状态:
对于 PostgreSQL,输入以下命令:
satellite-maintain service status --only postgresql
# satellite-maintain service status --only postgresql
红帽不提供对外部数据库维护的支持或工具。这包括备份、升级和数据库调整。您必须拥有自己的数据库管理员,才能支持和维护外部数据库。
要从默认内部数据库迁移到外部数据库,您必须完成以下步骤:
- 第 4.2 节 “安装 PostgreSQL”.使用 Foreman、Pulp 和 Candlepin 的数据库准备 PostgreSQL,拥有拥有它们的专用用户。
-
第 4.3 节 “迁移到外部数据库”.编辑
satellite-installer的参数,以指向新数据库,并运行satellite-installer。
4.1. PostgreSQL 作为外部数据库注意事项 复制链接链接已复制到粘贴板!
Foreman、Katello 和 Candlepin 使用 PostgreSQL 数据库。如果要将 PostgreSQL 用作外部数据库,可以帮助您确定此选项是否适合您的 Satellite 配置。Satellite 支持 PostgreSQL 版本 13。
外部 PostgreSQL 的优点
- 在 Satellite 上增加可用内存和可用 CPU
-
在 PostgreSQL 数据库中将
shared_buffers设置为一个高数字的灵活性,而不会干扰 Satellite 上的其他服务 - 在不影响 Satellite 操作的情况下,调整 PostgreSQL 服务器系统的灵活性
外部 PostgreSQL 的缺点
- 增加了部署复杂性,导致故障排除更困难
- 外部 PostgreSQL 服务器是一个额外的系统来补丁和维护
- 如果 Satellite 或 PostgreSQL 数据库服务器出现硬件或存储故障,则 Satellite 无法正常工作
- 如果 Satellite 服务器和数据库服务器之间存在延迟,则性能可能会会受到影响
如果您怀疑 Satellite 上的 PostgreSQL 数据库会导致性能问题,请使用 Satellite 6 中的信息:如何启用 postgres 查询日志记录来检测运行查询的速度,以确定您是否有缓慢的查询。超过一秒的查询通常是由大型安装的性能问题造成的,而迁移到外部数据库可能并不能提供帮助。如果您有较慢的查询,请联系红帽支持团队。
4.2. 安装 PostgreSQL 复制链接链接已复制到粘贴板!
您只能在内部数据库安装过程中安装 satellite-installer 工具安装的相同版本的 PostgreSQL。Satellite 支持 PostgreSQL 版本 13。
先决条件
- 准备的主机必须满足 Satellite 存储要求。
- 准备的主机启用了基本操作系统存储库。
流程
在您的新数据库服务器中安装 PostgreSQL:
dnf install postgresql-server postgresql-contrib
# dnf install postgresql-server postgresql-contribCopy to Clipboard Copied! Toggle word wrap Toggle overflow 初始化 PostgreSQL 数据库:
postgresql-setup --initdb
# postgresql-setup --initdbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
/var/lib/pgsql/data/postgresql.conf文件:vi /var/lib/pgsql/data/postgresql.conf
# vi /var/lib/pgsql/data/postgresql.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,需要调整外部 PostgreSQL 的默认配置,才能使用 Satellite。以下是推荐进行的外部数据库配置调整:
- checkpoint_completion_target: 0.9
- max_connections: 500
- shared_buffers: 512MB
- work_mem: 4MB
删除
#,编辑相关内容以侦听入站连接:listen_addresses = '*'
listen_addresses = '*'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在文件末尾添加以下行以使用 SCRAM 进行身份验证:
password_encryption=scram-sha-256
password_encryption=scram-sha-256Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
/var/lib/pgsql/data/pg_hba.conf文件:vi /var/lib/pgsql/data/pg_hba.conf
# vi /var/lib/pgsql/data/pg_hba.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在文件中添加以下行:
host all all Satellite_ip/32 scram-sha-256
host all all Satellite_ip/32 scram-sha-256Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启动并启用 PostgreSQL 服务:
systemctl enable --now postgresql
# systemctl enable --now postgresqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 打开 postgresql 端口:
firewall-cmd --add-service=postgresql
# firewall-cmd --add-service=postgresqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使更改具有持久性:
firewall-cmd --runtime-to-permanent
# firewall-cmd --runtime-to-permanentCopy to Clipboard Copied! Toggle word wrap Toggle overflow 切换到
postgres用户,启动 PostgreSQL 客户端:su - postgres -c psql
$ su - postgres -c psqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建三个数据库和专用角色:一个用于 Foreman,一个用于 Candlepin,另一个用于 Pulp:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 退出
postgres用户:\q
# \qCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 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"
# 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"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3. 迁移到外部数据库 复制链接链接已复制到粘贴板!
备份和传输现有数据,然后使用 satellite-installer 命令将 Satellite 配置为连接到外部 PostgreSQL 数据库服务器。
先决条件
- 您已在 Red Hat Enterprise Linux 服务器中安装和配置了 PostgreSQL 服务器。
流程
在 Satellite 服务器上,停止除 PostgreSQL 的所有 Satellite 服务:
satellite-maintain service stop --exclude postgresql
# satellite-maintain service stop --exclude postgresqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为 Satellite 备份创建目标目录:
mkdir /var/My_Migration_Backup_Directory
# mkdir /var/My_Migration_Backup_DirectoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow 备份内部数据库:
satellite-maintain backup online \ --preserve-directory \ --skip-pulp-content \ /var/My_Migration_Backup_Directory
# satellite-maintain backup online \ --preserve-directory \ --skip-pulp-content \ /var/My_Migration_Backup_DirectoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将数据传送到新的外部数据库:
PGPASSWORD='Foreman_Password' pg_restore -h postgres.example.com -U foreman -d foreman < /var/My_Migration_Backup_Directory/foreman.dump PGPASSWORD='Candlepin_Password' pg_restore -h postgres.example.com -U candlepin -d candlepin < /var/My_Migration_Backup_Directory/candlepin.dump PGPASSWORD='Pulpcore_Password' pg_restore -h postgres.example.com -U pulp -d pulpcore < /var/My_Migration_Backup_Directory/pulpcore.dump
PGPASSWORD='Foreman_Password' pg_restore -h postgres.example.com -U foreman -d foreman < /var/My_Migration_Backup_Directory/foreman.dump PGPASSWORD='Candlepin_Password' pg_restore -h postgres.example.com -U candlepin -d candlepin < /var/My_Migration_Backup_Directory/candlepin.dump PGPASSWORD='Pulpcore_Password' pg_restore -h postgres.example.com -U pulp -d pulpcore < /var/My_Migration_Backup_Directory/pulpcore.dumpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
satellite-installer命令更新 Satellite 以指向新数据库:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除 Satellite 服务器上的 PostgreSQL 软件包:
satellite-maintain packages remove postgresql-server
# satellite-maintain packages remove postgresql-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow 删除 PostgreSQL 数据目录:
rm -fr /var/lib/pgsql/data
# rm -fr /var/lib/pgsql/dataCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第 5 章 使用 Satellite Ansible Collection 自动管理 Satellite 复制链接链接已复制到粘贴板!
Satellite Ansible Collection 是一组与 Satellite API 交互的 Ansible 模块。您可以使用这些模块自动执行 Satellite 管理的许多方面。
5.1. 安装 Satellite Ansible 模块 复制链接链接已复制到粘贴板!
Satellite Ansible Collection 中的模块由 ansible-collection-redhat-satellite 软件包提供。在您的 Satellite 服务器上,默认情况下会安装该软件包。如果要在其他系统中执行 playbook,您必须首先安装提供它们的软件包。
您可以在任何可访问 Satellite API 的系统中执行 playbook。这也可以是您的 Satellite 服务器本身。
流程
安装
ansible-collection-redhat-satellite软件包:dnf install ansible-collection-redhat-satellite
# dnf install ansible-collection-redhat-satelliteCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
显示系统中现在可用的 Ansible 模块列表:
ansible-doc --list redhat.satellite
# ansible-doc --list redhat.satelliteCopy to Clipboard Copied! Toggle word wrap Toggle overflow
后续步骤
- 现在,您可以使用安装的 Ansible 模块来执行 playbook。
5.2. 使用 Satellite Ansible Collection 中的模块创建 playbook 复制链接链接已复制到粘贴板!
Satellite Ansible Collection 中的 Ansible 模块必须能够通过 HTTPS 与 Satellite API 通信。在 playbook 中,包含指定如何进行身份验证的参数以启用与 API 的连接。
不要将敏感凭证(如用户名和密码)直接存储在 playbook 或环境变量中。以下示例使用 Ansible vault 管理敏感数据。
先决条件
- Satellite 中的用户帐户存在执行您的 playbook 中定义的操作的权限。
您可以访问该用户的以下类型的身份验证凭证之一:
- 用户名和密码
- 用户名和个人访问令牌
您要对其执行 playbook 的系统。以下示例使用
localhost。此系统必须能够访问 Satellite API。您可以从这些选项中选择:
- 可直接访问 Satellite API 的系统。您可以使用 Satellite 服务器、您的胶囊服务器或环境中的任何其他系统。
- 没有与使用 HTTP 代理连接到 Satellite API 的 Satellite API 的系统。
流程
将敏感变量存储在加密的文件中:
创建 Ansible 库。例如,创建名为 My_Vault.yml 的库:
ansible-vault create My_Vault.yml
$ ansible-vault create My_Vault.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在
ansible-vault create命令打开编辑器后,以键:value 格式提供所需的参数。如果要使用 Satellite 用户名和密码进行身份验证:
My_Username: My_Admin_User_Account My_Password: My_Admin_Password My_Server_URL: https://satellite.example.com
My_Username: My_Admin_User_Account My_Password: My_Admin_Password My_Server_URL: https://satellite.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果要使用 Satellite 用户名和个人访问令牌(PAT)进行身份验证:
My_Username: My_Admin_User_Account My_Password: My_PAT My_Server_URL: https://satellite.example.com
My_Username: My_Admin_User_Account My_Password: My_PAT My_Server_URL: https://satellite.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您使用 HTTP 代理访问 Satellite API,也将其存储在密码库中:
My_HTTP_Proxy: "http://proxy.example.com:8080"
My_HTTP_Proxy: "http://proxy.example.com:8080"Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存更改并关闭编辑器。Ansible 加密 vault 中的数据。
创建引用 vault 文件的 playbook 文件:
注意以下 YAML 片段包括
module_defaults关键字,将 vault 变量作为参数传递给来自 redhat.satellite.satellite 组的所有模块。模块默认组允许您为模块组定义常用参数来简化参数管理,而不必单独将参数传递给每个模块。提供有关如何对 Satellite API 进行身份验证的详细信息。
如果您使用 Satellite 用户名和密码或 PAT 进行身份验证,请将
用户名、password和server_url参数映射到 My_Vault.yml 的内容:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您需要使用 HTTP 代理访问 Satellite API,请设置
https_proxy环境变量:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
在
tasks:部分中,定义您希望 playbook 的任务。
验证 playbook 语法:
ansible-playbook --syntax-check --ask-vault-pass My_Playbook.yml
$ ansible-playbook --syntax-check --ask-vault-pass My_Playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,这个命令只验证语法。它不会防止有效但不正确的配置。
运行 playbook:
ansible-playbook --ask-vault-pass My_Playbook.yml
$ ansible-playbook --ask-vault-pass My_Playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
例 5.1. 示例 Ansible playbook:确保 Satellite 中存在 domain new.example.com
redhat.satellite.domain 模块可以创建、更新和删除域。此示例 playbook 使用 redhat.satellite.domain 来确保存在名为 new.example.com 的域,并由 Satellite 管理。如需了解更多示例,请参阅 第 5.3 节 “基于 Satellite Ansible Collection 的模块的 playbook 示例”。
示例 playbook 中指定的设置包括如下:
vars_files-
存储变量
My_Username、My_Password和My_Server_URL的 vault 文件的名称。 module_defaults-
将 vault 文件中的变量映射到
用户名、密码和server_url模块参数的模块 defaults 组。 name- 要在 Satellite 中存在您要确保的域的名称。
有关更多信息,请参阅 ansible-doc redhat.satellite.domain 的 Ansible 模块文档。
其他资源
- 有关使用 Ansible vault 的详情,请参考 Ansible 社区 文档中的使用 Ansible vault 保护敏感数据。
- 有关使用模块默认值的详情,请参考 Ansible 社区 文档中的 模块默认值。
5.3. 基于 Satellite Ansible Collection 的模块的 playbook 示例 复制链接链接已复制到粘贴板!
基于 Satellite Ansible Collection 的模块的所有 playbook 必须包含有关如何连接到 Satellite API 的参数。以下示例使用 Ansible vault 和模块默认组提供这些参数,并使用用户名和密码进行身份验证。如需更多信息,请参阅 第 5.2 节 “使用 Satellite Ansible Collection 中的模块创建 playbook”。
例 5.2. 示例 Ansible playbook:启用存储库并创建内容视图
此 playbook 示例使用以下模块:
-
redhat.satellite.repository_set -
redhat.satellite.content_view
该 playbook 确保存储库已启用,并且存在包含这些存储库的内容视图。
在运行此 playbook 之前,请确保您已上传了一个清单,并可以访问 Red Hat CDN。
如需更多信息,请参阅以下命令的 Ansible 模块文档:
-
ansible-doc redhat.satellite.repository_sync -
ansible-doc redhat.satellite.content_view
例 5.3. 示例 Ansible playbook:同步存储库并发布内容视图
此 playbook 示例使用以下模块:
-
redhat.satellite.repository_sync -
redhat.satellite.content_view_version
playbook 同步存储库并发布包含它们的内容视图。
在运行此 playbook 之前,请确保启用了所需的存储库并创建了内容视图。有关确保此功能的 playbook 示例,请参阅 例 5.2 “示例 Ansible playbook:启用存储库并创建内容视图”。
如需更多信息,请参阅以下命令的 Ansible 模块文档:
-
ansible-doc redhat.satellite.repository_sync -
ansible-doc redhat.satellite.content_view_version
其他资源
-
使用
ansible-doc --list redhat.satellite命令显示您系统上安装的 Satellite Ansible 模块。 - 如需 Satellite Ansible 模块和其他相关信息的完整列表,请参阅 Red Hat Ansible Automation Platform。
第 6 章 准备灾难恢复并从数据丢失中恢复 复制链接链接已复制到粘贴板!
红帽建议准备灾难恢复计划,以便在出现破坏性事件时确保 Satellite 服务的连续性。这些指南有助于确保您能够在事件后将 Satellite 部署恢复到操作状态。
6.1. 推荐的灾难恢复计划概述 复制链接链接已复制到粘贴板!
选择最佳灾难恢复计划,以确保您部署中卫星服务的连续性。
- 虚拟化 Satellite 服务器的快照
- 如何备份?
- 虚拟化您的 Satellite 服务器并使用虚拟机监控程序工具获取服务器的虚拟机快照。如果您可以在虚拟机中运行 Satellite,则此方法适合使用。
- 在发生破坏性事件时,如何恢复?
- 要恢复 Satellite 服务,恢复虚拟机快照。
- 缺陷和预期的影响
- 根据最后一个快照的旧程度,在恢复后需要一些不一致的数据。由于您要用来恢复的快照,因此您丢失了数据更改。
- 具有外部存储的主动和被动 Satellite 服务器
- 如何备份?
-
在网络附加存储上存储以下关键数据:内容在
/var/lib/pulp和 database 中存储在/var/lib/pgsql中。将此存储复制到不同的数据中心。将存储附加到 Satellite 服务器,这是主 Satellite 服务器的克隆,但被动运行。 - 在发生破坏性事件时,如何恢复?
- 要恢复 Satellite 服务,请使用被动 Satellite 服务器切换主动 Satellite 服务器的 DNS 记录。这样可确保被动服务器成为主动服务器。所有主机都保持连接,无需配置更新。
- 缺陷和预期的影响
- 如果网络附加存储复制到另一个位置,则需要根据同步间隔恢复一些数据不一致。
- 主动和被动 Satellite 服务器,带有备份和恢复
- 如何备份?
- 确保 Satellite 服务器的定期备份。将此备份复制到被动 Satellite 服务器中,并在被动服务器上恢复它。
- 在发生破坏性事件时,如何恢复?
- 要恢复 Satellite 服务,请使用被动 Satellite 服务器切换主动 Satellite 服务器的 DNS 记录。这样可确保被动服务器成为主动服务器。所有主机都保持连接,无需配置更新。
- 缺陷和预期的影响
- 根据您执行和恢复备份的频率以及完成恢复过程所需的时间,预期在恢复后出现一些不一致的数据。
- 双活动 Satellite 服务器
- 如何备份?
每个数据中心运行一个活跃的独立 Satellite 服务器。来自每个数据中心的主机在该数据中心的卫星服务器上注册。然后,配置自动化以确保在出现破坏性事件时进行恢复。例如,您可以定期运行健康检查,如果健康检查发现主机正在注册的当前 Satellite 服务器无法解析,则主机将重新注册到其他 Satellite 服务器。
要最小化停机时间,您可以以各种方式自动恢复。例如,您可以使用 Satellite Ansible 集合。如需更多信息,请参阅管理 Red Hat Satellite 中的 使用 Satellite Ansible Collection 自动执行 Satellite 管理。
- 在发生破坏性事件时,如何恢复?
- 要恢复 Satellite 服务,请将所有主机重新注册到其他数据中心的 Satellite 服务器中。
- 缺陷和预期的影响
- 您必须确保同步内容同步和内容视图创建,以便在每个 Satellite 中创建相同的内容视图,并防止内容偏移。当内容偏移来自内容视图定义的预期状态时,会发生内容偏移。如果您无法防止内容偏移,在主机可用的内容中预期不一致。
6.2. 通过虚拟化 Satellite 服务器进行灾难恢复 复制链接链接已复制到粘贴板!
如果您虚拟化 Satellite 服务器并确保对虚拟机(VM)进行常规快照,您可以通过从其中一个快照恢复 Satellite 部署来响应各种灾难情况。
如何实现此情境的详细信息取决于您的虚拟化平台的选择。由于各种不同的虚拟机监控程序及其功能,红帽不针对任何特定虚拟化平台提供详细的说明。
6.2.1. 先决条件 复制链接链接已复制到粘贴板!
- 查看 第 6.1 节 “推荐的灾难恢复计划概述” 以确保此灾难恢复计划适合您。
- 您的 Satellite 服务器作为虚拟机部署。
6.2.2. 通过虚拟化 Satellite 服务器准备灾难恢复 复制链接链接已复制到粘贴板!
实施可靠的流程,以便定期执行虚拟化 Satellite 服务器的虚拟机快照并为长期存储备份您的快照。
流程
- 定义为执行虚拟化 Satellite 服务器的定期快照的计划。为潜在的数据丢失考虑您的容错:在出现灾难时,频繁执行快照会导致较少的数据丢失。但是,创建快照需要时间,快照还需要存储空间。
- 定义快照保留策略。考虑您要存储的快照数量:常规删除过时的快照有助于优化存储使用量。
- 使用您的虚拟机监控程序,调度 Satellite 服务器的定期快照。
调度定期备份快照以防止在虚拟机监控程序失败时数据丢失。
注意快照提供快速恢复点,备份快照可让您进行长期存储,并在虚拟机监控程序一侧出现灾难时提供额外的安全。
- 如果您使用在与 Satellite 服务器不同的计算机上运行的外部数据库,请在与 Satellite 服务器相同的调度上创建快照和备份。
验证
- 根据您的调度,验证您的管理程序是否按照您定义的时间表采用快照。
- 使用 Satellite 服务器的最新快照,并在隔离的环境中恢复它。
- 要验证您是否能够在灾难时恢复 Satellite 服务,请评估测试 Satellite 服务器的功能。请参阅 第 6.2.4 节 “检索服务状态”。
- 定期执行这些验证检查。
6.2.3. 通过恢复 Satellite 服务器的虚拟机快照从灾难中恢复 复制链接链接已复制到粘贴板!
如果是灾难,请使用 Satellite 服务器的虚拟机(VM)快照来恢复 Satellite 服务。
确保 Satellite 服务器的主机名在恢复过程中不会改变。IP 地址可以更改。
流程
- 确定您要从中恢复的快照。
- 使用 hypervisor 工具从所选快照中恢复。
- 如果您使用在与 Satellite 服务器不同的计算机上运行的外部数据库,请确保从与 Satellite 服务器快照相同的时间从快照中恢复数据库。
- 更新 DNS 记录,以便 Satellite 服务器主机名解析为新的 IP 地址。这会将旧服务器的流量重定向到新服务器,您不需要重新注册您的主机。
验证
- 评估您恢复的 Satellite 服务器的功能。请参阅 第 6.2.4 节 “检索服务状态”。
6.2.4. 检索服务状态 复制链接链接已复制到粘贴板!
Satellite 使用一组后端服务。在进行故障排除时,您可以检查 Satellite 服务的状态。
流程
在 Satellite Web UI 中,进入到 Administer > About。
- 在 Smart Proxies 选项卡上,查看所有 Capsules 的状态。
- 在 Compute Resources 选项卡中,查看附加的计算资源提供程序的状态。
- 在 Backend System Status 表中,查看所有后端服务的状态。
CLI 过程
从数据库和 Satellite 服务获取信息:
hammer ping
$ hammer pingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 检查 systemd 中运行的服务的状态:
satellite-maintain service status
# satellite-maintain service statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
satellite-maintain service --help了解更多信息。执行健康检查:
satellite-maintain health check
$ satellite-maintain health checkCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
satellite-maintain health --help了解更多信息。
6.3. 使用外部存储的主动和被动 Satellite 服务器的灾难恢复 复制链接链接已复制到粘贴板!
要准备灾难恢复,您可以配置两个 Satellite 服务器,并将关键数据存储在共享存储上。当次要服务器保持被动时,主服务器处于活动状态。如果主服务器失败,则共享存储将附加到您的次要服务器,这会将次要服务器转换为您的新主服务器。
6.3.1. 先决条件 复制链接链接已复制到粘贴板!
- 查看 第 6.1 节 “推荐的灾难恢复计划概述” 以确保此灾难恢复计划适合您。
-
请参阅在 连接的网络环境中安装 Satellite 服务器 中的存储要求 和 存储指南 。确保您的共享存储满足保存
/var/lib/pulp和/var/lib/pgsql的内容的要求。 - 您已将 Satellite 服务器配置为使用外部数据库。如需更多信息,请参阅 在 连接的网络环境中安装 Satellite 服务器中的使用外部数据库。
6.3.2. 准备使用外部存储的主动和被动 Satellite 服务器进行灾难恢复 复制链接链接已复制到粘贴板!
创建被动 Satellite 服务器作为您的主动 Satellite 服务器的克隆。确保共享存储上的 /var/lib/pulp 和 /var/lib/pgsql 目录可供两台服务器使用。
流程
-
将
/var/lib/pulp和/var/lib/pgsql目录从活跃的 Satellite 服务器复制到您的共享存储。 - 克隆您的活跃的 Satellite 服务器。更多信息请参阅 第 2 章 克隆 Satellite 服务器。
保持源服务器开机。关闭新服务器。
源服务器保留您的主动主服务器,而新服务器则成为被动次要服务器。
确定您要将共享存储上的数据库内容附加到被动服务器:
- 如果您将存储直接挂载到您的主动和被动服务器上,服务器将始终看到相同的最新内容。
- 如果您仅在活动服务器上挂载存储,则被动服务器仅在作为活动服务器接管时才访问数据。
验证
在隔离的暂存环境中执行此测试:
- 模拟活动服务器上的完全中断。为确保活动服务器无法访问,您可以关闭机器,如果服务器在虚拟机上运行,则停止虚拟机(VM),或使用防火墙隔离机器。
- 使用被动服务器的 DNS 记录切换活动服务器的 DNS 记录。
- 验证您的被动服务器是否可以访问存储在您的共享存储上的数据。
- 评估测试 Satellite 服务器的功能。如需更多信息,请参阅 第 6.3.4 节 “检索服务状态”。
- 定期执行这些验证检查。
其他资源
- 有关挂载目录的更多信息,请参阅 Red Hat Enterprise Linux 9 管理文件系统 中的 按需挂载文件系统。
6.3.3. 使用外部存储主动和被动服务器从灾难中恢复 复制链接链接已复制到粘贴板!
如果您的活跃的 Satellite 服务器失败,请将其从共享存储分离,并确保您的被动服务器可以访问存储在共享存储上的数据。这会将被动服务器转变为您的新主动服务器。
流程
- 验证失败的活动服务器是否已关闭或完全从共享存储分离。这样可确保失败的服务器无法保留对共享存储的写操作。
- 使用被动服务器的 DNS 记录切换活动服务器的 DNS 记录。这样可确保主机保持连接,您不需要重新注册它们。
- 如果您的共享存储已在您的主动和被动服务器上挂载,您的被动服务器可能已经访问数据。
- 如果您的共享存储只挂载到您的活跃服务器上,请将其重新挂载到您的被动服务器上。
- 评估您的新 Satellite 服务器的功能。如需更多信息,请参阅 第 6.3.4 节 “检索服务状态”。
6.3.4. 检索服务状态 复制链接链接已复制到粘贴板!
Satellite 使用一组后端服务。在进行故障排除时,您可以检查 Satellite 服务的状态。
流程
在 Satellite Web UI 中,进入到 Administer > About。
- 在 Smart Proxies 选项卡上,查看所有 Capsules 的状态。
- 在 Compute Resources 选项卡中,查看附加的计算资源提供程序的状态。
- 在 Backend System Status 表中,查看所有后端服务的状态。
CLI 过程
从数据库和 Satellite 服务获取信息:
hammer ping
$ hammer pingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 检查 systemd 中运行的服务的状态:
satellite-maintain service status
# satellite-maintain service statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
satellite-maintain service --help了解更多信息。执行健康检查:
satellite-maintain health check
$ satellite-maintain health checkCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
satellite-maintain health --help了解更多信息。
6.4. 使用备份和恢复进行主动和被动 Satellite 服务器的灾难恢复 复制链接链接已复制到粘贴板!
要准备灾难恢复,您可以配置两个 Satellite 服务器:一个主动主服务器和一个被动次要服务器。您可以配置主服务器的定期备份。如果主服务器失败,您可以在次要服务器上恢复备份,使它变为新的主服务器。
6.4.1. 先决条件 复制链接链接已复制到粘贴板!
- 查看 第 6.1 节 “推荐的灾难恢复计划概述” 以确保此灾难恢复计划适合您。
- 已安装 Satellite 服务器。
6.4.2. 准备使用主动和被动 Satellite 服务器进行灾难恢复,以及备份和恢复 复制链接链接已复制到粘贴板!
通过恢复主动 Satellite 服务器的备份来创建被动 Satellite 服务器。配置活动服务器的定期备份。
流程
为活跃 Satellite 服务器的定期离线备份定义调度。为潜在的数据丢失和您的存储选项考虑您的容错能力:在出现灾难时,频繁进行备份将导致较少的数据丢失,但备份需要大量的存储空间。有关 Satellite 备份大小的详情,请参考 第 11.1 节 “估算备份的大小”。
您可以将完整备份与增量备份合并。有关确保常规备份的
cron作业示例,请参考 第 6.4.5 节 “每周完整备份示例,后跟每日增量备份”。- 根据您定义的时间表,调度活跃 Satellite 服务器的定期离线备份。有关执行备份的详情,请参考 第 11 章 备份 Satellite 服务器和 Capsule 服务器。
确保备份目录已加密,并定期同步到安全位置。默认情况下,Satellite 将备份存储在
/var/satellite-backup目录中。重要Satellite 服务器备份包含
/root/ssl-build目录中的敏感信息。例如,它们可以包含主机名、ssh 密钥、请求文件和 SSL 证书。加密或将备份移动到安全位置有助于最大程度降低对主机的损坏或未授权访问的风险。- 在充当您的被动 Satellite 服务器的系统上恢复最新的备份。有关恢复备份的详情,请参考 第 12 章 从备份中恢复 Satellite 服务器或 Capsule 服务器。
可选:自动备份恢复,以使用最新的备份定期更新被动服务器。如果活动服务器失败,定期恢复的被动服务器有助于缩短切换时间。
考虑要恢复备份的频率:更频繁的更新会降低潜在的数据丢失,但提高了基础架构和自动化成本。
- 关闭被动服务器。保持活动服务器开机。
- 定义备份保留策略。考虑您要存储多少个备份:常规删除过时的备份有助于优化存储使用。
验证
- 根据您定义的调度来验证 Satellite 是否进行了备份。
在隔离的暂存环境中执行进一步测试步骤:
- 模拟活动服务器上的完全中断。为确保活动服务器无法访问,您可以关闭机器,如果服务器在虚拟机上运行,则停止虚拟机(VM),或使用防火墙隔离机器。
- 使用被动服务器的 DNS 记录切换活动服务器的 DNS 记录。
- 评估测试 Satellite 服务器的功能。如需更多信息,请参阅 第 6.4.4 节 “检索服务状态”。
- 定期执行这些验证检查。
6.4.3. 使用主动和被动服务器以及备份和恢复从灾难中恢复 复制链接链接已复制到粘贴板!
如果您的主动 Satellite 服务器失败,请激活您的被动次要服务器。
流程
- 验证失败的活动服务器是否已关闭,并且备份不再同步到您的被动服务器。
- 使用被动服务器的 DNS 记录切换活动服务器的 DNS 记录。这样可确保主机保持连接,您不需要重新注册它们。
- 评估您的新 Satellite 服务器的功能。如需更多信息,请参阅 第 6.4.4 节 “检索服务状态”。
6.4.4. 检索服务状态 复制链接链接已复制到粘贴板!
Satellite 使用一组后端服务。在进行故障排除时,您可以检查 Satellite 服务的状态。
流程
在 Satellite Web UI 中,进入到 Administer > About。
- 在 Smart Proxies 选项卡上,查看所有 Capsules 的状态。
- 在 Compute Resources 选项卡中,查看附加的计算资源提供程序的状态。
- 在 Backend System Status 表中,查看所有后端服务的状态。
CLI 过程
从数据库和 Satellite 服务获取信息:
hammer ping
$ hammer pingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 检查 systemd 中运行的服务的状态:
satellite-maintain service status
# satellite-maintain service statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
satellite-maintain service --help了解更多信息。执行健康检查:
satellite-maintain health check
$ satellite-maintain health checkCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
satellite-maintain health --help了解更多信息。
6.4.5. 每周完整备份示例,后跟每日增量备份 复制链接链接已复制到粘贴板!
以下脚本在星期日执行完整备份,后跟以下每个天的增量备份:每天执行增量备份都会创建一个新子目录。该脚本需要一个每日 cron 作业。
请注意,satellite-maintain backup 命令需要 /sbin 和 /usr/sbin 目录在 PATH 中,并使用-- assumeyes 选项跳过确认提示。
6.5. 带有两个活跃 Satellite 服务器的灾难恢复 复制链接链接已复制到粘贴板!
要准备灾难恢复,您可以配置两个 Satellite 服务器,并在不同的数据中心中操作每台服务器。如果其中一个服务器失败,您可以将所有主机从失败的服务器重新注册到另一台服务器。
6.5.1. 先决条件 复制链接链接已复制到粘贴板!
- 查看 第 6.1 节 “推荐的灾难恢复计划概述” 以确保此灾难恢复计划适合您。
- 已安装 Satellite 服务器。
6.5.2. 准备使用两个活跃的 Satellite 服务器的灾难恢复 复制链接链接已复制到粘贴板!
通过恢复第一个 Satellite 服务器的备份来创建第二个 Satellite 服务器。将这两个服务器配置为在其各自数据中心独立运行,但请确保它们的内容不会随时间推移而偏差。
流程
- 备份 Satellite 服务器。如需更多信息,请参阅 第 11 章 备份 Satellite 服务器和 Capsule 服务器。
在充当您的其他 Satellite 服务器的系统中恢复备份。如需更多信息,请参阅 第 12 章 从备份中恢复 Satellite 服务器或 Capsule 服务器。
注意每台服务器都必须具有不同的主机名和 IP 地址。这可让您在其中一个服务器失败时重新注册主机。
确保服务器上的内容一致:
如果您希望两个服务器管理内容同步和内容视图创建,请按照以下准则来防止内容偏移:
-
定期同步两个服务器上的存储库。您可以使用以下 Ansible 模块来自动执行存储库同步:
redhat.satellite.repository_sync和redhat.satellite.sync_plan。 - 确保两个服务器上的内容视图都匹配。
-
定期同步两个服务器上的存储库。您可以使用以下 Ansible 模块来自动执行存储库同步:
如果您希望一个服务器管理内容同步和内容视图创建,请使用这些功能之一来防止内容偏移:
- 如果您的灾难恢复站点可以访问您的主站点,请使用 Inter-Satellite Synchronization (ISS)来确保您的灾难恢复服务器会从主服务器同步其内容。
- 如果您的灾难恢复站点无法访问您的主站点,请使用导出和导入来同步内容。
- 如果您希望一个服务器仅管理内容视图创建而非内容同步,您可以将其他服务器或多个其他服务器配置为从第一个服务器导入内容视图,但从存储库同步内容。
- 将主机注册到您的服务器,使每个服务器在各自数据中心中管理主机。例如,将 My_Data_Center_1 中的所有主机注册到一个卫星服务器,并将 My_Data_Center_2 中的所有主机注册到其他 Satellite 服务器。
-
在两个服务器上
自动运行 satellite-maintain 健康检查命令。健康检查验证服务器是否保持完全运行。
验证
在隔离的暂存环境中执行此测试:
- 模拟您一台服务器上的完全中断。要验证服务器是否无法访问,您可以关闭机器,如果服务器在虚拟机上运行,则停止虚拟机(VM),或使用防火墙隔离机器。
-
验证您的
satellite-maintain 健康检查自动化报告了错误。 - 将无法访问的服务器中的所有主机重新注册到可访问的服务器。
- 验证主机是否已正确重新注册到可访问的服务器。
- 定期执行这些验证检查。
其他资源
- Ansible playbook 可帮助您自动执行故障切换、重新注册和同步。如需更多信息,请参阅管理 Red Hat Satellite 中的 使用 Satellite Ansible Collection 自动执行 Satellite 管理。
- 有关同步存储库的更多信息 ,请参阅管理内容中的同步存储库。
- 有关在 Satellite 服务器间同步内容(包括 ISS、导出和导入)的更多信息,请参阅管理内容中的在 Satellite 服务器间同步 内容 。
6.5.3. 使用两个活跃的 Satellite 服务器从灾难中恢复 复制链接链接已复制到粘贴板!
如果在 第 6.5.2 节 “准备使用两个活跃的 Satellite 服务器的灾难恢复” 中实施的健康检查报告您的一个 Satellite 服务器的问题,这可能意味着服务器已失败。如果服务器停机,您必须将主机重新注册到其他服务器。
流程
验证服务器的状态:
satellite-maintain health check
# satellite-maintain health checkCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
如果
satellite-maintain 健康检查报告了问题,请确保服务器已关闭。 - 将由故障服务器管理的数据中心重新注册到其他功能服务器。
验证
- 验证主机是否已正确重新注册。
其他资源
- Ansible playbook 可帮助您自动执行故障切换、重新注册和同步。如需更多信息,请参阅管理 Red Hat Satellite 中的 使用 Satellite Ansible Collection 自动执行 Satellite 管理。
第 7 章 管理机构 复制链接链接已复制到粘贴板!
组织根据所有权、目的、内容、安全级别或其他部门将红帽卫星资源划分为逻辑组。您可以通过 Red Hat Satellite 创建和管理多个机构,然后将您的红帽订阅划分并分配给每个机构。这提供了一种管理一个管理系统下多个单独组织的内容的方法。
7.1. 在 Satellite 中使用机构的示例 复制链接链接已复制到粘贴板!
- 单个机构
使用单个组织非常适合拥有简单的系统管理链的小型业务。
在这种情况下,您要为业务创建一个机构,并为它分配内容。您还可以使用 Default Organization 来实现这一目的。
- 多个机构
使用多个组织非常适合拥有多个较小的业务单位的大型公司。例如,一家具有单独系统管理和软件开发组的公司。
在这种情况下,您可以为公司创建一个机构,然后为其拥有的每个业务单元创建一个机构。然后,您可以根据每个机构的需求为每个机构分配内容。
- 外部机构
使用外部组织非常适合管理其他机构的外部系统的公司。例如,公司向客户提供云计算和 Web 托管资源。
在这种情况下,您可以为公司自己的系统基础架构创建一个机构,然后为每个外部业务创建一个机构。然后,根据需要为每个机构分配内容。
7.2. 创建机构 复制链接链接已复制到粘贴板!
使用这个流程创建机构。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Administer > Organizations。
- 单击新建组织。
- 在 Name 字段中输入机构的名称。
- 在 Label 字段中输入机构的唯一标识符。这用于创建和映射某些资产,如内容存储的目录。使用字母、数字、下划线和短划线,但没有空格。
- 可选:在 Description 字段中输入机构的描述。
- 点 Submit。
- 如果您主机没有分配机构,请选择您要添加到机构中的主机,然后单击 Proceed to Edit。
- 在 Edit 页面中,分配您要添加到机构的基础架构资源。这包括网络资源、安装介质、Kickstart 模板和其他参数。您可以随时返回到此页面,方法是进入到 Administer > Organizations,然后选择要编辑的机构。
- 点 Submit。
CLI 过程
运行以下命令来创建机构:
hammer organization create \ --name "My_Organization" \ --label "My_Organization_Label" \ --description "My_Organization_Description"
$ hammer organization create \ --name "My_Organization" \ --label "My_Organization_Label" \ --description "My_Organization_Description"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选: 要编辑机构,请输入
hammer 机构 update命令。例如,以下命令为机构分配一个计算资源:hammer organization update \ --name "My_Organization" \ --compute-resource-ids 1
$ hammer organization update \ --name "My_Organization" \ --compute-resource-ids 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3. 创建机构调试证书 复制链接链接已复制到粘贴板!
如果您的机构需要 debug 证书,请使用以下步骤。
流程
- 在 Satellite Web UI 中,进入到 Administer > Organizations。
- 选择您要为其生成调试证书的机构。
- 点 Generate and Download。
- 将证书文件保存到安全位置。
用于置备模板的调试证书
如果正在下载的证书的组织中尚未存在,则会自动为置备模板下载生成调试证书。
7.4. 使用机构调试证书浏览存储库内容 复制链接链接已复制到粘贴板!
如果使用该机构的调试证书,您可以使用 Web 浏览器或使用 API 查看机构的存储库内容。
先决条件
- 您创建并下载了一个机构证书。更多信息请参阅 第 7.3 节 “创建机构调试证书”。
流程
将私钥和公钥从证书分成两个文件。
为默认机构打开 X.509 证书:
vi 'Default Organization-key-cert.pem'
$ vi 'Default Organization-key-cert.pem'Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将文件的内容从
-----BEGIN RSA PRIVATE KEY-----复制到-----END RSA PRIVATE KEY-----,并将其复制到key.pem文件中。 -
将文件的内容从
-----BEGIN CERTIFICATE-----复制到-----END CERTIFICATE-----,并复制到cert.pem文件中。
- 要使用浏览器,您必须首先将 X.509 证书转换为浏览器支持的格式,然后导入证书。
对于 Firefox 用户
使用以下命令将证书转换为 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
$ openssl pkcs12 -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -export -in cert.pem -inkey key.pem -out My_Organization_Label.pfx -name My_OrganizationCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在 Firefox 浏览器中,进入到 Edit > Preferences > Advanced Tab。
- 选择 查看证书,然后单击 您的证书 选项卡。
-
点 Import 并选择要加载的
.pfx文件。 在地址栏中输入以下 URL 以浏览所有软件仓库的可访问路径并检查其内容:
https://satellite.example.com/pulp/content/
https://satellite.example.com/pulp/content/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
对于 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/
$ 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/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 确保
cert.pem和key.pem的路径是正确的绝对路径,否则命令会静默失败。pulp 使用机构标签,因此您必须在 URL 中输入机构标签。
7.5. 删除机构 复制链接链接已复制到粘贴板!
如果机构没有与任何生命周期环境或主机组关联,您可以删除机构。如果有与您要删除的机构关联的生命周期环境或主机组,请进入到 Administer > Organizations 并点相关机构来删除它们。
不要删除在安装过程中创建的默认机构,因为默认机构是 Satellite 环境中任何未关联主机的占位符。在任何给定时间,环境中必须至少有一个机构。
流程
- 在 Satellite Web UI 中,进入到 Administer > Organizations。
- 从您要删除的机构名称右侧的列表中,选择 Delete。
- 单击 OK 以删除组织。
CLI 过程
输入以下命令来检索您要删除的机构的 ID:
hammer organization list
$ hammer organization listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 从输出中,记下您要删除的机构的 ID。
输入以下命令删除机构:
hammer organization delete --id Organization_ID
$ hammer organization delete --id Organization_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第 8 章 管理位置 复制链接链接已复制到粘贴板!
位置功能与组织类似:它们提供了一种对资源和分配主机进行分组的方法。机构和位置有以下概念区别:
- 位置基于物理或地理位置设置。
- 位置具有层次结构。
您可以通过提供父位置来分层结构位置。除非另有指定,否则位置将继承其父位置的设置。
8.1. 创建位置 复制链接链接已复制到粘贴板!
使用这个流程创建位置,以便您可以根据位置管理主机和资源。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Administer > Locations。
- 点新位置。
- 可选:从 Parent 列表中选择一个父位置。这会创建一个位置层次结构。
- 在 Name 字段中输入位置的名称。
- 可选:在 Description 字段中输入位置的描述。
- 点 Submit。
- 如果您主机没有分配位置,请添加您要分配给新位置的任何主机,然后单击 Proceed to Edit。
- 分配您要添加到位置的任何基础架构资源。这包括网络资源、安装介质、Kickstart 模板和其他参数。您可以随时返回到此页面,方法是导航到 Administer > Locations,然后选择要编辑的位置。
- 点 Submit 保存您的更改。
CLI 过程
输入以下命令来创建位置:
hammer location create \ --description "My_Location_Description" \ --name "My_Location" \ --parent-id "My_Location_Parent_ID"
$ hammer location create \ --description "My_Location_Description" \ --name "My_Location" \ --parent-id "My_Location_Parent_ID"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2. 创建多个位置 复制链接链接已复制到粘贴板!
以下示例 Bash 脚本创建三个位置 - London、Munich、Tap - 并将其分配给 Example 组织。
8.3. 设置位置上下文 复制链接链接已复制到粘贴板!
位置上下文定义了用于主机及其相关资源的位置。
流程
位置菜单是菜单栏中的第二个菜单项,位于 Satellite Web UI 的左上角。如果还没有选择当前位置,则菜单会显示 Any Location。单击 Any location,再选择要使用的位置。
CLI 过程
在使用 CLI 时,将 "My_Location" or --location-id "My_Location_ID" 作为一个选项包括在内。例如:
hammer host list --location "My_Location"
$ hammer host list --location "My_Location"
此命令列出与 My_Location 位置关联的主机。
8.4. 删除位置 复制链接链接已复制到粘贴板!
如果位置没有与任何生命周期环境或主机组关联,您可以删除位置。如果有与您要删除的位置关联的生命周期环境或主机组,请进入到 Administer > Locations 并点相关位置来删除它们。不要删除在安装过程中创建的默认位置,因为默认位置是 Satellite 环境中任何未关联主机的占位符。在任何给定时间,环境中必须至少有一个位置。
流程
- 在 Satellite Web UI 中,进入到 Administer > Locations。
- 从您要删除的位置名称右侧的列表中选择 Delete。
- 单击 OK 以删除该位置。
CLI 过程
输入以下命令来检索您要删除的位置的 ID:
hammer location list
$ hammer location listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在输出中,记下您要删除的位置的 ID。
输入以下命令删除位置:
hammer location delete --id Location ID
$ hammer location delete --id Location IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第 9 章 管理用户和角色 复制链接链接已复制到粘贴板!
用户为使用该系统的个人定义了一组详细信息。用户可以与组织和环境关联,以便在创建新实体时自动使用默认设置。用户也可以附加 一个或多个角色,授予他们查看和管理机构及环境的权限。有关使用用户的更多信息,请参阅 第 9.1 节 “管理用户”。
您可以通过将多个用户组织到用户组来一次性管理多个用户的权限。用户组本身可以进一步分组,以创建权限层次结构。有关创建用户组的详情,请参考 第 9.4 节 “创建和管理用户组”。
角色定义了一组权限和访问级别。每个角色都包含一个 权限过滤器,用于指定该角色允许的操作。操作按照 资源类型 进行了分组。角色创建之后,可以将用户和用户组与该角色关联。这样,您可以为大量用户分配相同的权限集。Satellite 提供了一组预定义的角色,还支持创建自定义角色和权限过滤器,如 第 9.5 节 “创建和管理角色” 所述。
9.1. 管理用户 复制链接链接已复制到粘贴板!
作为管理员,您可以创建、修改和删除 Satellite 用户。您还可以通过为用户或一组用户分配不同的 角色来 配置访问权限。
9.1.1. 创建用户 复制链接链接已复制到粘贴板!
使用这个流程创建用户。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Administer > Users。
- 点 Create User.
- 输入新用户的帐户详情。
- 单击 Submit 以创建该用户。
您可以指定的用户帐户详情包括:
在 User 选项卡中,从 Authorized by 列表中选择一个身份验证源:
- INTERNAL :管理卫星服务器内的用户。
- EXTERNAL :使用外部身份验证管理用户。如需更多信息,请参阅为 Red Hat Satellite 用户配置身份验证。
在 Organizations 选项卡上,为用户选择一个组织。指定在从 Default on login 列表中登录后为用户选择的默认组织。
重要如果用户没有分配给某个机构,则限制其访问权限。
CLI 过程
创建用户:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow --auth-source-id 1设置意味着用户在内部进行身份验证,您可以将外部验证源指定为替代方案。添加-admin选项,以向用户授予管理员特权。不需要指定机构 ID。您可以稍后使用
hammer user update命令修改用户详情。
其他资源
-
有关使用 Hammer 创建用户帐户的更多信息,请输入
hammer 用户 create --help。
API 请求
9.1.2. 为用户分配角色 复制链接链接已复制到粘贴板!
使用这个流程为用户分配角色。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Administer > Users。
单击要分配给一个或多个角色的用户的 username。
注意如果没有列出用户帐户,请检查您当前是否查看了正确的机构。若要列出卫星中的所有用户,请单击 Default Organization,然后单击 Any Organization。
- 单击 Locations 选项卡,然后选择一个位置(如果没有分配)。
- 单击 Organizations 选项卡,再检查是否分配了组织。
- 单击 Roles 选项卡,以显示可用角色的列表。
从 Roles 列表中选择要分配的角色。
要授予所有可用权限,请选中 Administrator 复选框。
- 点 Submit。
若要查看分配给用户的角色,请单击 Roles 选项卡;分配的角色列在 Selected items 下。要删除分配的角色,可在 Selected items 中单击角色名称。
CLI 过程
要为用户分配角色,请输入以下命令:
hammer user add-role --id user_id --role role_name
$ hammer user add-role --id user_id --role role_nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.1.3. 模拟不同的用户帐户 复制链接链接已复制到粘贴板!
管理员可以通过以其他用户身份临时登录 Satellite Web UI 来模拟其他经过身份验证的用户进行测试和故障排除目的。在模拟其他用户时,管理员有权完全访问系统中模拟的用户所能访问的内容,包括相同的菜单。
创建审计是为了记录管理员在模拟其他用户时执行的操作。但是,管理员在模拟其他用户时执行的所有操作都会记录为被模拟的用户执行。
先决条件
- 确保您以具有 Satellite 管理员特权的用户身份登录到 Satellite Web UI。
流程
- 在 Satellite Web UI 中,进入到 Administer > Users。
- 在您要模拟的用户右侧,从 Actions 列中的列表中,选择 Impersonate。
当您要停止模拟会话时,在主菜单的右上角,点模拟图标。
9.1.4. 创建仅限 API 的用户 复制链接链接已复制到粘贴板!
您可以创建只能与 Satellite API 交互的用户。
先决条件
您已创建了用户,并为它们分配角色。请注意,此用户必须在内部授权。如需更多信息,请参阅以下部分:
流程
- 以 admin 用户身份登录您的 Satellite。
- 导航到 Administer > Users 并选择用户。
在 User 选项卡中,设置密码。不要保存或将此密码与其他密码通信。您可以在控制台中创建伪随机字符串:
openssl rand -hex 32
# openssl rand -hex 32Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 为用户创建个人访问令牌。如需更多信息,请参阅 第 9.3.1 节 “创建一个个人访问令牌”。
9.2. 管理 SSH 密钥 复制链接链接已复制到粘贴板!
将 SSH 密钥添加到用户允许在调配期间部署 SSH 密钥。有关置备过程中部署 SSH 密钥的详情,请参考 置备主机 中的 在置备过程中部署 SSH 密钥。
有关 SSH 密钥和 SSH 密钥创建的详情,请参考 Red Hat Enterprise Linux 9 配置基本系统设置 中的使用 OpenSSH 在两个系统间使用安全通信。
9.2.1. 管理用户 SSH 密钥 复制链接链接已复制到粘贴板!
使用这个流程为用户添加或删除 SSH 密钥。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
先决条件
- 确保您以 Red Hat Satellite 的 Admin 用户身份或为添加 SSH 密钥启用了 create_ssh_key 权限,为删除密钥启用了 destroy_ssh_key 权限的用户身份登陆到 Satellite web UI,用于。
流程
- 在 Satellite Web UI 中,进入到 Administer > Users。
- 在 Username 列中点击所需用户的用户名。
点 SSH Keys 选项卡。
要添加 SSH 密钥
- 在剪贴板中准备公共 SSH 密钥的内容。
- 单击 Add SSH Key。
- 在 Key 字段中,粘贴剪贴板中的公共 SSH 密钥内容。
- 在 Name 字段中输入 SSH 密钥的名称。
- 点 Submit。
要删除 SSH 密钥
- 单击要删除的 SSH 密钥所在行上的 Delete。
- 在确认提示中,单击 OK。
CLI 过程
要为用户添加 SSH 密钥,您必须指定公共 SSH 密钥文件的路径,或指定复制到剪贴板的公共 SSH 密钥的内容。
如果您有公共 SSH 密钥文件,请输入以下命令:
hammer user ssh-keys add \ --user-id user_id \ --name key_name \ --key-file ~/.ssh/id_rsa.pub
$ hammer user ssh-keys add \ --user-id user_id \ --name key_name \ --key-file ~/.ssh/id_rsa.pubCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您有公共 SSH 密钥的内容,请输入以下命令:
hammer user ssh-keys add \ --user-id user_id \ --name key_name \ --key ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNtYAAABBBHHS2KmNyIYa27Qaa7EHp+2l99ucGStx4P77e03ZvE3yVRJEFikpoP3MJtYYfIe8k 1/46MTIZo9CPTX4CYUHeN8= host@user
$ hammer user ssh-keys add \ --user-id user_id \ --name key_name \ --key ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNtYAAABBBHHS2KmNyIYa27Qaa7EHp+2l99ucGStx4P77e03ZvE3yVRJEFikpoP3MJtYYfIe8k 1/46MTIZo9CPTX4CYUHeN8= host@userCopy to Clipboard Copied! Toggle word wrap Toggle overflow
要从用户中删除 SSH 密钥,请输入以下命令:
hammer user ssh-keys delete --id key_id --user-id user_id
$ 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
$ hammer user ssh-keys info --id key_id --user-id user_id
要列出附加到用户的 SSH 密钥,请输入以下命令:
hammer user ssh-keys list --user-id user_id
$ hammer user ssh-keys list --user-id user_id
9.3. 管理个人访问令牌 复制链接链接已复制到粘贴板!
个人访问令牌允许您在不使用密码的情况下验证 API 请求。您可以为个人访问令牌设置过期日期。如果您决定它应在过期日期前过期,可以撤销它。
9.3.1. 创建一个个人访问令牌 复制链接链接已复制到粘贴板!
使用这个流程创建个人访问令牌。
流程
- 在 Satellite Web UI 中,进入到 Administer > Users。
- 选择您要为其创建个人访问令牌的用户。
- 在 Personal Access Tokens 选项卡中,点 Add Personal Access Token。
- 输入个人访问令牌的名称。
- 可选:选择 Expires 日期来设置过期日期。如果您没有设置过期日期,您的个人访问令牌将永远不会过期,除非被撤销。
点 Submit。到此,在 Personal Access Tokens 选项卡会包括您可用的个人访问令牌。
重要确保存储您的个人访问令牌,因为您将无法在离开页面或创建新的个人访问令牌后再次访问它。您可以点 Copy to clipboard 复制个人访问令牌。
验证
向 Satellite 服务器发出 API 请求,并使用您的个人访问令牌进行身份验证:
curl \ --user My_Username:My_Personal_Access_Token \ https://satellite.example.com/api/status
$ curl \ --user My_Username:My_Personal_Access_Token \ https://satellite.example.com/api/statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 您应该收到状态为
200的响应,例如:{"satellite_version":"6.17.0","result":"ok","status":200,"version":"3.5.1.10","api_version":2}{"satellite_version":"6.17.0","result":"ok","status":200,"version":"3.5.1.10","api_version":2}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您再次返回 Personal Access Tokens 选项卡,您可以在个人访问令牌旁看到最后使用时间。
9.3.2. 撤销个人访问令牌 复制链接链接已复制到粘贴板!
使用这个流程在过期日期前撤销个人访问令牌。
流程
- 在 Satellite Web UI 中,进入到 Administer > Users。
- 选择您要撤销个人访问令牌的用户。
- 在 Personal Access Tokens 选项卡中,找到您要撤销的个人访问令牌。
- 在您要撤销的个人访问令牌旁边的 Actions 列中点 Revoke。
验证
向 Satellite 服务器发出 API 请求,并尝试使用撤销的个人访问令牌进行身份验证:
curl \ --user My_Username:My_Personal_Access_Token \ https://satellite.example.com/api/status
$ curl \ --user My_Username:My_Personal_Access_Token \ https://satellite.example.com/api/statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 您会收到以下出错信息:
{ "error": {"message":"Unable to authenticate user My_Username"} }{ "error": {"message":"Unable to authenticate user My_Username"} }Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.4. 创建和管理用户组 复制链接链接已复制到粘贴板!
9.4.1. 用户组 复制链接链接已复制到粘贴板!
使用 Satellite,您可以为用户组分配权限。您还可以创建用户组作为其他用户组的集合。如果使用外部身份验证源,您可以将 Satellite 用户组映射到外部用户组,如 为 Red Hat Satellite 用户配置身份验证中的配置外部 用户组 中所述。
用户组在组织上下文中定义,这意味着您必须先选择一个机构,然后才能访问用户组。
9.4.2. 创建用户组 复制链接链接已复制到粘贴板!
使用这个流程创建用户组。
流程
- 在 Satellite Web UI 中,进入到 Administer > User Groups。
- 单击 Create User group。
在 User Group 选项卡中,指定新用户组的名称并选择组成员:
- 从 User Groups 列表中选择之前创建的用户组。
- 从 Users 列表中选择用户。
- 在 Roles 选项卡中,选择您要分配给用户组的角色。或者,选择 Admin 复选框来分配所有可用的权限。
- 点 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
$ 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_2Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.4.3. 删除用户组 复制链接链接已复制到粘贴板!
使用以下步骤从 Satellite 中删除用户组。
流程
- 在 Satellite Web UI 中,进入到 Administer > User Groups。
- 点您要删除的用户组右侧的 Delete。
- 单击 Confirm 以删除该用户组。
9.5. 创建和管理角色 复制链接链接已复制到粘贴板!
Satellite 中的用户可以分配一个或多个角色。这些角色与允许用户在 Satellite 中执行指定管理操作的权限关联。权限过滤器定义特定资源类型允许的操作。
Satellite 提供了一组可以满足标准任务权限的预定义角色。如需这些角色的列表,请参阅 第 9.6 节 “Satellite 中可用的预定义角色”。您还可以配置自定义角色。
其中一个预定义的角色是 Default 角色。Satellite 为系统中的每个用户分配 Default 角色。默认情况下,Default 角色 只授予一组有限的权限。请注意,如果您为 Default 角色 添加权限,则每个 Satellite 用户都会获得该权限。为用户分配不同的角色不会从用户中删除 Default 角色。
以下类型的角色通常在各种 Satellite 部署中定义:
- 与基础架构应用程序或部分相关的角色
- 例如,Red Hat Enterprise Linux 所有者的角色作为操作系统,而不是针对应用服务器和数据库服务器的所有者的角色。
- 与软件生命周期的特定阶段相关的角色
- 例如,角色划分到开发、测试和生产阶段,每个阶段都有一个或多个所有者。
- 与特定任务相关的角色
- 例如,您可以根据用户在机构中执行的特定任务,为安全管理器创建角色以及许可证管理器的角色。
9.5.1. 创建角色 复制链接链接已复制到粘贴板!
使用这个流程创建角色。
流程
- 在 Satellite Web UI 中,进入到 Administer > Roles。
- 单击 Create Role。
- 为角色提供 Name。
- 点 Submit 以保存您的新角色。
CLI 过程
运行以下命令来创建角色:
hammer role create --name My_Role_Name
$ hammer role create --name My_Role_NameCopy to Clipboard Copied! Toggle word wrap Toggle overflow
为了服务其目的,角色必须包含权限。创建角色后,继续 第 9.5.3 节 “为角色添加权限”。
9.5.2. 克隆角色 复制链接链接已复制到粘贴板!
使用 Satellite Web UI 克隆角色。
流程
- 在 Satellite Web UI 中,进入到 Administer > Roles,然后从所需角色右侧的下拉菜单中选择 Clone。
- 为角色提供 Name。
- 单击 Submit 以克隆角色。
- 单击克隆角色的名称,再导航到 Filters。
- 根据需要编辑权限。
- 点 Submit 以保存您的新角色。
9.5.3. 为角色添加权限 复制链接链接已复制到粘贴板!
使用这个流程为角色添加权限。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Administer > Roles。
- 从所需角色右侧的下拉列表中,选择 Add Filter。
- 从下拉列表中选择 资源类型。(其它) 组收集没有与任何资源组关联的权限。
- 单击您要从 Permission 列表中选择的权限。
- 根据所选的 资源类型,您可以选择或取消选择 Tasks 和 Override 复选框。默认情况下会选中 Unlimited 复选框,这意味着权限将应用到所选类型的所有资源上。当您禁用 无限 复选框时,Search 字段会激活。在此字段中,您可以使用 Satellite 搜索语法指定进一步过滤。更多信息请参阅 第 9.7 节 “细粒度权限过滤”。启用 覆盖 复选框时,您可以添加额外的位置和机构,以允许角色访问额外位置和机构中的资源类型;您还可以从资源类型中删除已关联的位置和机构以限制访问。
- 点击 Next。
- 点 Submit 以保存更改。
CLI 过程
列出所有可用权限:
hammer filter available-permissions
$ hammer filter available-permissionsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为角色添加权限:
hammer filter create \ --permission-ids My_Permission_ID_1,My_Permission_ID_2 \ --role My_Role_Name
$ hammer filter create \ --permission-ids My_Permission_ID_1,My_Permission_ID_2 \ --role My_Role_NameCopy to Clipboard Copied! Toggle word wrap Toggle overflow
如需有关角色和权限参数的更多信息,请输入 hammer role --help 和 hammer filter --help 命令。
9.5.4. 查看角色的权限 复制链接链接已复制到粘贴板!
使用 Satellite Web UI 查看角色的权限。
流程
- 在 Satellite Web UI 中,进入到 Administer > Roles。
- 单击所需角色右侧的 Filters,以进入 Filters 页面。
Filters 页面包含分配给按资源类型分组的角色的权限表。也可以生成可在 Satellite 系统上使用的完整权限和操作表。如需更多信息,请参阅 第 9.5.5 节 “创建完整权限表”。
9.5.5. 创建完整权限表 复制链接链接已复制到粘贴板!
使用 Satellite CLI 创建权限表。
流程
使用以下命令启动 Satellite 控制台:
foreman-rake console
# foreman-rake consoleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在控制台中插入以下代码:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以上语法会创建一个权限表,并将其保存到
/tmp/table.html文件中。-
按
Ctrl+D退出 Satellite 控制台。 将以下文本插入到
/tmp/table.html的第一行:<table border="1"><tr><td>Permission name</td><td>Actions</td><td>Resource type</td></tr>
<table border="1"><tr><td>Permission name</td><td>Actions</td><td>Resource type</td></tr>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将以下文本附加到
/tmp/table.html的末尾:</table>
</table>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
在 Web 浏览器中打开
/tmp/table.html以查看表。
9.5.6. 删除角色 复制链接链接已复制到粘贴板!
使用以下步骤从 Satellite 中删除角色。
流程
- 在 Satellite Web UI 中,进入到 Administer > Roles。
- 从要删除的角色右侧的下拉列表中,选择 Delete。
- 单击 Confirm 以删除该角色。
9.6. Satellite 中可用的预定义角色 复制链接链接已复制到粘贴板!
下表提供了 Satellite 中预定义角色授予用户的权限概述。
对于完整的预定义角色及其授予的权限,请以特权用户身份登录 Satellite Web UI,再导航到 Administer > Roles。如需更多信息,请参阅 第 9.5.4 节 “查看角色的权限”。
| 预定义的角色 | 角色提供的权限 | 其他信息 |
|---|---|---|
| 审核员 (Auditor) | 查看审计日志。 | |
| 默认角色 | 查看任务和作业调用。 | Satellite 会自动将此角色分配给系统中的每个用户。 |
| Manager(管理者) | 查看和编辑全局设置。 | |
| 机构管理员 | 除管理机构的权限外的所有权限。 | 每个机构定义的管理员角色。该角色对其他机构中的资源没有可见性。 通过克隆此角色并分配机构,您可以将该机构的管理委派给用户。 |
| 站点管理器 | 查看各种项目的权限。 管理基础架构中主机的权限。 | Manager 角色的 restrained 版本。 |
| 系统管理员 | 编辑 Administer > Settings 中的全局设置。 查看、创建、编辑和销毁用户、用户组和角色。 查看、创建、编辑、销毁和分配机构和位置,但不查看其中的资源。 | 具有此角色的用户可以创建用户,并为他们分配所有角色。仅将此角色赋予可信用户。 |
| Viewer | 查看 Satellite 结构、日志、报告和统计的每个元素的配置。 |
9.7. 细粒度权限过滤 复制链接链接已复制到粘贴板!
如 第 9.5.3 节 “为角色添加权限” 所述,Red Hat Satellite 提供了将配置的用户权限限制为所选资源类型的实例。这些粒度过滤器是对 Satellite 数据库的查询,并受到大多数资源类型的支持。
9.7.1. 创建粒度权限过滤器 复制链接链接已复制到粘贴板!
使用这个流程创建粒度过滤器。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
Satellite 不应用搜索条件来创建操作。例如,在 search 字段中使用 name = "Default Location" 表达式限制 create_locations 操作不会阻止用户为新创建的位置分配自定义名称。
流程
在 Edit Filter 页面的 Search 字段中指定查询。取消选择 要激活的 字段的无限复选框。查询的格式如下:
field_name operator value
field_name operator value
- field_name 标记要查询的字段。可用字段名称的范围取决于资源类型。例如,Partition Table 资源类型提供 系列、布局 和 name 作为查询参数。
- Operator 指定 field_name 和 值 之间的比较类型。如需了解适用的操作符的概述信息,请参阅 第 9.7.3 节 “支持的 Operator 以进行粒度搜索”。
- value 是用于过滤的值。例如,这可以是一个机构的名称。支持两种通配符字符:下划线(_)提供单一字符替换,而百分比符号(%)则替换零或更多字符。
对于大多数资源类型,Search 字段提供了一个下拉列表,建议可用的参数。此列表会出现在搜索字段中的光标后。对于很多资源类型,您可以使用逻辑运算符(如 and ,not 和has)来组合查询。
CLI 过程
要创建粒度过滤器,请输入带有--
search选项的hammer filter create命令来限制权限过滤器,例如:hammer filter create \ --permission-ids 91 \ --search "name ~ ccv*" \ --role qa-user
$ hammer filter create \ --permission-ids 91 \ --search "name ~ ccv*" \ --role qa-userCopy to Clipboard Copied! Toggle word wrap Toggle overflow
此命令向 qa-user 角色添加查看、创建、编辑和销毁内容视图的权限,这些内容视图仅应用于以 ccv 开头的内容视图。
9.7.2. 使用粒度权限过滤器的示例 复制链接链接已复制到粘贴板!
作为管理员,您可以允许所选用户在环境路径的某些部分进行更改。以下过滤器允许您在应用程序生命周期的 development 阶段使用内容,但当内容被推送到生产环境后,内容将无法访问。
9.7.2.1. 为主机资源类型应用权限 复制链接链接已复制到粘贴板!
以下查询仅将为 Host 资源类型指定的任何权限应用到名为 host-editors 的组中的主机。
hostgroup = host-editors
hostgroup = host-editors
以下查询会返回名称与 XXXX、Y yy 或 zzzz 示例字符串匹配的记录:
name ^ (XXXX, Yyyy, zzzz)
name ^ (XXXX, Yyyy, zzzz)
您还可以将权限限制为所选环境。要做到这一点,在 Search 字段中指定环境名称,例如:
Dev
Dev
您可以在 Search 字段中使用粒度权限过滤器将用户权限限制到特定的机构或位置。但是,有些资源类型提供了 GUI 替代方案,一个提供了 Locations 和 Organizations 选项卡的 Override 复选框。在这些标签页中,您可以从可用的机构和位置列表中选择。如需更多信息,请参阅 第 9.7.2.2 节 “创建特定于机构的管理器角色”。
9.7.2.2. 创建特定于机构的管理器角色 复制链接链接已复制到粘贴板!
使用 Satellite Web UI 创建仅限于一个名为 org-1 的组织的管理角色。
流程
- 在 Satellite Web UI 中,进入到 Administer > Roles。
- 克隆现有的 机构管理员 角色。从 Filters 按钮旁边的下拉列表中,选择 Clone。然后提示您为克隆的角色插入名称,如 org-1 admin。
- 单击所需的位置和组织,将它们与角色关联。
- 单击 Submit 以创建该角色。
- 单击 org-1 admin,然后单击 Filters 以查看所有相关过滤器。默认过滤器适用于大多数用例。但是,您可以选择点击 Edit 来更改每个过滤器的属性。对于某些过滤器,如果您希望角色能够访问其他位置和机构中的资源,您可以启用 Override 选项。例如,通过选择 Domain 资源类型、Override 选项,然后使用 Locations 和 Organizations 选项卡选择其他位置和组织,您可以允许此角色访问与此角色关联的其他位置和机构中的域。您还可以点 New filter 将新过滤器与此角色关联。
9.7.3. 支持的 Operator 以进行粒度搜索 复制链接链接已复制到粘贴板!
| Operator | 描述 |
| 和 | 组合搜索条件。 |
| not | 对一个表达式进行求值。 |
| has | 对象必须具有指定的属性。 |
| Operator | 描述 |
| = | 等于。对文本字段区分大小写的相等比较。 |
| != | 不等于。= 运算符的一个 inversion。 |
| ~ | 类似于。在搜索文本字段时不区分大小写的搜索。 |
| !~ | 不像。~ 运算符的一个反转版本。 |
| ^ | 在 中。具有区分大小写的搜索文本字段的相等性比较。这会生成不同的 SQL 查询 到相等的 比较,对于多个值比较效率更高。 |
| !^ | 不在 中。^ 运算符的一个 inversion。 |
| >, >= | 大于,大于或等于。仅支持数字字段。 |
| <, ⇐ | 小于,小于或等于。仅支持数字字段。 |
第 10 章 配置电子邮件通知 复制链接链接已复制到粘贴板!
电子邮件通知由 Satellite 服务器定期创建,或者在完成某些事件后创建。定期通知可以每天、每周或每月发送。
有关可用通知类型的概述,请参阅 第 10.1 节 “电子邮件通知类型”。
默认情况下,用户不会收到任何电子邮件通知。管理员可以将用户配置为根据通知类型和频率等条件接收通知。
默认情况下,Satellite 服务器不启用传出电子邮件,因此您必须检查您的电子邮件配置。如需更多信息,请参阅 在 连接的网络环境中安装 Satellite 服务器 中的 为 传出电子邮件 配置 Satellite 服务器。
10.1. 电子邮件通知类型 复制链接链接已复制到粘贴板!
Satellite 可以创建以下电子邮件通知:
- 审计概述
- Satellite 服务器审计的所有活动的摘要。
- 胶囊同步失败
- 胶囊同步失败后发送的通知。
- 合规策略概述
- OpenSCAP 策略报告的摘要及其结果。
- 内容视图提升失败
- 在内容视图提升失败后发送的通知。
- 内容视图发布失败
- 内容视图发布失败后发送的通知失败。
- 内置主机
- 构建主机后发送的通知。
- 主机勘误公告
- 用户管理的主机的适用和可安装勘误表摘要。
- 提升勘误
- 仅在内容视图提升后发送的通知。它包含适用于勘误的摘要,并可以被安装到提升的内容视图的主机。这允许用户监控已将哪些更新应用到哪些主机。
- 仓库同步失败
- 在存储库同步失败后发送的通知。
- 同步勘误
- 仅在同步存储库后发送的通知。它包含同步引入的新勘误的摘要。
如需电子邮件通知类型的完整列表,请导航到 Satellite Web UI 中的 Administer > Users,点所需用户的 Username,然后选择 Email Preferences 选项卡。
10.2. 配置电子邮件通知首选项 复制链接链接已复制到粘贴板!
您可以将 Satellite 配置为向注册到 Satellite 的单个用户发送电子邮件消息。如果存在,Satellite 会向添加到帐户的电子邮件地址发送该电子邮件。用户可以通过单击卫星 Web UI 右上角的名称并选择 My account 来编辑电子邮件地址。
从 Satellite Web UI 为用户配置电子邮件通知。
如果要将电子邮件通知发送到组电子邮件地址而不是单独的电子邮件地址,创建一个带有组电子邮件地址和最小 Satellite 权限的用户帐户,然后将用户帐户订阅到所需的通知类型。
先决条件
-
您要配置为接收电子邮件通知的用户具有此权限的角色:
view_mail_notifications。
流程
- 在 Satellite Web UI 中,进入到 Administer > Users。
- 点您要编辑的用户的 Username。
- 在 User 选项卡中,验证 Mail 字段的值。电子邮件通知将发送到此字段中的地址。
- 在 Email Preferences 选项卡中,选择 Mail Enabled。
选择您希望用户使用通知类型旁边的下拉菜单接收的通知。
注意通过在 Mail Query 文本框中输入所需的查询来过滤 审计概述 通知。
点 Submit。
用户将开始收到通知电子邮件。
10.3. 测试电子邮件发送 复制链接链接已复制到粘贴板!
要验证电子邮件的发送,请向用户发送测试电子邮件。如果电子邮件发送,则设置正确。
流程
- 在 Satellite Web UI 中,进入到 Administer > Users。
- 点用户名。
在 Email Preferences 选项卡中,单击 Test email。
测试电子邮件会立即发送到用户的电子邮件地址。
如果发送电子邮件,则代表验证已完成。否则,您必须执行以下诊断步骤:
- 验证用户的电子邮件地址。
- 验证 Satellite 服务器的电子邮件配置。
- 检查防火墙和邮件服务器日志。
如果您的 Satellite 服务器使用 Postfix 服务进行电子邮件发送,测试电子邮件可能会在队列中保存。要进行验证,请输入
mailq命令列出当前的邮件队列。如果测试电子邮件在队列中保存,mailq会显示以下信息:postqueue: warning: Mail system is down -- accessing queue directly -Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient------- BE68482A783 1922 Thu Oct 3 05:13:36 satellite-noreply@example.com
postqueue: warning: Mail system is down -- accessing queue directly -Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient------- BE68482A783 1922 Thu Oct 3 05:13:36 satellite-noreply@example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要解决这个问题,请在您的 Satellite 服务器上启动 Postfix 服务:
systemctl start postfix
# systemctl start postfixCopy to Clipboard Copied! Toggle word wrap Toggle overflow
10.4. 测试电子邮件通知 复制链接链接已复制到粘贴板!
要验证用户是否已正确订阅通知,请手动触发通知。
流程
要触发通知,请执行以下命令:
foreman-rake reports:_My_Frequency_
# foreman-rake reports:_My_Frequency_Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 My_Frequency 替换为以下之一:
- daily
- weekly
- monthly
这会触发所有订阅用户的指定频率调度的所有通知。如果每个订阅的用户收到通知,验证会成功。
目前不支持向单个用户发送手动触发的通知。
10.5. 更改主机的电子邮件通知设置 复制链接链接已复制到粘贴板!
Satellite 可以将主机的事件通知发送到主机的注册所有者。您可以配置 Satellite,以将电子邮件通知发送到单个用户或用户组。当设置为用户组时,订阅了电子邮件类型的所有组成员都会收到消息。
收到主机的电子邮件通知可能很有用,但如果您希望收到频繁错误,例如,由于已知问题或您要解决的错误。
流程
- 在 Satellite Web UI 中,进入到 Hosts > All Hosts,找到您要查看的主机,然后点击 Actions 列中的 Edit。
- 转至 附加信息选项卡。如果选中了 此主机在 Satellite 报告中,则在该主机上启用了电子邮件通知。
可选:切换复选框以启用或禁用电子邮件通知。
注意如果要收到电子邮件通知,请确保您在用户设置中设置了电子邮件地址。
第 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 9 配置基本系统设置 中的 恢复系统。
如果您计划使用 satellite-maintain backup 命令创建备份,请不要停止 Satellite 服务。
在创建快照或传统备份时,您必须停止所有服务,如下所示:
satellite-maintain service stop
# satellite-maintain service stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在创建快照或传统备份后启动服务:
satellite-maintain service start
# satellite-maintain service startCopy to Clipboard Copied! Toggle word wrap Toggle overflow
11.1. 估算备份的大小 复制链接链接已复制到粘贴板!
完整备份创建 PostgreSQL 和 Pulp 数据库文件,以及 Satellite 配置文件的未压缩存档。在存档创建后进行压缩,以减少 Satellite 服务不可用的时间。
完整备份需要空间来存储以下数据:
- 未压缩的 Satellite 数据库和配置文件
- 压缩的 Satellite 数据库和配置文件
- 总估算空间的额外 20%,以确保备份可靠
流程
输入
du命令,以估算包含 Satellite 数据库和配置文件的未压缩目录的大小:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 计算存储压缩数据所需的空间量。
下表描述了备份中包含的所有数据项目的压缩率:
Expand 表 11.1. 备份数据压缩率 数据类型 目录 ratio 结果示例 PostgreSQL 数据库文件
/var/lib/pgsql/data80 – 85%
100 GB → 20 GB
Pulp RPM 文件
/var/lib/pulp(未压缩)
100 GB
配置文件
/var/lib/tftpboot/etc/root/ssl-build/var/www/html/pub/opt/puppetlabs85%
942 MB → 141 MB
在本例中,压缩的备份数据占用总计 120 GB。
要计算存储备份所需的可用空间量,请计算压缩和未压缩备份数据的估算值总和,并添加额外的 20% 以确保备份可靠。
这个示例需要 201 GB,以及未压缩备份数据 120 GB,总计需要 321 GB。对于 64 GB 的额外空间,必须为备份位置分配 385 GB。
11.2. 执行 Satellite 服务器或 Capsule 服务器的完整备份 复制链接链接已复制到粘贴板!
Red Hat Satellite 使用 satellite-maintain backup 命令进行备份。
备份 Satellite 服务器有两个主要方法:
离线备份
所有 Satellite 服务都会在离线备份过程中关闭。
在线备份
只有影响备份一致性的 Satellite 服务(包括所有后台工作程序)仅在备份进程运行时关闭。在线备份检查一致性,且需要的时间超过离线备份。
有关这些方法的更多信息,您可以查看每种备份方法的使用声明。
离线备份
satellite-maintain backup offline --help
# satellite-maintain backup offline --help
在线备份
satellite-maintain backup online --help
# satellite-maintain backup online --help
创建目录
satellite-maintain backup 命令会在您指定的备份目录中创建时间戳的子目录。satellite-maintain backup 命令不会覆盖备份,因此您必须在从备份或增量备份中恢复时选择正确的目录或子目录。satellite-maintain backup 命令可以根据需要停止并重启服务。
当您运行 satellite-maintain backup offline 命令时,会创建以下默认备份目录:
-
Satellite 上的
satellite-backup -
Capsule 上的
foreman-proxy-backup
如果要设置自定义目录名称,请添加 the -preserve-directory 选项并添加目录名称。然后,备份会存储在您在命令行中提供的目录中。如果使用 --preserve-directory 选项,如果备份失败,则不会删除数据。
请注意,如果您使用本地 PostgreSQL 数据库,postgres 用户需要对备份目录的写入权限。
远程数据库
您可以使用 satellite-maintain backup 命令备份远程数据库。
您可以使用在线和离线方法备份远程数据库,但如果您使用离线方法,satellite-maintain backup 命令会执行数据库转储。
备份到远程 NFS 共享
要让 Satellite 将备份保存到 NFS 共享,请确保 Satellite 服务器或胶囊服务器的 root 用户可以写入 NFS 共享。已知阻止了 root_squash 和 all_squash 等 NFS 导出选项,以防止这种情况。
如需更多信息,请参阅 Red Hat Enterprise Linux 配置和使用网络文件服务和 Red Hat Enterprise Linux 保护网络服务。
先决条件
- 确保您的备份位置有足够的可用磁盘空间来存储备份。更多信息请参阅 第 11.1 节 “估算备份的大小”。
请求其他 Satellite 服务器或胶囊服务器用户以保存任何更改,并警告它们在备份期间 Satellite 服务不可用。确保没有调度其他任务与备份相同的时间。
流程
在 Satellite 服务器上输入以下命令:
satellite-maintain backup offline /var/satellite-backup
# satellite-maintain backup offline /var/satellite-backupCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Capsule 服务器上输入以下命令:
satellite-maintain backup offline /var/foreman-proxy-backup
# satellite-maintain backup offline /var/foreman-proxy-backupCopy to Clipboard Copied! Toggle word wrap Toggle overflow
11.3. 执行没有 Pulp 内容的备份 复制链接链接已复制到粘贴板!
您可以执行排除 Pulp 目录内容的离线备份。没有 Pulp 内容的备份可用于调试目的,仅用于提供配置文件的访问权限,而不备份 Pulp 数据库。对于生产环境用例,请不要从不包含 Pulp 内容的目录中恢复。
请求其他 Satellite 服务器或胶囊服务器用户以保存任何更改,并警告它们在备份期间 Satellite 服务不可用。确保没有调度其他任务与备份相同的时间。
先决条件
- 确保您的备份位置有足够的可用磁盘空间来存储备份。更多信息请参阅 第 11.1 节 “估算备份的大小”。
流程
要在没有 Pulp 内容的情况下执行离线备份,请输入以下命令:
satellite-maintain backup offline --skip-pulp-content /var/backup_directory
# satellite-maintain backup offline --skip-pulp-content /var/backup_directoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow
11.4. 执行增量备份 复制链接链接已复制到粘贴板!
使用这个流程对之前备份以来的任何更改进行离线备份。
要执行增量备份,您必须执行完整备份作为创建序列的第一个增量备份的参考。保留最新完整备份以及从中恢复的完整增量备份序列。
请求其他 Satellite 服务器或胶囊服务器用户以保存任何更改,并警告它们在备份期间 Satellite 服务不可用。确保没有调度其他任务与备份相同的时间。
先决条件
- 确保您的备份位置有足够的可用磁盘空间来存储备份。更多信息请参阅 第 11.1 节 “估算备份的大小”。
流程
要执行完整的离线备份,请输入以下命令:
satellite-maintain backup offline /var/backup_directory
# satellite-maintain backup offline /var/backup_directoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要在备份目录中创建目录以存储第一个增量备份,请使用-
incremental选项输入satellite-maintain backup命令:satellite-maintain backup offline --incremental /var/backup_directory/full_backup /var/backup_directory
# satellite-maintain backup offline --incremental /var/backup_directory/full_backup /var/backup_directoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要创建第二个增量备份,请使用--
incremental选项输入satellite-maintain backup命令,并包含第一个增量备份的路径,以指示下一个递增的起点。这会在备份目录中为第二个增量备份创建一个目录:satellite-maintain backup offline --incremental /var/backup_directory/first_incremental_backup /var/backup_directory
# satellite-maintain backup offline --incremental /var/backup_directory/first_incremental_backup /var/backup_directoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:如果要指向不同的备份版本,并使用该备份版本生成一系列递增,作为起点,您可以随时完成此操作。例如,如果要从完整备份而不是第一个或第二增量备份进行新的增量备份,指向完整备份目录:
satellite-maintain backup offline --incremental /var/backup_directory/full_backup /var/backup_directory
# satellite-maintain backup offline --incremental /var/backup_directory/full_backup /var/backup_directoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow
11.5. 每周完整备份示例,后跟每日增量备份 复制链接链接已复制到粘贴板!
以下脚本在星期日执行完整备份,后跟以下每个天的增量备份:每天执行增量备份都会创建一个新子目录。该脚本需要一个每日 cron 作业。
请注意,satellite-maintain backup 命令需要 /sbin 和 /usr/sbin 目录在 PATH 中,并使用-- assumeyes 选项跳过确认提示。
11.6. 执行在线备份 复制链接链接已复制到粘贴板!
与在线备份相关的风险
当您执行在线备份时,大多数 Satellite 服务都会保持运行并可用。关闭后台 worker 以确保备份的一致性。需要后台 worker 的操作处于待处理状态。备份过程可确保在备份过程中不会更改 Pulp 数据(/var/lib/pulp)。备份期间对 Pulp 数据的任何更改将导致重新启动备份过程,需要额外的时间。
请求其他 Satellite 服务器或胶囊服务器用户以保存任何更改,并警告它们,一些 Satellite 服务在备份期间可能不可用。确保没有调度其他任务与备份相同的时间。
先决条件
- 确保您的备份位置有足够的可用磁盘空间来存储备份。更多信息请参阅 第 11.1 节 “估算备份的大小”。
流程
要执行在线备份,请输入以下命令:
satellite-maintain backup online /var/backup_directory
# satellite-maintain backup online /var/backup_directoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第 12 章 从备份中恢复 Satellite 服务器或 Capsule 服务器 复制链接链接已复制到粘贴板!
您可以从作为 第 11 章 备份 Satellite 服务器和 Capsule 服务器 一部分创建的备份数据恢复 Satellite 服务器或 Capsule 服务器。这个过程概述了如何在生成备份的同一服务器上恢复备份,并在目标系统上删除备份涵盖的所有数据。如果原始系统不可用,置备具有相同配置设置和主机名的系统。
您不能在启用了 FIPS 的系统上恢复没有 FIPS 的系统备份。
12.1. 从完整备份中恢复 复制链接链接已复制到粘贴板!
使用这个流程从完整备份中恢复 Red Hat Satellite 或 Capsule 服务器。恢复过程完成后,所有进程都在线,所有数据库和系统配置都会恢复到备份时的状态。
先决条件
- 确保您正在恢复到正确的实例。Red Hat Satellite 实例必须具有与原始系统相同的主机名、配置和次版本(X.Y)。
- 确保您有一个现有的目标目录。目标目录从存档中包含的配置文件读取。
确保有足够的空间将这些数据存储在 Satellite 服务器或 Capsule 服务器的基本系统上,并在恢复后有足够的空间,以在备份中包含的
/etc/和/var/目录中包含所有数据。要检查目录使用的空间,请输入以下命令:
du -sh /var/backup_directory
# du -sh /var/backup_directoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要检查可用空间,请输入以下命令:
df -h /var/backup_directory
# df -h /var/backup_directoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow 添加--
total选项,以从多个目录中获取结果总数。确保所有 SELinux 上下文都正确。输入以下命令恢复正确的 SELinux 上下文:
restorecon -Rv /
# restorecon -Rv /Copy to Clipboard Copied! Toggle word wrap Toggle overflow
流程
选择安装 Satellite 或 Capsule 的适当方法:
- 要从连接的网络中安装 Satellite 服务器,请按照在 连接的网络环境中安装 Satellite 服务器 中的步骤操作。
- 要从断开连接的网络中安装 Satellite 服务器,请遵循 在断开连接的环境中安装 Satellite 服务器 中的步骤。
- 要安装胶囊服务器,请按照 安装胶囊式服务器 中的步骤操作。
-
将备份数据复制到 Satellite 服务器上的本地文件系统。使用
/var/或/var/tmp/。 运行恢复脚本。
satellite-maintain restore /var/backup_directory
# satellite-maintain restore /var/backup_directoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow 其中 backup_directory 是包含备份数据的时间戳目录或子目录。
恢复过程可能需要很长时间才能完成,因为要复制的数据量。
其他资源
-
若要进行故障排除,您可以检查
/var/log/foreman/production.log和/var/log/messages。
12.2. 从增量备份中恢复 复制链接链接已复制到粘贴板!
使用这个流程从增量备份中恢复 Satellite 或 Capsule 服务器。如果您有多个增量备份分支,请按时间顺序为您要恢复的 分支 选择完整备份和每个增量备份。
恢复过程完成后,所有进程都在线,所有数据库和系统配置都会恢复到备份时的状态。
流程
- 使用 第 12.1 节 “从完整备份中恢复” 中的说明恢复最后的完整备份。
-
从 Satellite 服务器上的本地文件系统中删除完整备份数据,例如
/var/或/var/tmp/。 -
将增量备份数据复制到 Satellite 服务器上的本地文件系统,例如
/var/或/var/tmp/。 按照相同的序列恢复增量备份:
satellite-maintain restore /var/backup_directory/FIRST_INCREMENTAL satellite-maintain restore /var/backup_directory/SECOND_INCREMENTAL
# satellite-maintain restore /var/backup_directory/FIRST_INCREMENTAL # satellite-maintain restore /var/backup_directory/SECOND_INCREMENTALCopy to Clipboard Copied! Toggle word wrap Toggle overflow
其他资源
-
若要进行故障排除,您可以检查
/var/log/foreman/production.log和/var/log/messages。
12.3. 使用虚拟机快照备份和恢复胶囊服务器 复制链接链接已复制到粘贴板!
如果您的胶囊服务器是虚拟机,您可以从快照中恢复。建议使用每周快照从中恢复。如果出现故障,您可以安装和配置新的胶囊服务器,然后从 Satellite 服务器同步数据库内容。
如果需要,部署新的胶囊服务器,确保主机名与之前相同,然后安装胶囊证书。您可能仍在您的系统上有它们,软件包名称以 -certs.tar 结尾,也可以创建新名称。按照安装 Capsule 服务器 中的步骤,直到您可以在 Satellite Web UI 中确认该胶囊服务器连接到 Satellite 服务器。然后,使用 第 12.3.1 节 “将内容从 Satellite 服务器同步到 Capsule 服务器” 从 Satellite 同步。
12.3.1. 将内容从 Satellite 服务器同步到 Capsule 服务器 复制链接链接已复制到粘贴板!
使用这个流程将内容从 Satellite 服务器同步到您的胶囊服务器。
先决条件
- 确保您选择胶囊服务器的相关组织和位置上下文,或者选择 Any Organization 和 Any Location。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Capsules。
- 选择您的 Capsule 服务器。
在 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 服务器上运行主机名和
命令。如果这两个命令都没有返回 Satellite 服务器的 FQDN,hostname-fsatellite-change-hostname脚本将无法完成。如果
hostname命令返回 Satellite 服务器的短名称而不是 FQDN,请在使用satellite-change-hostname脚本前,使用hostnamectl set-hostname My_Old_FQDN正确设置旧 FQDN。- 如果 Satellite 服务器安装了自定义 SSL 证书,请为主机的新 FQDN 获取新证书。如需更多信息,请参阅在连接的网络环境中安装 Satellite 服务器 中的 使用自定义 SSL 证书配置 Satellite 服务器。
流程
在服务器上,运行
satellite-change-hostname脚本,并提供新的主机名。选择以下任一方法:如果您的 Satellite 服务器安装了默认的自签名 SSL 证书:
satellite-change-hostname new-satellite \ --username My_Username \ --password 'My_Password'
# satellite-change-hostname new-satellite \ --username My_Username \ --password 'My_Password'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您的 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"
# 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"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 如果您已为新的 Satellite 服务器主机名创建了自定义 SSL 证书,请运行 Satellite 安装脚本来安装证书。有关安装自定义 SSL 证书的更多信息,请参阅在连接的网络环境中安装 Satellite 服务器中的将自定义 SSL 证书部署到 Satellite 服务器。
- 重新注册注册到 Satellite 服务器的所有主机和胶囊服务器。如需更多信息,请参阅 管理主机 中的 使用全局注册注册主机。
在所有 Capsule 服务器上,运行 Satellite 安装脚本来更新对新主机名的引用:
satellite-installer \ --foreman-proxy-foreman-base-url https://new-satellite.example.com \ --foreman-proxy-trusted-hosts new-satellite.example.com
# satellite-installer \ --foreman-proxy-foreman-base-url https://new-satellite.example.com \ --foreman-proxy-trusted-hosts new-satellite.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Satellite 服务器上,列出所有 Capsule 服务器:
hammer capsule list
# hammer capsule listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Satellite 服务器上,同步每个 Capsule 服务器的内容:
hammer capsule content synchronize \ --id My_Capsule_ID
# hammer capsule content synchronize \ --id My_Capsule_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 如果您使用 virt-who 代理,请使用新主机名更新 virt-who 配置文件。如需更多信息,请参阅 为虚拟机订阅 配置 virt-who 中的 修改 virt-who 配置。
-
如果使用外部身份验证,请在运行
satellite-change-hostname脚本后重新配置 Satellite 服务器以进行外部身份验证。如需更多信息,请参阅为 Red Hat Satellite 用户配置身份验证。
13.2. 重命名胶囊服务器 复制链接链接已复制到粘贴板!
Capsule 服务器的主机名由 Satellite 服务器组件和注册的所有主机引用。此流程可确保除了重命名胶囊服务器外,您还可以更新对新主机名的所有引用。
重命名您的胶囊服务器主机会关闭该主机上的所有 Satellite 服务。重命名完成后服务会重启。
先决条件
- 重命名之前备份您的胶囊服务器。如果您无法成功重命名它,请从备份中恢复。如需更多信息,请参阅 第 11 章 备份 Satellite 服务器和 Capsule 服务器。
在胶囊服务器上运行主机名和
命令。如果这两个命令都没有返回 Capsule 服务器的 FQDN,主机名-fsatellite-change-hostname脚本将无法完成。如果
hostname命令返回 Capsule 服务器的短名称而不是 FQDN,请在尝试使用satellite-change-hostname脚本前,使用hostnamectl set-hostname My_Old_FQDN正确设置旧 FQDN。
流程
在服务器上,为您的胶囊服务器生成一个新的证书存档文件。
如果您使用默认 SSL 证书,请重新生成默认的 SSL 证书:
capsule-certs-generate \ --certs-tar /root/new-capsule.example.com-certs.tar \ --foreman-proxy-fqdn new-capsule.example.com
# capsule-certs-generate \ --certs-tar /root/new-capsule.example.com-certs.tar \ --foreman-proxy-fqdn new-capsule.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 确保输入到
.tar文件的完整路径。- 如果您使用自定义 SSL 证书,请为您的胶囊服务器创建新的 SSL 证书。如需更多信息,请参阅安装 Capsule 服务器 中的 使用自定义 SSL 证书配置 Capsule 服务器。
在 Satellite 服务器上,将证书存档文件复制到您的胶囊服务器中。例如,将归档文件复制到
root用户的主目录中:scp /root/new-capsule.example.com-certs.tar root@capsule.example.com:
# scp /root/new-capsule.example.com-certs.tar root@capsule.example.com:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在您的胶囊服务器上运行
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
# satellite-change-hostname new-capsule.example.com \ --certs-tar /root/new-capsule.example.com-certs.tar \ --password 'My_Password' \ --username My_UsernameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 确保输入到
.tar文件的完整路径。-
如果您已经为胶囊服务器创建了自定义证书,请输入
capsule-certs-generate命令返回的satellite-installer命令,将证书部署到您的 Capsule 服务器。如需更多信息,请参阅 安装 Capsule 服务器 中的 将自定义 SSL 证书部署到 Capsule 服务器。 - 重新注册注册到您的胶囊服务器的所有主机。如需更多信息,请参阅 管理主机 中的 注册主机和设置主机集成。
在 Satellite Web UI 中更新 Capsule 主机名。
- 在 Satellite Web UI 中,进入到 Infrastructure > Capsules。
- 在列表中找到胶囊服务器,然后单击 Edit。
- 编辑 Name 和 URL 字段以匹配胶囊服务器的新主机名,然后单击 Submit。
- 在您的 DNS 服务器上,为胶囊服务器的新主机名添加记录,并删除之前主机名的记录。
第 14 章 维护 Satellite 服务器 复制链接链接已复制到粘贴板!
本章介绍了如何维护 Satellite 服务器的信息,包括如何从完整磁盘恢复 Pulp 的信息、如何使用审计记录以及如何清理未使用的任务。
14.1. 手动删除审计记录 复制链接链接已复制到粘贴板!
您可以使用 foreman-rake audits:expire 命令随时删除审计记录。
流程
使用
foreman-rake audits:expire命令删除审计记录:foreman-rake audits:expire days=Number_Of_Days
# foreman-rake audits:expire days=Number_Of_DaysCopy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令删除超过
Number_Of_Days的所有审计记录。
14.2. 自动删除审计记录 复制链接链接已复制到粘贴板!
您可以使用 Saved audits interval 设置自动删除审计记录。默认情况下,此设置为空,这意味着 Satellite 不会自动删除审计记录。
流程
- 在 Satellite Web UI 中,进入到 Administer > Settings。
- 在 General 选项卡中,找到 Saved audits interval 设置。
- 将 设置 的值设置为您希望 Satellite 删除审计记录的天数。
14.3. 匿名审计记录 复制链接链接已复制到粘贴板!
您可以使用 foreman-rake audits:anonymize 命令在数据库中维护审计记录时删除任何用户帐户或 IP 信息。您还可以使用 cron 任务在您想要的集合间隔内调度审计记录。
默认情况下,使用 foreman-rake audits:anonymize 命令匿名化超过 90 天的审计记录。您可以通过添加 days 选项并添加天数来指定保存审计记录的天数。
例如,如果要匿名化 7 天以上的审计记录,请输入以下命令:
foreman-rake audits:anonymize 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
# foreman-rake reports:expire days=7
14.5. 配置清理未使用的任务功能 复制链接链接已复制到粘贴板!
Satellite 执行常规清理,以减少数据库中的磁盘空间,并限制磁盘增长率。因此,Satellite 备份可以更快地完成,整体性能越高。
默认情况下,Satellite 会执行 cron 作业,该作业每天的 19:45 清理任务。Satellite 在清理过程中删除以下任务:
- 成功运行和 30 天以上的任务
- 所有超过一年的任务
您可以使用这些选项配置清理未使用的任务功能:
要配置 Satellite 运行 cron 作业的时间,请将
--foreman-plugin-tasks-cron-line参数设为您希望 cron 格式的时间。例如,要将 cron 任务调度到每天 15:00 运行,请输入以下命令:satellite-installer --foreman-plugin-tasks-cron-line "00 15 * * *"
# satellite-installer --foreman-plugin-tasks-cron-line "00 15 * * *"Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
要配置 Satellite 删除任务的周期,请编辑
/etc/foreman/plugins/foreman-tasks.yaml文件中的:rules:部分。 要在 Satellite 上禁用常规任务清理,请输入以下命令:
satellite-installer --foreman-plugin-tasks-automatic-cleanup false
# satellite-installer --foreman-plugin-tasks-automatic-cleanup falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要在 Satellite 上重新启用常规任务清理,请输入以下命令:
satellite-installer --foreman-plugin-tasks-automatic-cleanup true
# satellite-installer --foreman-plugin-tasks-automatic-cleanup trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow
14.6. 删除任务记录 复制链接链接已复制到粘贴板!
任务记录在 Satellite 中自动创建。您可以使用 foreman-rake foreman_tasks:cleanup 命令来随时删除任务。您还可以使用 cron 任务在您想要的集合间隔调度任务记录删除。
例如,如果要成功从存储库同步中删除任务记录,请输入以下命令:
foreman-rake foreman_tasks:cleanup TASK_SEARCH='label = Actions::Katello::Repository::Sync' STATES='stopped'
# foreman-rake foreman_tasks:cleanup TASK_SEARCH='label = Actions::Katello::Repository::Sync' STATES='stopped'
14.7. 按 ID 删除任务 复制链接链接已复制到粘贴板!
您可以按 ID 删除任务,例如,如果您错误地提交了机密数据。
流程
使用 SSH 连接到您的 Satellite 服务器:
ssh root@satellite.example.com
# ssh root@satellite.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:查看任务:
hammer task info --id My_Task_ID
$ hammer task info --id My_Task_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 删除任务:
foreman-rake foreman_tasks:cleanup TASK_SEARCH="id=My_Task_ID"
# foreman-rake foreman_tasks:cleanup TASK_SEARCH="id=My_Task_ID"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:确保任务已从 Satellite 服务器中删除:
hammer task info --id My_Task_ID
$ hammer task info --id My_Task_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,由于任务已被删除,这个命令会返回一个非零退出代码。
14.8. 从完整磁盘中恢复 复制链接链接已复制到粘贴板!
以下流程描述了如何解决其上具有 Pulp 数据库的逻辑卷(LV)时没有可用空间的情况。
流程
- 运行 Pulp 任务后,不要触发任何新的任务,因为它们可能会因为完整磁盘而失败。
确保带有
/var/lib/pulp目录的 LV 具有足够的可用空间。以下是实现这一点的一些方法:删除孤立内容:
foreman-rake katello:delete_orphaned_content RAILS_ENV=production
# foreman-rake katello:delete_orphaned_content RAILS_ENV=productionCopy to Clipboard Copied! Toggle word wrap Toggle overflow 这会每周运行,因此它不会释放太多空间。
- 尽可能将下载策略从 Immediate 改为 On Demand,并删除已下载的软件包。具体步骤请查看红帽知识库解决方案 如何将 Satellite 上的存储库同步策略从 "Immediate" 改为 "On-Demand "。
在带有
/var/lib/pulp目录的 LV 上增大文件系统。如需更多信息,请参阅 Red Hat Enterprise Linux 9 配置和管理逻辑卷 中的 增大 逻辑卷和文件系统。注意如果您使用 untypical 文件系统(除了 ext3、ext4 或 xfs)外,您可能需要卸载文件系统,使其不在使用中。在这种情况下,请完成以下步骤:
停止 Satellite 服务:
satellite-maintain service stop
# satellite-maintain service stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在 LV 上增大文件系统。
启动 Satellite 服务:
satellite-maintain service start
# satellite-maintain service startCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- 如果某些 Pulp 任务因为完整磁盘而失败,请再次运行它们。
14.9. 重新声明 PostgreSQL 空间 复制链接链接已复制到粘贴板!
PostgreSQL 数据库可以使用大量磁盘空间,特别是在大量负载的部署中。使用这个流程回收 Satellite 上的一些磁盘空间。
流程
停止除
postgresql服务外的所有服务:satellite-maintain service stop --exclude postgresql
# satellite-maintain service stop --exclude postgresqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 切换到
postgres用户并在数据库中回收空间:su - postgres -c 'vacuumdb --full --all'
# su - postgres -c 'vacuumdb --full --all'Copy to Clipboard Copied! Toggle word wrap Toggle overflow vacuum 完成后启动其他服务:
satellite-maintain service start
# satellite-maintain service startCopy to Clipboard Copied! Toggle word wrap Toggle overflow
14.10. 根据需要仓库中重新声明空间 复制链接链接已复制到粘贴板!
如果将 下载策略设置为 按需,Satellite 仅在客户端请求软件包时下载软件包。您可以清理这些软件包以回收空间。
空间回收需要现有的存储库。对于已删除的存储库,请等待下一个调度的孤立清理或手动删除孤立的内容:
foreman-rake katello:delete_orphaned_content
# foreman-rake katello:delete_orphaned_content
对于单个软件仓库
- 在 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 章 续订证书 复制链接链接已复制到粘贴板!
您可以在 Satellite Server 和 Capsule 服务器上续订 CA 证书或自定义 SSL 证书。
15.1. 规划自签名 CA 证书续订 复制链接链接已复制到粘贴板!
如果您需要更新 Satellite 服务器上的证书颁发机构(CA)证书,请添加新的 CA 证书,并使用临时双 CA 证书文件在续订过程中保留到 Satellite 服务器的 HTTPS 连接。
流程
- 将新的 SSL 证书添加到 Satellite 服务器上的 CA 证书文件并保留旧的 SSL 证书。
- 续订 Satellite 服务器和任何 Capsule 服务器上的证书。
- 在主机上部署双 CA 证书。
- 从 Satellite 服务器上的 CA 证书文件删除旧证书,因此 CA 证书文件仅包含新的 SSL 证书。
- 续订 Satellite 服务器和任何 Capsule 服务器上的证书。
- 在主机上部署新 CA 证书。
15.2. 续订 Satellite 服务器上的自定义 SSL 证书 复制链接链接已复制到粘贴板!
使用这个流程为 Satellite 服务器更新您的自定义 SSL 证书。
先决条件
-
您必须创建新的证书签名请求(CSR)并将其发送到证书颁发机构以签署证书。在创建新 CSR 之前,请参阅 使用自定义 SSL 证书指南 配置 Satellite 服务器,因为服务器证书必须具有 X.509 v3
Key Usage和Extended Key Usage扩展。在返回中,您将收到 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
# 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.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果命令成功,它会返回以下
satellite-installer命令。您可以使用这个命令将更新的 CA 证书部署到 Satellite 服务器:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
部署证书后不要删除证书文件。升级 Satellite 服务器时需要它们。
验证
-
从本地机器访问 Satellite Web UI。例如:
https://satellite.example.com。 - 在您的浏览器中,查看证书详情以验证部署的证书。
后续步骤
- 如果您在 Satellite 服务器上更改了 CA 证书,请在主机上刷新 CA 证书。如需更多信息,请参阅管理 主机 中的 在主机上刷新自签名 CA 证书。
15.3. 在 Capsule 服务器上更新自定义 SSL 证书 复制链接链接已复制到粘贴板!
使用这个流程为 Capsule 服务器更新您的自定义 SSL 证书。satellite-installer 命令( Capsule -certs-generate 命令返回)对每个 Capsule 服务器是唯一的。您不能在多个胶囊服务器上使用相同的命令。
先决条件
-
您必须创建新的证书签名请求,并将其发送到证书颁发机构以签署证书。在创建新 CSR 前,请参阅使用自定义 SSL 证书配置 Satellite 服务器 指南,因为 Satellite 服务器证书必须具有 X.509 v3
Key Usage和Extended Key Usage扩展。在返回中,您将收到胶囊服务器证书和 CA 捆绑包。
流程
在 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
# 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.pemCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Satellite 服务器上,为您的 Capsule 服务器生成证书存档文件:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Satellite 服务器上,将证书存档文件复制到您的胶囊服务器中:
scp /root/My_Certificates/capsule.example.com-certs.tar user@capsule.example.com:
# scp /root/My_Certificates/capsule.example.com-certs.tar user@capsule.example.com:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果需要,您可以将复制的文件移到适用的路径中。
-
保留
satellite-installer命令的副本,使capsule-certs-generate命令将证书部署到您的胶囊服务器。 使用
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"
# 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"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
部署证书后,请勿删除 Capsule 服务器上的证书存档文件。升级 Capsule 服务器时需要它们。
后续步骤
- 如果您在 Satellite 服务器上更改了 CA 证书,请在主机上刷新 CA 证书。如需更多信息,请参阅管理 主机 中的 在主机上刷新自签名 CA 证书。
第 16 章 同步模板存储库 复制链接链接已复制到粘贴板!
在 Satellite 中,您可以在 Satellite 服务器和版本控制系统或本地目录之间同步作业模板、置备模板、报告模板和分区表模板的存储库。
本节介绍安装和配置模板同步插件的工作流,以及执行导出和导入任务的工作流。
16.1. 将模板与现有存储库同步 复制链接链接已复制到粘贴板!
如果您在版本控制系统下的存储库中存储模板,您可以在 Satellite 服务器和存储库之间同步模板。
在此流程中,Git 存储库用于演示目的。
流程
如果要使用 HTTPS 连接到存储库,并在 Git 服务器上使用自签名证书颁发机构(CA):
在
/usr/share/foreman/目录下创建一个新目录,以存储证书的 Git 配置:mkdir --parents /usr/share/foreman/.config/git
# mkdir --parents /usr/share/foreman/.config/gitCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在新目录中创建一个名为
config的文件:touch /usr/share/foreman/.config/git/config
# touch /usr/share/foreman/.config/git/configCopy to Clipboard Copied! Toggle word wrap Toggle overflow 允许
foreman用户访问.config目录:chown --recursive foreman /usr/share/foreman/.config
# chown --recursive foreman /usr/share/foreman/.configCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用您自签名 CA 证书的路径为
foreman用户更新 Git 全局配置:sudo --user foreman git config --global http.sslCAPath Path_To_CA_Certificate
# sudo --user foreman git config --global http.sslCAPath Path_To_CA_CertificateCopy to Clipboard Copied! Toggle word wrap Toggle overflow
如果要使用 SSH 连接到存储库:
如果还没有密钥对,请创建 SSH 密钥对。不要指定密码短语。
sudo --user foreman ssh-keygen
# sudo --user foreman ssh-keygenCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
使用您 Satellite 中的公钥配置您的版本控制服务器,该公钥位于
/usr/share/foreman/.ssh/id_rsa.pub中。 以
foreman用户身份接受 Git SSH 主机密钥:sudo --user foreman ssh git.example.com
# sudo --user foreman ssh git.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow
在 Satellite Web UI 中,为您的 Git 存储库提供详情:
- 进入到 Administer > Settings。
- 单击 Template Sync 选项卡。
- 更改 Branch 设置,以定义存储库的目标分支。
- 更改 Repo 设置以定义存储库 URL。
-
如果要使用 HTTP 代理连接到存储库,请将 HTTP 代理策略设置改为
全局默认 HTTP 代理或自定义HTTP 代理。
后续步骤
- 要从存储库中导入模板,请继续 第 16.3 节 “导入模板”。
- 要将模板导出到您的仓库,请继续 第 16.4 节 “导出模板”。
16.2. 将模板与本地目录同步 复制链接链接已复制到粘贴板!
如果您将模板存储在版本控制系统下的本地目录中,您可以在 Satellite 服务器和本地目录间同步模板。
先决条件
每个模板必须包含模板所属位置和组织。这适用于所有模板类型。在导入模板前,请确保在模板中添加以下部分:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
流程
在 Satellite 服务器上,在
/var/lib/foreman中,创建一个用于存储模板的目录:mkdir /var/lib/foreman/My_Templates_Dir
# mkdir /var/lib/foreman/My_Templates_DirCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您可以将模板放在
/var/lib/foreman之外的自定义目录中,但您必须确保Foreman服务可以读取其内容。目录必须具有正确的文件权限和foreman_lib_tSELinux 标签。将新模板目录的所有者更改为
foreman用户:chown foreman /var/lib/foreman/My_Templates_Dir
# chown foreman /var/lib/foreman/My_Templates_DirCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
更改 Template Sync 选项卡上的 Repo 设置,使其与
/var/lib/foreman/My_Templates_Dir/目录匹配。
16.3. 导入模板 复制链接链接已复制到粘贴板!
您可以从您选择的存储库导入模板。您可以使用不同的协议指向您的存储库,如 /tmp/dir、git://example.com、https://example.com 和 ssh://example.com。
Satellite 提供的模板会被锁定,您无法默认导入它们。要覆盖此行为,请将 Template Sync 菜单中的 Force import 设置改为 yes,或将 force 参数 -d '{ "force": "true" }' 改为 import 命令。
先决条件
每个模板必须包含模板所属位置和组织。这适用于所有模板类型。在导入模板前,请确保在模板中添加以下部分:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
要使用 API,请参阅 API 流程。
要使用 Ansible,请参阅 Ansible 流程。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Templates > Sync Templates。
- 点 Import。
- 每个字段填充了 Administer > Settings > Template Sync 中配置的值。根据需要更改您要导入的模板的值。有关每个字段的详情请参考 第 B.3 节 “模板同步设置”。
- 点 Submit。
Satellite Web UI 显示导入的状态。状态不是持久性的;如果您离开状态页面,则无法返回。
CLI 过程
要从存储库导入模板,请输入以下命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为了更好地索引和管理模板,可使用-
prefix为您的模板设置类别。要从大型存储库中选择某些模板,可使用--filter定义您要导入的模板的标题。例如,--filter 'sysprepAnsible Default$'导入各种 Ansible 默认模板。
API 流程
发送
POST请求到api/v2/templates/import:curl -H "Accept:application/json" \ -H "Content-Type:application/json" \ -u login:password \ -k https://satellite.example.com/api/v2/templates/import \ -X POST
# curl -H "Accept:application/json" \ -H "Content-Type:application/json" \ -u login:password \ -k https://satellite.example.com/api/v2/templates/import \ -X POSTCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果导入成功,您会收到
{"message":"Success"}。
Ansible 流程
-
使用
redhat.satellite.templates_import模块。
如需更多信息,请参阅 ansible-doc redhat.satellite.templates_import 的 Ansible 模块文档。
16.4. 导出模板 复制链接链接已复制到粘贴板!
您可以将模板导出到现有存储库。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
要使用 API,请参阅 API 流程。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Templates > Sync Templates。
- 单击 Export。
- 每个字段填充了 Administer > Settings > Template Sync 中配置的值。根据需要更改您要导出的模板的值。有关每个字段的详情请参考 第 B.3 节 “模板同步设置”。
- 点 Submit。
Satellite Web UI 显示导出的状态。状态不是持久性的;如果您离开状态页面,则无法返回。
CLI 过程
要将模板导出到存储库,请输入以下命令:
hammer export-templates \ --organization "My_Organization" \ --repo "https://git.example.com/path/to/repository"
$ hammer export-templates \ --organization "My_Organization" \ --repo "https://git.example.com/path/to/repository"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意此命令克隆存储库,在提交中进行更改,并推送回存储库。您可以使用--
branch "My_Branch"选项将模板导出到特定分支。
API 流程
发送
POST请求到api/v2/templates/export:curl -H "Accept:application/json" \ -H "Content-Type:application/json" \ -u login:password \ -k https://satellite.example.com/api/v2/templates/export \ -X POST
# curl -H "Accept:application/json" \ -H "Content-Type:application/json" \ -u login:password \ -k https://satellite.example.com/api/v2/templates/export \ -X POSTCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果导出成功,您会收到
{"message":"Success"}。
您可以使用 -d 参数在请求中指定它们来覆盖默认的 API 设置。以下示例将模板导出到 git.example.com/templates 存储库:
第 17 章 日志记录和报告问题 复制链接链接已复制到粘贴板!
以下小节描述了 Satellite 中最常用的日志文件和调试工具。
17.1. Satellite 组件的日志记录级别 复制链接链接已复制到粘贴板!
您可以为单独的 Satellite 组件设置日志记录级别。默认日志级别为 info。您可以提高 Satellite 组件的日志记录级别,以对 Satellite 进行故障排除。将日志记录级别增加到 debug 提供了更详细的信息。
17.1.1. 增加 Foreman 的日志记录级别 复制链接链接已复制到粘贴板!
默认情况下,您可以在 /var/log/foreman/production.log 中找到日志。如需更多信息,请参阅 第 17.3 节 “配置日志记录类型和布局”。
流程
将日志记录级别设置为
debug:satellite-installer --foreman-logging-level debug
# satellite-installer --foreman-logging-level debugCopy to Clipboard Copied! Toggle word wrap Toggle overflow 完成调试后,将日志级别重置为默认值:
satellite-installer --reset-foreman-logging-level
# satellite-installer --reset-foreman-logging-levelCopy to Clipboard Copied! Toggle word wrap Toggle overflow
其他资源
如需有关 Satellite 日志记录设置的更多信息,请使用 satellite-installer with -full-help 选项:
satellite-installer --full-help | grep logging
# satellite-installer --full-help | grep logging
17.1.2. 增加 Hammer 的日志记录级别 复制链接链接已复制到粘贴板!
您可以在 ~/.hammer/log/hammer.log 中找到日志。
流程
在
/etc/hammer/cli_config.yml中,将:log_level:选项设置为debug::log_level: 'debug'
:log_level: 'debug'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
17.1.3. 增加 Capsule 的日志记录级别 复制链接链接已复制到粘贴板!
默认情况下,您可以在 /var/log/foreman-proxy/proxy.log 中查找日志。如需更多信息,请参阅 第 17.3 节 “配置日志记录类型和布局”。
流程
将日志记录级别设置为
debug:satellite-installer --foreman-proxy-log-level DEBUG
# satellite-installer --foreman-proxy-log-level DEBUGCopy to Clipboard Copied! Toggle word wrap Toggle overflow 完成调试后,将日志级别重置为默认值:
satellite-installer --reset-foreman-proxy-log-level
# satellite-installer --reset-foreman-proxy-log-levelCopy to Clipboard Copied! Toggle word wrap Toggle overflow
17.1.4. 增加 Candlepin 的日志记录级别 复制链接链接已复制到粘贴板!
您可以在 /var/log/candlepin/candlepin.log 和 /var/log/candlepin/error.log 中找到日志。
流程
将日志记录级别设置为
DEBUG:satellite-installer --katello-candlepin-loggers log4j.logger.org.candlepin:DEBUG
# satellite-installer --katello-candlepin-loggers log4j.logger.org.candlepin:DEBUGCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果 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
# 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:WARNCopy to Clipboard Copied! Toggle word wrap Toggle overflow 完成调试后,将日志级别重置为默认值:
satellite-installer --reset-katello-candlepin-loggers
# satellite-installer --reset-katello-candlepin-loggersCopy to Clipboard Copied! Toggle word wrap Toggle overflow
17.1.5. 增加 Redis 的日志记录级别 复制链接链接已复制到粘贴板!
您可以在 /var/log/redis/redis.log 中找到 Redis 的日志。
流程
在
/etc/redis/redis.conf中,将日志级别设置为debug:loglevel debug
loglevel debugCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重启 Redis 服务:
systemctl restart redis
# systemctl restart redisCopy to Clipboard Copied! Toggle word wrap Toggle overflow
运行 satellite-installer 会将设置恢复到默认值。
17.1.6. 增加 satellite-installer 的日志记录级别 复制链接链接已复制到粘贴板!
satellite-installer 将日志写入 /var/log/foreman-installer/。
流程
提高
satellite-installer工具的日志记录级别:satellite-installer --verbose-log-level debug
# satellite-installer --verbose-log-level debugCopy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,这只会影响标准输出,而不影响写入到磁盘的任何日志文件。
17.1.7. 增加 Pulp 的日志记录级别 复制链接链接已复制到粘贴板!
Pulp 日志记录到 systemd 日志。您可以使用 journalctl --unit 'pulpcore*' 来查看日志。
流程
在
/etc/pulp/settings.py中,将日志级别设置为DEBUG:LOGGING = {"dynaconf_merge": True, "loggers": {'': {'handlers': ['console'], 'level': 'DEBUG'}}}LOGGING = {"dynaconf_merge": True, "loggers": {'': {'handlers': ['console'], 'level': 'DEBUG'}}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启 Pulp 服务:
systemctl restart \ pulpcore-api \ pulpcore-content \ pulpcore-resource-manager \ pulpcore-worker@\*
# systemctl restart \ pulpcore-api \ pulpcore-content \ pulpcore-resource-manager \ pulpcore-worker@\*Copy to Clipboard Copied! Toggle word wrap Toggle overflow
运行 satellite-installer 会将设置恢复到默认值。
17.1.8. 增加 Puppet 代理的日志级别 复制链接链接已复制到粘贴板!
您可以在 /var/log/puppetlabs/puppet/ 中找到日志。
先决条件
- 您已在 Satellite 上启用了 Puppet。如需更多信息,请参阅使用 Puppet 集成管理配置中的启用 Puppet 与 Satellite 集成。
流程
将日志记录级别设置为
debug:satellite-installer --puppet-agent-additional-settings log_level:debug
# satellite-installer --puppet-agent-additional-settings log_level:debugCopy to Clipboard Copied! Toggle word wrap Toggle overflow
17.1.9. 增加 Puppet 服务器的日志记录级别 复制链接链接已复制到粘贴板!
您可以在 /var/log/puppetlabs/puppetserver/ 中找到日志。
先决条件
- 您已在 Satellite 上启用了 Puppet。如需更多信息,请参阅使用 Puppet 集成管理配置中的启用 Puppet 与 Satellite 集成。
流程
将日志记录级别设置为
debug:satellite-installer --puppet-server-additional-settings log_level:debug
# satellite-installer --puppet-server-additional-settings log_level:debugCopy to Clipboard Copied! Toggle word wrap Toggle overflow
17.2. 使用 Hammer CLI 配置日志记录级别 复制链接链接已复制到粘贴板!
您可以使用 Hammer 记录各种 Satellite 组件的调试信息。默认日志记录级别为 INFO。
要列出您可以使用
hammer更改的日志记录级别的组件:hammer admin logging --list
$ hammer admin logging --listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为所有组件设置
DEBUG级别日志记录:hammer admin logging --all --level-debug satellite-maintain service restart
$ hammer admin logging --all --level-debug # satellite-maintain service restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要为
所有组件设置 PRODUCTION 级别日志:hammer admin logging --all --level-production satellite-maintain service restart
$ hammer admin logging --all --level-production # satellite-maintain service restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为特定组件设置
DEBUG级别日志记录:hammer admin logging --components My_Component --level-debug satellite-maintain service restart
$ hammer admin logging --components My_Component --level-debug # satellite-maintain service restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要列出所有可用日志记录选项:
hammer admin logging --help
$ hammer admin logging --helpCopy to Clipboard Copied! Toggle word wrap Toggle overflow
17.3. 配置日志记录类型和布局 复制链接链接已复制到粘贴板!
默认情况下,Satellite 使用基于文件的日志记录。您可以使用 satellite-installer 更改日志记录类型和日志记录布局。
使用日志配置日志的步骤
输入以下
satellite-installer命令,将日志记录配置为journald服务:satellite-installer \ --foreman-logging-type journald \ --foreman-proxy-log JOURNAL
# satellite-installer \ --foreman-logging-type journald \ --foreman-proxy-log JOURNALCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选: 要检查日志消息,请使用
journalctl实用程序。例如:-
journalctl --unit foreman和journalctl --unit foreman-proxy显示foreman和foreman-proxy单元的消息 -
journalctl REQUEST=request_ID显示指定请求的消息
-
配置基于文件的日志记录的步骤
输入以下
satellite-installer命令来配置文件型日志:satellite-installer \ --reset-foreman-logging-type \ --reset-foreman-proxy-log
# satellite-installer \ --reset-foreman-logging-type \ --reset-foreman-proxy-logCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选: 要检查日志消息,请查看这些文件:
-
/var/log/foreman/production.log -
/var/log/foreman-proxy.log
-
将日志记录配置为 JSON 输出的步骤
在 Satellite 服务器上,启用
satellite-installer的日志记录到 JSON 输出:satellite-installer \ --foreman-logging-layout json \ --foreman-logging-type file
# satellite-installer \ --foreman-logging-layout json \ --foreman-logging-type fileCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:使用
jq检查日志消息:cat /var/log/foreman/production.log | jq
# cat /var/log/foreman/production.log | jqCopy to Clipboard Copied! Toggle word wrap Toggle overflow
其他资源
有关 Journal 的更多信息,请参阅 Red Hat Enterprise Linux 9 配置基本系统设置 中的 使用命令行查看日志。
17.4. 使用单个日志记录器进行选择调试 复制链接链接已复制到粘贴板!
您可以启用单独的日志记录器进行选择调试。
流程
启用所需的个别日志记录器。例如,要启用
sql和ldaploggers,请输入以下命令:satellite-installer \ --foreman-loggers ldap:true \ --foreman-loggers sql:true
# satellite-installer \ --foreman-loggers ldap:true \ --foreman-loggers sql:trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:将所有日志记录器重置为默认值:
satellite-installer --reset-foreman-loggers
# satellite-installer --reset-foreman-loggersCopy to Clipboard Copied! Toggle word wrap Toggle overflow
17.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- 从遥测记录调试信息。
模板- 从模板 renderer 组件记录信息。
17.6. 检索服务状态 复制链接链接已复制到粘贴板!
Satellite 使用一组后端服务。在进行故障排除时,您可以检查 Satellite 服务的状态。
流程
在 Satellite Web UI 中,进入到 Administer > About。
- 在 Smart Proxies 选项卡上,查看所有 Capsules 的状态。
- 在 Compute Resources 选项卡中,查看附加的计算资源提供程序的状态。
- 在 Backend System Status 表中,查看所有后端服务的状态。
CLI 过程
从数据库和 Satellite 服务获取信息:
hammer ping
$ hammer pingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 检查 systemd 中运行的服务的状态:
satellite-maintain service status
# satellite-maintain service statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
satellite-maintain service --help了解更多信息。执行健康检查:
satellite-maintain health check
$ satellite-maintain health checkCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
satellite-maintain health --help了解更多信息。
17.7. 重启服务 复制链接链接已复制到粘贴板!
Satellite 使用一组后端服务。在进行故障排除时,您可以重新启动服务(如果需要)。
流程
重启 Satellite 服务:
satellite-maintain service restart
# satellite-maintain service restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
17.8. 处理日志信息的工具 复制链接链接已复制到粘贴板!
您可以从日志文件收集信息,以对 Satellite 进行故障排除。
- sosreport
sos report命令从 Linux 系统收集配置和诊断信息,如运行的内核版本、载入的模块、运行服务以及系统和服务配置文件。此外,它还将收集有关红帽卫星的信息,如其后端服务和任务。此输出存储在位于/var/tmp/sosreport-XXX-20171002230919.tar.xz的 tar文件中。如需更多信息,请运行
sos report --help或查看 sosreport 是什么以及如何在 红帽知识库 中创建?重要sos report命令会在收集信息时删除安全信息,如密码、令牌和密钥。但是,tar 文件仍然可以包含有关 Satellite 服务器的敏感信息。将 tar 文件直接发送到预期的接收者,而不是公共目标。- foreman-tail
foreman-tail命令实时显示 Satellite 日志。如需更多信息,请参阅
foreman-tail (8)手册页。
17.9. 日志文件目录 复制链接链接已复制到粘贴板!
下表提供了 Satellite 服务器上所选日志目录的概述:
| 日志文件目录 | 日志文件内容的描述 |
|---|---|
|
| 订阅管理 |
|
| 安装程序 |
|
| Foreman 维护 |
|
| Foreman 代理 |
|
| Foreman |
|
| Apache HTTP 服务器 |
|
| 各种其他日志消息 |
|
| puppet |
|
| Candlepin web 服务日志 |
17.10. 系统日志元数据 复制链接链接已复制到粘贴板!
下表列出了 journald 服务在 Satellite 中使用的元数据。您可以使用此元数据过滤查询。
- AUDIT_ACTION
执行审计操作
示例:创建、更新或删除
- AUDIT_TYPE
审计资源类型
示例:主机、子网或 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
# awk '/add_loggers/,/^$/' /usr/share/foreman/config/application.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 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
- 用户登录名称
第 18 章 监控资源 复制链接链接已复制到粘贴板!
以下章节详细介绍了如何为受管系统配置监控和报告。这包括主机配置、内容视图、合规性、注册的主机、提升和同步。
18.1. 使用 Red Hat Satellite 内容仪表板 复制链接链接已复制到粘贴板!
Red Hat Satellite 内容仪表板包含各种小部件,它们提供主机配置、内容视图、合规性报告和当前注册的主机、提升和同步以及最新通知列表。
在 Satellite Web UI 中,进入到 Monitor > Dashboard 以访问内容仪表板。单击小部件并将其拖到不同的位置,可以重新安排仪表板。可用的小部件如下:
- 主机配置状态
配置状态概述以及在最后报告间隔期间与其关联的主机数量。下表显示了可能的配置状态的描述。
Expand 表 18.1. 主机配置状态 图标 状态 描述
已执行修改的主机且没有错误
在最后报告间隔期间成功执行修改的主机。
处于错误状态的主机
在最后报告间隔期间检测到错误的主机。
最后 35 分钟内的良好主机报告
主机没有错误,在最后 35 分钟内执行任何修改。
待处理的更改的主机
应用某些资源但 Puppet 配置为以
noop模式运行的主机。
没有同步主机
未同步的主机,在最后报告间隔期间没有收到报告。
没有报告的主机
在最后报告间隔期间没有收集到任何报告的主机。
禁用警报的主机
未监控的主机。
单击特定的配置状态,以查看与之关联的主机。
- 主机配置图
- pie 图显示配置状态的比例以及与其关联的所有主机的百分比。
- 最新事件
主机生成的消息列表,包括管理信息、产品更改和任何错误。
监控本节是否有发送到所有用户的全局通知,并检测任何异常活动或错误。
- 运行发布(最后 30 分钟)
- 图显示在最后的 puppet 间隔期间运行的 Puppet 代理分布,默认为 30 分钟。在这种情况下,每个列代表在 3 分钟期间从客户端接收的多个报告。
- 新主机
- 最近创建的主机的列表。单击主机以获取更多详细信息。
- 任务状态
- 所有当前任务的摘要,按其状态和结果分组。点数字查看对应的任务列表。
- 最新警告/错误任务
- 因警告或错误而停止的最新任务的列表。点任务查看更多详情。
- 发现的主机
- 通过 Discovery 插件在 provisioning 网络中检测到的所有裸机主机的列表。
- 最新勘误
- 用于注册到 Satellite 的主机的所有勘误的列表。
- 内容视图
- Satellite 中所有内容视图的列表及其发布状态。
- 同步概述
- 概述在 Satellite 中启用的所有产品或存储库,以及它们的同步状态。本节列出了同步队列中的所有产品。
- 主机集合
- Satellite 中的所有主机集合的列表及其状态,包括每个主机集合中的内容主机数量。
- virt-who 配置状态
从在环境中主机上运行的
virt-who守护进程接收的报告状态概述。下表显示了可能的状态。Expand 表 18.2. virt-who 配置状态 状态 描述 没有报告
未收到报告,因为 virt-who 配置部署期间发生错误,或者尚未部署配置,或者 virt-who 在调度的间隔期间无法连接到 Satellite。
没有更改
没有收到报告,因为虚拟机监控程序没有检测到虚拟机上的任何更改,或者 virt-who 无法在调度的时间间隔期间上传报告。如果您添加了虚拟机,但配置处于 No Change 状态,请检查 virt-who 是否正在运行。
确定
在调度间隔期间收到无错误的报告。
配置总数
virt-who 配置的总数。
点配置状态查看此状态中的所有配置。
小部件还会在 Latest Configuration Without Change 下的 No Change 状态列出了三个最新的配置。
- 最新合规性报告
- 最新合规性报告列表。每个合规性报告都显示许多通过(P)、失败(F)或其他规则(O)。单击主机以获取详细的合规性报告。点策略了解该策略的详情。
- 合规性报告明细
- pie 图显示合规报告的分布根据其状态。
- Red Hat Insights Actions
- Red Hat Insights 是一个嵌入在 Satellite 中的工具,用于检查环境并推荐您可以执行的操作。操作分为 4 个类别:可用性、稳定性、性能和安全性。
- Red Hat Insights 风险概述
表根据风险级别显示操作的分布。风险级别代表了操作的关键程度以及导致实际问题的可能性。可能的风险级别为: Low、Medium、High 和 Critical。
注意无法更改 Satellite Web UI 中显示的日期格式。
18.1.1. 管理任务 复制链接链接已复制到粘贴板!
Red Hat Satellite 保持发布所有计划或执行的任务的完整日志,如存储库同步、应用勘误表和内容视图。要查看日志,请导航到 Monitor > Satellite Tasks > Tasks。
在 Task 窗口中,您可以搜索特定的任务,查看其状态、详情以及自启动的时间。您还可以取消和恢复一个或多个任务。
这些任务使用 Dynflow 引擎进行管理。远程任务有一个超时,可以根据需要进行调整。
调整超时设置
- 在 Satellite Web UI 中,进入到 Administer > Settings。
- 在搜索框中输入 %_timeout,然后单击 Search。搜索应返回四个设置,包括描述。
- 在 Value 列中,点数字旁边的图标进行编辑。
- 输入所需值(以秒为单位),然后单击 Save。
在低带宽的情况下,调整 %_finish_timeout 值可能会有所帮助。在高延迟时,调整 %_accept_timeout 值可能会有所帮助。
初始化任务时,将检查任务中使用的任何后端服务,如 Candlepin 或 Pulp,以确保正常运行。如果检查失败,您将收到类似如下的错误:
There was an issue with the backend service candlepin: Connection refused – connect(2).
There was an issue with the backend service candlepin: Connection refused – connect(2).
如果后端服务检查功能导致任何问题,可以禁用它,如下所示。
禁用服务的检查
- 在 Satellite Web UI 中,进入到 Administer > Settings。
- 在搜索框中输入 check_services_before_actions,然后单击 搜索。
- 在 Value 列中,点图标编辑值。
- 从下拉菜单中选择 false。
- 点击 Save。
18.2. 配置 RSS 通知 复制链接链接已复制到粘贴板!
要查看 Satellite 事件通知警报,请点击屏幕右上角的 通知 图标。
默认情况下,Notifications 区域显示 Red Hat Satellite Blog 中发布的 RSS 源事件。
源每 12 小时刷新一次,会在有新事件可用时更新通知区域。
您可以通过更改 URL 源来配置 RSS 源通知。支持的源格式为 RSS 2.0 和 Atom。有关 RSS 2.0 源结构的示例,请查看 Red Hat Satellite 博客源。有关 Atom feed 结构的示例,请参见 Foreman 博客源。
配置 RSS 源通知
- 在 Satellite Web UI 中,进入到 Administer > Settings 并选择 Notifications 选项卡。
- 在 RSS URL 行中,点 Value 列中的编辑图标,并输入所需的 URL。
- 在 RSS 启用 行中,点 Value 列中的编辑图标启用或禁用此功能。
18.3. 监控 Satellite 服务器 复制链接链接已复制到粘贴板!
审计记录列出 Satellite 上所有用户所做的更改。此信息可用于维护和故障排除。
流程
- 在 Satellite Web UI 中,进入到 Monitor > Audits 来查看审计记录。
要获取所有审计属性的列表,请使用以下命令:
foreman-rake audits:list_attributes
# foreman-rake audits:list_attributesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
18.4. 监控胶囊服务器 复制链接链接已复制到粘贴板!
以下部分介绍了如何使用 Satellite Web UI 来查找对维护和故障排除有价值的 Capsule 信息。
18.4.1. 查看常规 Capsule 信息 复制链接链接已复制到粘贴板!
在 Satellite Web UI 中,进入到 Infrastructure > Capsules 以查看注册到 Satellite 服务器的 Capsule Servers 表。表中包含的信息可以回答以下问题:
- 胶囊服务器是否正在运行?
-
这通过 Status 列中的绿色图标表示。红色图标表示非活动胶囊,在胶囊服务器上使用
service foreman-proxy restart命令将其激活。 - Capsule 服务器上启用了哪些服务?
- 在 Features 列中,您可以验证胶囊是否提供 DHCP 服务或充当 Pulp 镜像。胶囊功能可在安装过程中启用,或者还配置。如需更多信息,请参阅安装 Capsule 服务器。
- 胶囊服务器分配给哪些机构和位置?
胶囊服务器可以分配给多个机构和位置,但只有属于当前所选组织的 Capsules 才会显示。要列出所有胶囊,请从左上角的上下文菜单中选择任何组织。
更改胶囊配置后,从 Actions 列中的下拉菜单中选择 Refresh,以确保 Capsule 表为最新版本。
单击 Capsule 名称以查看详细信息。在 Overview 选项卡中,您可以找到与 Capsule 表中相同的信息。另外,您可以回答以下问题:
- 哪些主机由胶囊服务器管理?
- 关联的主机数量显示在 Hosts managed label 旁边。单击数字,以查看关联的主机的详细信息。
- 胶囊服务器上有多少可用存储空间?
-
此时会显示
/var/lib/pulp中 Pulp 内容消耗的存储空间量。另外,胶囊中可用的剩余存储空间也可以确定。
18.4.2. 监控服务 复制链接链接已复制到粘贴板!
在 Satellite Web UI 中,进入到 Infrastructure > Capsules,然后点所选 Capsule 的名称。在 Services 选项卡中,您可以查找 Capsule 服务的基本信息,如 DNS 域列表或 Pulp worker 的数量。页面的外观取决于 Capsule 服务器上启用了哪些服务。提供更详细的状态信息的服务可以在 Capsule 页面中具有专用选项卡。更多信息请参阅 第 18.4.3 节 “监控 Puppet”。
18.4.3. 监控 Puppet 复制链接链接已复制到粘贴板!
在 Satellite Web UI 中,进入到 Infrastructure > Capsules,然后点所选 Capsule 的名称。在 Puppet 选项卡中,您可以找到以下内容:
- Puppet 事件摘要、最新 Puppet 运行概述以及 常规 子选项卡中相关主机的同步状态。
- Environments 子选项卡的 Puppet 环境列表。
在 Puppet CA 选项卡中,您可以找到以下内容:
- 证书状态概述以及 General 子选项卡的 autosign 条目数。
- 证书子选项卡中与 Capsule 关联的 CA 证书 表。您可以在此处检查证书到期数据,或通过单击 Revoke 将它取消证书。
- Autosign entries 子选项卡的 autosign 条目列表。您可以在此处单击 New 或单击 Delete 来创建一个条目。
只有在您的卫星中启用了 Puppet 时,Puppet 和 Puppet CA 选项卡才可用。
其他资源
- 如需更多信息,请参阅使用 Puppet 集成管理配置中的启用 Puppet 与 Satellite 集成。
第 19 章 使用 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 hash 语法。 -
@payload[:object]: Database object 用于由数据库操作(create、update、delete)触发的事件。不适用于自定义事件。 -
@payload[:context]: 附加信息作为哈希,如请求和会话 UUID、远程 IP 地址、用户、机构和位置。
由于 Webhook 使用 HTTP,因此不需要向现有 Web 服务添加新的基础架构。
Satellite 中 webhook 的典型用例是在创建或删除主机时调用监控系统。
Webhook 非常有用,在外部系统中要执行的操作可以通过其 API 来实现。如果需要运行其他命令或编辑文件,则胶囊的 shellhooks 插件可用。shellhooks 插件允许您在胶囊上定义可通过 API 执行的 shell 脚本。
您可以在不安装 shellhooks 插件的情况下成功使用 Webhook。
有关可用事件列表,请参阅 可用的 Webhook 事件。
19.1. 创建 webhook 模板 复制链接链接已复制到粘贴板!
Webhook 模板用于在触发 Webhook 时将 HTTP 请求的正文生成到配置的目标。使用以下步骤在 Satellite Web UI 中创建 webhook 模板。
流程
- 在 Satellite Web UI 中,进入到 Administer > Webhook > Webhook Templates。
- 单击 Clone an existing template 或 Create Template。
- 输入模板的名称。
使用编辑器更改模板有效负载。
Webhook HTTP 有效负载必须使用 Satellite 模板语法创建。webhook 模板可以使用一个名为
@object的特殊变量,它可以代表事件的主对象。当特定事件时,可以缺少@object。您可以通过@payload变量确定实际可用的数据。如需更多信息, 请参阅管理主机中的模板编写参考 以及可用的 模板宏和方法,请访问 Satellite 服务器上的
/templates_doc。- 可选:输入 description 和 audit 注释。
- 分配机构和位置。
- 点 Submit。
例子
在创建 webhook 模板时,您必须遵循模板的目标应用程序的格式。例如,应用程序可以期望带有 webhook 消息的 "文本" 字段。请参阅目标应用程序的文档,以了解更多有关 webhook 模板格式的内容。
- 运行远程执行作业
此 webhook 模板定义了一条包含远程执行作业的 ID 和结果的消息。使用此模板的 webhook 可以订阅到事件,如
Actions Remote Execution Run Host Job Succeeded或Actions Remote Execution Run Host Job Failed。{ "text": "job invocation <%= @object.job_invocation_id %> finished with result <%= @object.task.result %>" }{ "text": "job invocation <%= @object.job_invocation_id %> finished with result <%= @object.task.result %>" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 创建用户
此 webhook 模板定义了一条含有创建用户的登录和电子邮件的消息。使用此模板的 Webhook 应该订阅
User Created事件。{ "text": "user with login <%= @object.login %> and email <%= @object.mail %> created" }{ "text": "user with login <%= @object.login %> and email <%= @object.mail %> created" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow
19.2. 创建 Webhook 复制链接链接已复制到粘贴板!
您可以通过 Satellite Web UI 自定义事件、有效负载、HTTP 身份验证、内容类型和标头。
使用以下步骤在 Satellite Web UI 中创建 webhook。
流程
- 在 Satellite Web UI 中,进入到 Administer > Webhook > Webhooks。
- 点 Create new。
- 从 Subscribe to 列表中,选择一个事件。
- 输入 Webhook 的名称。
- 输入 目标 URL。Webhook 向预先配置的 URL 发出 HTTP 请求。目标 URL 可以是动态 URL。
- 单击 Template 以选择模板。触发 Webhook 模板时,用于为 Satellite 服务器生成 HTTP 请求的正文。
- 输入 HTTP 方法。
- 可选:如果您在创建 webhook 时不需要激活 webhook,请取消选中 Enabled 标志。
- 点 Credentials 选项卡。
- 可选:如果需要 HTTP 身份验证,请输入 User and Password。
- 可选:如果您不想根据系统证书存储或 Satellite CA 验证服务器证书,请取消选择 验证 SSL。
-
在 Additional 选项卡中,输入 HTTP Content Type。例如,在您定义的有效负载上,
application/json、application/xml或text/plain。应用程序不会尝试转换内容以匹配指定的内容类型。 - 可选:提供 HTTP 标头作为 JSON。也允许 ERB。
当使用非标准 HTTP 或 HTTPS 端口 配置端点时,必须分配 SELinux 端口,请参阅在连接的网络环境中安装 Satellite 服务器中的在自定义端口上访问 Satellite。
19.3. 可用的 Webhook 事件 复制链接链接已复制到粘贴板!
下表包含可从 Satellite Web UI 提供的 webhook 事件列表。操作事件只有在 成功 时触发 Webhook,因此如果没有操作失败,则不会触发 Webhook。
有关有效负载的更多信息,请参阅 Administer > About > ; Support > Templates DSL。下表中提供了可用类型的列表。有些事件被标记为 自定义,在这种情况下,有效负载是一个对象对象,但 Ruby 哈希(key-value 数据结构),因此语法有所不同。
| 事件名称 | 描述 | payload |
|---|---|---|
| Actions Katello Content View Promote Succeeded | 内容视图已被成功提升。 | Actions::Katello::ContentView::Promote |
| Actions Katello Content View Publish Succeeded | 存储库已成功同步。 | Actions::Katello::ContentView::Publish |
| 远程执行运行主机任务 Succeeded 操作 | 主机成功执行通用远程执行作业。完成后,所有远程执行任务都会发出此事件。 | Actions::RemoteExecution::RunHostJob |
| 操作远程执行运行主机任务 Katello 勘误安装 Succeeded | 使用 Katello 接口安装勘误。 | Actions::RemoteExecution::RunHostJob |
| 操作远程执行运行主机作业 Katello 组安装 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 Restart Succeeded 的操作 | 使用 Katello 接口重启 Services。 | Actions::RemoteExecution::RunHostJob |
| 操作远程执行运行主机任务 Katello 组更新 Succeeded | 使用 Katello 接口更新软件包组。 | Actions::RemoteExecution::RunHostJob |
| 操作远程执行运行主机任务 Katello Package Update Succeeded | 使用 Katello 接口更新软件包。 | Actions::RemoteExecution::RunHostJob |
| 操作远程执行运行主机作业 Foreman OpenSCAP 运行扫描 Succeeded | 运行 OpenSCAP 扫描。 | Actions::RemoteExecution::RunHostJob |
| 操作远程执行运行主机任务 Ansible 运行主机 Succeeded | 运行包含为主机定义的所有角色的 Ansible Playbook。 | Actions::RemoteExecution::RunHostJob |
| 操作远程执行运行主机作业 Ansible 运行胶囊升级 Succeeded | 升级给定胶囊服务器上的 Capsules。 | Actions::RemoteExecution::RunHostJob |
| 操作远程执行运行主机作业 Ansible 配置云连接器 Succeeded | 在给定主机上配置云连接器。 | Actions::RemoteExecution::RunHostJob |
| 操作远程执行运行主机作业 Ansible 运行 Insights Plan Succeeded | 从 Red Hat Access Insights 运行给定的维护计划 ID。 | Actions::RemoteExecution::RunHostJob |
| 操作远程执行运行主机作业 Ansible 运行 Playbook Succeeded | 针对给定主机运行 Ansible Playbook。 | Actions::RemoteExecution::RunHostJob |
| 操作远程执行运行主机作业 Ansible 启用 Web 控制台 Succeeded | 运行 Ansible Playbook,以在给定的主机上启用 Web 控制台。 | Actions::RemoteExecution::RunHostJob |
| 操作远程执行运行主机任务 Puppet 运行主机 Succeeded | 执行单个 Puppet 运行。 | Actions::RemoteExecution::RunHostJob |
| 远程执行运行主机任务 Katello 模块流操作 Action Succeeded | 使用 Katello 接口执行模块流操作。 | Actions::RemoteExecution::RunHostJob |
| 操作远程执行运行主机任务 Leapp 预升级 Succeeded | RHEL 7 主机的可升级性检查。 | Actions::RemoteExecution::RunHostJob |
| 操作远程执行运行主机任务 Leapp 修复计划 Succeeded | 使用 Leapp 运行修复计划。 | Actions::RemoteExecution::RunHostJob |
| 远程执行运行主机作业 Leapp 升级 Succeeded 操作 | 为 RHEL 7 主机运行 Leapp 升级作业。 | Actions::RemoteExecution::RunHostJob |
| 构建输入 | 进入构建模式的主机。 |
自定义事件:@ |
| Build Exited | 主机构建模式已被取消,无论是成功调配的,或者用户手动取消构建。 |
自定义事件:@ |
| 内容视图已创建/更新/Destroyed | 内容视图上的常见数据库操作。 | Katello::ContentView |
| domain Created/Updated/Destroyed | 域中常见的数据库操作。 | 域 |
| Host Created/Updated/Destroyed | 主机上的常见数据库操作。 | 主机 |
| hostgroup Created/Updated/Destroyed | hostgroup 上的常见数据库操作。 | hostgroup |
| Model createdd/Updated/Destroyed | 模型上的常见数据库操作。 | model |
| 状态 Changed | 主机的全局主机状态已改变。 |
自定义事件:@ |
| 创建的子网/更新/Destroyed | 子网上的常见数据库操作。 | subnet |
| 模板 Render 执行 | 报告模板已被呈现。 | 模板 |
| User Created/Updated/Destroyed | 用户的常见数据库操作。 | User |
19.4. Shellhooks 复制链接链接已复制到粘贴板!
使用 Webhook,您只能将一个 Satellite 事件映射到一个 API 调用。对于高级集成,其中单个 shell 脚本可以包含多个命令,您可以安装使用 REST HTTP API 公开可执行文件的 Capsule shellhooks 插件。
然后,您可以将 webhook 配置为连接到 Capsule API,以运行预定义的 shellhook。shellhook 是一个可执行脚本,可以使用提供它的任何语言编写。例如,shellhook 可以包含命令或编辑文件。
您必须将可执行脚本放在 /var/lib/foreman-proxy/shellhooks 中,其名称中只有一个字母数字字符和下划线。
您可以通过 Webhook 有效负载将输入传递给 shellhook 脚本。此输入重定向到 shellhook 脚本的标准输入。您可以使用 HTTP 标头来将参数传递给 shellhook 脚本,格式为 X-Shellhook-Arg-1 到 X-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 脚本的示例,请参阅 第 19.8 节 “创建 shellhook 以打印参数”。
19.5. 安装 shellhooks 插件 复制链接链接已复制到粘贴板!
另外,您还可以在每个用于 shellhooks 的 Capsule 上安装并启用 shellhooks 插件。
流程
运行以下命令:
satellite-installer --enable-foreman-proxy-plugin-shellhooks
# satellite-installer --enable-foreman-proxy-plugin-shellhooksCopy to Clipboard Copied! Toggle word wrap Toggle overflow
19.6. 使用 Webhook 将参数传递给 shellhook 脚本 复制链接链接已复制到粘贴板!
使用这个步骤通过 webhook 将参数传递给 shellhook 脚本。
流程
在创建 webhook 时,在 Additional 选项卡中,以以下格式创建 HTTP 标头:
{ "X-Shellhook-Arg-1": "VALUE", "X-Shellhook-Arg-2": "VALUE" }{ "X-Shellhook-Arg-1": "VALUE", "X-Shellhook-Arg-2": "VALUE" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 确保标头具有有效的 JSON 或 ERB 格式。仅传递不包括新行或带引号字符的数据库 ID、名称或标签等安全字段。
如需更多信息,请参阅 第 19.2 节 “创建 Webhook”。
Example
{
"X-Shellhook-Arg-1": "<%= @object.content_view_version_id %>",
"X-Shellhook-Arg-2": "<%= @object.content_view_name %>"
}
{
"X-Shellhook-Arg-1": "<%= @object.content_view_version_id %>",
"X-Shellhook-Arg-2": "<%= @object.content_view_name %>"
}
19.7. 使用 curl 将参数传递给 shellhook 脚本 复制链接链接已复制到粘贴板!
使用 curl 将参数传递给 shellhook 脚本。
流程
使用
curl执行 shellhook 脚本时,以以下格式创建 HTTP 标头:"X-Shellhook-Arg-1: VALUE" "X-Shellhook-Arg-2: VALUE"
"X-Shellhook-Arg-1: VALUE" "X-Shellhook-Arg-2: VALUE"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Example
19.8. 创建 shellhook 以打印参数 复制链接链接已复制到粘贴板!
创建一个简单的 shellhook 脚本,该脚本会在您运行远程执行作业时打印 Hello World!。
先决条件
已安装 webhook 和 shellhooks 插件。如需更多信息,请参阅:
流程
修改
/var/lib/foreman-proxy/shellhooks/print_args脚本,将参数打印到标准错误输出,以便您可以在 Capsule 日志中看到它们:#!/bin/sh # # Prints all arguments to stderr # echo "$@" >&2
#!/bin/sh # # Prints all arguments to stderr # echo "$@" >&2Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 在 Satellite Web UI 中,进入到 Administer > Webhook > Webhooks。
- 点 Create new。
- 从 Subscribe to 列表中,选择 Actions Remote Execution Run Host Job Succeeded。
- 输入 Webhook 的名称。
在 Target URL 字段中,输入您的 Capsule 服务器的 URL,后跟
:9090/shellhook/print_args:https://capsule.example.com:9090/shellhook/print_args
https://capsule.example.com:9090/shellhook/print_argsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,URL 中的
shellhook是单数,与shellhooks目录不同。- 从 Template 列表中,选择 Empty Payload。
- 在 Credentials 选项卡上,检查 Capsule Authorization。
在 Additional 选项卡中,在 Optional HTTP 标头 字段中输入以下文本:
{ "X-Shellhook-Arg-1": "Hello", "X-Shellhook-Arg-2": "World!" }{ "X-Shellhook-Arg-1": "Hello", "X-Shellhook-Arg-2": "World!" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 点 Submit。现在,您已成功创建了一个 shellhook,它会在每次远程执行作业成功时都会将 "Hello World!" 打印到 Capsule 日志。
验证
-
在任意主机上运行远程执行作业。您可以使用
时间作为命令。如需更多信息 ,请参阅管理主机中的执行远程作业。 验证 shellhook 脚本是否已触发,并将 "Hello World!" 打印到胶囊服务器日志:
tail /var/log/foreman-proxy/proxy.log
# tail /var/log/foreman-proxy/proxy.logCopy to Clipboard Copied! Toggle word wrap Toggle overflow 您应该在日志末尾找到以下行:
[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!
[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!Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第 20 章 搜索和书签 复制链接链接已复制到粘贴板!
Satellite 在 Satellite Web UI 的大部分页面上提供强大的搜索功能。它允许您搜索 Satellite 管理的所有资源。搜索接受免费文本和基于语法的查询,可以使用输入预测来构建。搜索查询可以保存为书签以供以后重复使用。
20.1. 构建搜索查询 复制链接链接已复制到粘贴板!
开始输入搜索查询时,会显示完成查询当前部分的有效选项列表。您可以从列表中选择一个选项,并使用预测来保留构建查询,或者继续输入。要了解搜索引擎如何解释自由文本,请参阅 第 20.2 节 “使用免费文本搜索”。
20.1.1. 查询语法 复制链接链接已复制到粘贴板!
parameter operator value
parameter operator value
可用字段、搜索的资源以及查询解释方式取决于上下文,即执行搜索的页面。例如,Hosts 页面中的字段 "hostgroup" 等同于 Host Groups 页面上的字段 "name"。字段类型还决定可用的运算符和可接受的值。
20.1.2. 查询 Operator 复制链接链接已复制到粘贴板!
下表中列出了可在 parameter 和value 之间使用的所有运算符。其他可能出现在 prediction-built 查询中的符号和特殊字符(如冒号)没有特殊含义,并被视为自由文本。
| Operator | 短名称 | 描述 | 示例 |
|---|---|---|---|
| = | 等于 | 接受数字、临时或文本值。对于文本,将返回精确区分大小写的匹配项。 |
|
| != | 不等于 | ||
| ~ | LIKE | 接受文本或临时值。返回敏感匹配项中的问题单。接受以下通配符: _ 表示单个字符%或 *,用于任意数量的字符(包括零)。如果没有指定通配符,则字符串被视为通配符周围:%rhel7% |
|
| !~ | 不喜欢 | ||
| > | 大于 | 接受数字或临时值。对于 temporal 值,operator > 被解释为"later than",< 显示为 "earlier than"。两个运算符都可以与 EQUALS: >= <= 结合使用 |
|
| < | 小于 | ||
| ^ | IN | 将表达式与值列表进行比较,如 SQL 中。返回包含或不包含值的匹配项。 |
|
| !^ | NOT IN | ||
| HAS 或设置? |
| 返回存在或不存在的值。 |
在 Puppet 类页面上
在具有主机概述的 Dashboard 上没有 |
| 否 HAS 或 null? |
|
遵循上述语法的简单查询可以使用逻辑运算符 AND、OR 和 NOT 组合成更复杂的查询。另外还接受 Operator 的替代表示法:
| Operator | 替代方案 | 示例 | ||
|---|---|---|---|---|
| 和 | & | && | <whitespace> |
|
| 或 | | | || |
|
|
| not | – | ! |
|
|
20.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 年 3 月 10 日"
- 今天,是的,是天,
避免模糊的日期格式,如 02/10/2017 或 10-02-2017。
20.2. 使用免费文本搜索 复制链接链接已复制到粘贴板!
当您输入自由文本时,它将在多个字段间搜索。例如,如果您输入"64",搜索将返回在其名称、IP 地址、MAC 地址和架构中具有该数字的所有主机。
多词语查询必须用引号括起,否则空格被解释为 AND 运算符。
由于在所有字段中搜索,自由文本搜索结果不准确,并且搜索速度可能会很慢,特别是在大量主机上。因此,我们建议您避免自由文本,并尽可能使用更为具体的、基于语法的查询。
20.3. 管理书签 复制链接链接已复制到粘贴板!
您可以将搜索查询保存为书签以供重复使用。您还可以删除或修改书签。
书签仅在创建它们的页面中出现。在某些页面中,有可用于通用搜索的默认书签,例如,所有 活跃 或禁用 的主机。
20.3.1. 创建书签 复制链接链接已复制到粘贴板!
本节详细介绍了如何将搜索查询保存为书签。您必须在相关页面上保存搜索查询,才能为该页面创建书签,例如,在 Hosts 页面上保存主机相关的搜索查询。
流程
- 在 Satellite Web UI 中,导航到您要创建书签的页面。
- 在 Search 字段中输入您要保存的搜索查询。
- 选择 Search 按钮右侧的箭头,然后选择 Bookmark this search。
- 在 Name 字段中输入新书签的名称。
- 在 Search query 字段中,确保您的搜索查询正确。
确保正确设置了 公共复选框 :
- 选中 Public 复选框,将书签设置为公共,并对所有用户可见。
- 清除 公共复选框,将书签设置为私有,并且仅对创建它的用户可见。
- 点 Submit。
要确认创建,请选择 Search 按钮右侧的箭头来显示书签列表,或者导航到 Administer > Bookmarks,然后检查 书签 名称的 Bookmarks 列表。
20.3.2. 删除书签 复制链接链接已复制到粘贴板!
您可以删除书签页面中的书签。
流程
- 在 Satellite Web UI 中,进入到 Administer > Bookmarks。
- 在 Bookmarks 页面上,为您要删除的书签单击 Delete。
- 打开确认窗口后,单击 OK 以确认删除。
要确认删除,请检查 书签 名称的书签列表。
20.4. 使用键盘快捷键 复制链接链接已复制到粘贴板!
您可以使用键盘快捷方式快速关注搜索栏。
-
要集中垂直导航栏,请按
Ctrl + Shift + F。 -
要集中页面搜索栏,请按
/。
附录 A. 在 Satellite 服务器或 Capsule 服务器的基本操作系统上管理软件包 复制链接链接已复制到粘贴板!
Satellite 提供 satellite-maintain package 命令,用于在 Satellite 服务器或 Capsule 服务器的基本操作系统中安装和更新软件包。
使用 dnf 安装和更新单个软件包会默认锁定,且不被支持。虽然 Satellite 提供了 satellite-maintain package unlock 命令来绕过锁定并使用 dnf 启用软件包管理,这可能会导致配置不一致并破坏系统的稳定性。始终使用 satellite-maintain 软件包来安装和更新软件包。
在基本操作系统中安装或升级软件包后,需要运行 satellite-installer。satellite-maintain package 命令在使用 satellite-installer 来安装或更新软件包后自动运行。请注意,如果更新软件包受影响的服务配置,运行 satellite-installer 可能会触发服务重启。
| 子命令 | 描述 |
|---|---|
satellite-maintain packages install My_Package
| 在 Satellite 服务器或 Capsule 服务器上安装软件包 |
satellite-maintain packages check-update
| 检查 Satellite 服务器或 Capsule 服务器上可用的软件包更新 |
satellite-maintain packages update
| 更新 Satellite 服务器或 Capsule 服务器上的所有软件包 |
satellite-maintain packages update My_Package
| 更新 Satellite 服务器或 Capsule 服务器上的特定软件包 |
satellite-maintain packages lock
|
通过防止用户使用 |
其他资源
- 有关将 Satellite 更新至下一个补丁版本的详情,请参考 更新 Red Hat Satellite。
-
有关使用
satellite-maintain 软件包的完整参考,请参阅satellite-maintain 软件包 --help 的帮助。
附录 B. 管理设置 复制链接链接已复制到粘贴板!
本节包含有关您可以在 Satellite Web UI 中编辑的设置的信息,方法是导航到 Administer > Settings。
B.1. 常规设置 复制链接链接已复制到粘贴板!
| 设置 | 默认值 | 描述 |
|---|---|---|
| 管理员电子邮件地址 | 默认管理员电子邮件地址 | |
| Satellite URL | 您的 Satellite 实例可以访问的 URL。另请参阅 Provisioning > Unattended URL。 | |
| 每个页面的条目 | 20 | Satellite 中每个页面显示的记录数 |
| 修复 DB 缓存 | 否 |
Satellite 维护一个权限和角色的缓存。当设置为 |
| DB 等待 seed | 否 |
|
| Capsule 请求超时 | 60 | 打开并从 Satellite 到 Capsule 的 HTTP 请求读取超时(以秒为单位)。 |
| 登录页页脚文本 | 要在登录页面页脚中显示的文本。 | |
| HTTP (S)代理 | 为来自 Satellite 产品的传出 HTTP (S)连接设置代理。系统范围的代理必须在操作系统级别配置。 | |
| HTTP (S)代理,除了主机 | [] | 设置不代理请求的主机名。默认情况下,排除对本地主机的请求。 |
| 显示实验室 | 否 | 是否要显示访问实验实验功能的菜单(需要重新加载页面)。 |
| 显示主机的 FQDN | 是 |
如果设置为 |
| 不同步间隔 | 30 |
主机定期报告,报告之间的时间在分钟内超过这一持续时间,则主机被视为不同步。您可以通过在 Hosts > All hosts > $host > Edit > Parameters > Add Parameter 处添加 |
| Satellite UUID | Satellite 实例 ID。唯一标识 Satellite 实例。 | |
| 默认语言 | 新用户的 UI 使用这个语言。 | |
| 默认时区 | 用于新用户的时区。 | |
| 实例标题 | 实例标题显示在顶部导航栏中(需要重新加载页面)。 | |
| 保存的审计间隔 | 保留审计数据的持续时间(以天为单位)。留空,以禁用审计清理。 | |
| 新主机详情 UI | 是 | Satellite 加载新的 UI,以获取主机详情。 |
B.2. Satellite 任务设置 复制链接链接已复制到粘贴板!
| 设置 | 默认值 | 描述 |
|---|---|---|
| 同步任务超时 | 120 | 在引发异常前等待同步任务完成的秒数。 |
| 启用 dynflow 控制台 | 是 |
启用 dynflow 控制台( |
| 对于 dynflow 控制台,需要 auth | 是 | 在访问 dynflow 控制台前,用户必须验证其具有管理权限。 |
| Capsule 操作重试计数 | 4 | 在失败前,允许在 Capsule 上启动任务的尝试次数。 |
| Capsule 操作重试间隔 | 15 | 重试间隔的时间(以秒为单位)。 |
| 允许胶囊批处理任务 | 是 | 在胶囊上启用批处理触发任务。 |
| Capsule 任务批处理大小 | 100 |
如果启用了 |
| 对 URL 的任务故障排除 |
指向任务故障排除文档的 URL。它应该包含一个 | |
| 轮询间隔倍 | 1 | 用于多于默认轮询间隔的轮询倍数。您可以使用此选项来防止长时间运行任务的轮询太频繁。 |
B.3. 模板同步设置 复制链接链接已复制到粘贴板!
| 设置 | 默认值 | 描述 |
|---|---|---|
| 关联 | New | 将模板与操作系统、组织和位置关联。 |
| 分支 | Git 仓库中的默认分支。 | |
| 提交消息 | Satellite 用户制作的模板导出 | 导出模板的自定义提交消息。 |
| dirname | / | 包含模板的 Git 存储库中的目录。 |
| Filter | 导入或导出与此正则表达式匹配的名称。不区分大小写。未过滤片断。 | |
| 强制导入 | 否 |
如果设置为 |
| HTTP 代理策略 | 全局默认 HTTP 代理 | 是否使用 HTTP 代理同步模板。
只有在所选机构下配置了 HTTP 代理,且您的帐户被分配了 view_http_proxies 权限时, |
| 锁定模板 | 保留,不要锁定新的 | 如何处理导入模板的锁定。 |
| 元数据导出模式 | 刷新 | 默认元数据导出模式。 可能的选项:
|
| negate | 否 | negate 用于导入或导出的过滤器。 |
| prefix | 添加作为导入模板的前缀的字符串。 | |
| 仓库 | 从中导入或导出模板的目标路径。可以使用不同的协议,例如:
将 导出到 | |
| 详细程度 | 否 | 选择 Rake 任务导入模板的详细程度。 |
B.4. 发现设置 复制链接链接已复制到粘贴板!
| 设置 | 默认值 | 描述 |
|---|---|---|
| 发现位置 | 指明将发现的主机放入的默认位置。 | |
| 发现机构 | 指明将发现的主机添加到的默认机构。 | |
| 接口事实 | discovery_bootif | 用于主接口检测的事实名称。 |
| 创建绑定接口 | 否 | 如果使用 LLDP 在同一 VLAN 上检测到另一个接口,则自动创建绑定接口。 |
| 清理所有事实 | 否 | 在置备过程中清理所有报告的事实(除发现事实外)。 |
| 主机名事实 | discovery_bootif | 用于主机名的事实列表(com separated, first wins)。 |
| 自动置备 | 否 | 使用调配规则自动调配新发现的主机。 |
| 重启 | 是 | 在置备过程中自动重新引导或 kexec 发现的主机。 |
| 主机名前缀 | mac | 用于主机名的默认前缀。必须以字母开头。 |
| 事实列 | 在主机列表中显示的额外事实列(以分隔)。 | |
| 突出显示的事实 |
整理突出显示部分事实的正则表达式 - 例如 | |
| 存储事实 | 整理 storage 部分事实的正则表达式。 | |
| 软件事实 | 用于组织软件部分事实的正则表达式。 | |
| 硬件事实 | 用于组织硬件部分事实的正则表达式。 | |
| 网络事实 | 用于组织 network 部分事实的正则表达式。 | |
| IPMI 事实 | 整理 智能平台管理接口 (IPMI)部分的事实的正则表达式。 | |
| Lock PXE | 否 | 自动生成 预启动执行环境 (PXE)配置,将新发现的主机固定到发现。 |
| 锁定 PXELinux 模板名称 | pxelinux_discovery | 在将主机固定到发现时使用的 pxelinux 模板。 |
| 锁定 PXEGrub 模板名称 | pxegrub_discovery | 将主机固定到发现时使用的 PXEGrub 模板。 |
| 锁定 PXEGrub2 模板名称 | pxegrub2_discovery | 将主机固定到发现时使用的 PXEGrub2 模板。 |
| 强制 DNS | 是 | 在置备发现的主机时强制创建 DNS 条目。 |
| 现有 NIC 中的错误 | 否 | 不要允许发现与置备 网络接口卡 (NIC) (早期错误)的 MAC 匹配的现有主机。 |
| 名称生成器类型 | 事实 + 前缀 | 发现主机名命名模式. |
| Prefer IPv6 | 否 | 在调用发现的节点时,首选 IPv6 到 IPv4。 |
B.5. 引导磁盘设置 复制链接链接已复制到粘贴板!
| 设置 | 默认值 | 描述 |
|---|---|---|
| iPXE 目录 |
| 包含 iPXE 镜像的目录路径。 |
| ISOLINUX 目录 |
| 包含 ISOLINUX 镜像的目录路径。 |
| SYSLINUX 目录 |
| 包含 SYSLINUX 镜像的目录路径。 |
| Grub2 目录 |
|
包含 |
| 主机镜像模板 | 引导磁盘 iPXE - 主机 | 用于特定于主机的引导磁盘的 iPXE 模板。 |
| 通用镜像模板 | 引导磁盘 iPXE - 通用主机 | 用于通用主机引导磁盘的 iPXE 模板。 |
| 通用 Grub2 EFI 镜像模板 | 引导磁盘 Grub2 EFI - 通用主机 | Grub2 模板,用于通用 可扩展固件接口 (EFI)主机引导磁盘。 |
| ISO 生成命令 | genisoimage |
要生成 ISO 镜像的命令,请使用 |
| 安装介质缓存 | 是 | 为完整主机镜像缓存安装介质文件。 |
| 允许的 bootdisk 类型 | [generic, host, full_host, subnet] | 允许引导磁盘类型列表。留空以禁用它。 |
B.6. Red Hat Cloud 设置 复制链接链接已复制到粘贴板!
| 设置 | 默认值 | 描述 |
|---|---|---|
| 自动清单上传 | 是 | 启用自动将主机清单上传到红帽云。 |
| 自动同步建议 | 否 | 启用从红帽云自动同步 Insights 建议。 |
| 模糊主机名 | 否 | 发送到红帽云的模糊主机名。 |
| 模糊主机 ipv4 地址 | 否 | 发送到红帽云的模糊 IPv4 地址。 |
| RHC 守护进程的 ID | ***** | RHC 守护进程 ID。 |
B.7. 内容设置 复制链接链接已复制到粘贴板!
| 设置 | 默认值 | 描述 |
|---|---|---|
| 默认 HTTP 代理 | 用于同步内容的默认 HTTP 代理。 | |
| 默认同步操作系统置备模板 | Kickstart 默认 | 用于从同步内容创建的操作系统的默认置备模板。 |
| 默认同步操作系统完成模板 | Kickstart 默认完成 | 用于从同步内容创建的新操作系统的默认完成模板。 |
| 默认同步操作系统用户数据 | Kickstart 默认用户数据 | 从同步内容创建的新操作系统的默认用户数据。 |
| 默认同步 OS PXELinux 模板 | Kickstart 默认 PXELinux | 用于从同步内容创建的新操作系统的默认 PXELinux 模板。 |
| 默认同步 OS PXEGrub 模板 | Kickstart 默认 PXEGrub | 用于从同步内容创建的新操作系统的默认 PXEGrub 模板。 |
| 默认同步 OS PXEGrub2 模板 | Kickstart 默认 PXEGrub2 | 用于从同步内容创建的新操作系统的默认 PXEGrub2 模板。 |
| 默认同步 OS iPXE 模板 | Kickstart 默认 iPXE | 用于从同步内容创建的新操作系统的默认 iPXE 模板。 |
| 默认同步操作系统分区表 | Kickstart 默认 | 从同步内容创建的新操作系统的默认分区表。 |
| 默认同步 OS kexec 模板 | 发现 Red Hat kexec | 用于从同步内容创建的新操作系统的默认 kexec 模板。 |
| 默认同步 OS Atomic 模板 | Atomic Kickstart 默认 | 用于从同步内容创建的新原子操作系统的默认置备模板。 |
| 清单刷新超时 | 1200 | 刷新清单时超时(以秒为单位)。 |
| 启用订阅连接 | 是 | 可以与 Red Hat Portal 进行通信订阅。 |
| 从内容视图中可安装勘误 | 否 | 仅在主机的内容视图和生命周期环境中的勘误计算勘误表主机状态。 |
| 限制 Composite 内容视图提升 | 否 | 如果启用,则无法发布或提升复合内容视图,除非它在目标环境中存在的内容视图版本。 |
| 在操作前检查服务 | 是 | 在执行操作前,请检查后端服务的状态,如 pulp 和 candlepin? |
| 用于同步存储库的批处理大小 | 100 | 在胶囊上应同步多少个存储库。数值越小,可能会导致同步时间更长。较大的值会增加 dynflow 负载。 |
| 内容视图提升后同步胶囊 | 是 | 内容视图提升后是否自动同步 Capsule。 |
| 默认自定义存储库下载策略 |
|
自定义存储库的默认下载策略。 |
| 默认红帽存储库下载策略 |
|
启用红帽软件仓库的默认下载策略。 |
| 默认胶囊下载策略 |
|
胶囊同步的默认下载策略。 |
| Pulp 导出目标文件路径 |
| 导出的存储库的磁盘位置。 |
| Pulp 3 导出目标文件路径 |
| Pulp 3 导出存储库的磁盘位置。 |
| Pulp 客户端密钥 |
| 用于 Pulp 服务器身份验证的 SSL 密钥路径。 |
| Pulp 客户端证书 |
| 用于 Pulp 服务器身份验证的 SSL 证书的路径。 |
| 同步连接超时 | 300 | 同步时连接的超时时间(以秒为单位)。 |
| 取消注册后删除主机 | 否 | 使用 subscription-manager 取消主机注册时,也会删除主机记录。也可能删除链接到主机(如虚拟机和 DNS 记录)的受管资源。 |
| 订阅管理器名称注册事实 |
使用 subscription-manager 注册主机时,强制将指定的事实用于主机名(以 | |
| 订阅管理器名称注册事实严格匹配 | 否 |
如果启用了此设置,并且设置了 |
| 默认位置订阅主机 | 默认位置 | 注册后存储新订阅主机的默认位置。 |
| 很快过期 | 120 | 在提醒续订前,订阅中剩余的天数。 |
| 内容视图依赖默认 | 否 | 用于新内容视图的默认依赖关系定位值。 |
| 主机重复 DMI UUID | [] | 如果主机因为重复的 桌面管理接口 (DMI) UUID 而无法注册,请在此处添加以逗号分隔的值。后续注册为受影响的主机生成唯一的 DMI UUID。 |
| 主机配置文件声明 | 是 | 如果其他主机没有使用注册 DMI UUID,则启用新主机注册以假设使用匹配主机名注册的配置文件。 |
| 主机配置文件可在构建中改变 | 否 | 如果主机处于构建模式,则启用 主机注册 以绕过主机配置文件。 |
| 主机只能重新注册构建 | 否 | 只有主机处于构建模式时,启用主机才能重新注册。 |
| Host Tasks Workers Pool Size | 5 | 池中的 worker 数量,以处理主机相关任务的执行。当设置为 0 时,使用默认队列。需要重启 dynflowd/foreman-tasks 服务。 |
| 适用性批处理大小 | 50 | 要处理每个任务的主机适用性计算数量。 |
| Autosearch | 是 | 对于支持它的页面,请在搜索输入中输入时自动执行搜索。 |
| Autosearch delay | 500 | 如果启用了 Autosearch,在键入时执行搜索前的延迟(毫秒)。 |
| Pulp 批量负载大小 | 2000 | 从单个页面 Pulp API 调用中获取的项目数量。 |
| 上传没有 Dynflow 的配置集 | 是 | 启用 Katello 以更新主机安装的软件包、启用的存储库和模块清单,而不是直接嵌套在 Dynflow 任务中(如果 Puma 进程使用太多内存),不要关闭它。 |
| 孤立内容保护时间 | 1440 | 将孤立内容视为孤立的时间(以分钟为单位)。 |
| 首选通过 Capsule 注册进行远程执行 | 否 | 更喜欢使用在使用远程执行时注册主机的代理。 |
| 允许在公布的内容视图中删除存储库 | 是 | 启用删除用户之前在一个或多个内容视图版本中发布的存储库。 |
B.8. 身份验证设置 复制链接链接已复制到粘贴板!
| 设置 | 默认值 | 描述 |
|---|---|---|
| OAuth 处于活动状态 | 是 | Satellite 将使用 OAuth 进行 API 授权。 |
| OAuth 消费者密钥 | ***** | OAuth 消费者密钥。 |
| OAuth 消费者 secret | ***** | OAuth 消费者机密。 |
| OAuth 映射用户 | 否 | Satellite 根据 request-header 中的 username 映射用户。如果禁用,OAuth 请求具有管理员权限。 |
| 登录尝试失败限制 | 30 | Satellite 在指定次数的登录尝试失败后阻止用户从传入 IP 地址登录 5 分钟。设置为 0 以禁用暴力保护。 |
| 限制注册的 Capsules | 是 | 只有已知的 Capsules 才能访问使用胶囊身份验证的功能。 |
| 需要 SSL 用于胶囊 | 是 |
客户端 SSL 证书用于识别 Capsules (应启用 |
| 可信主机 | [] | 除了 Capsule 之外,访问事实/报告导入器和 ENC 输出外要信任的主机名、IPv4、IPv6 地址或子网的列表。 |
| SSL 证书 |
| Satellite 用来与其代理通信的 SSL 证书路径。 |
| SSL CA 文件 |
| Satellite 用来与其代理通信的 SSL CA 文件路径。 |
| SSL 私钥 |
| 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 密钥 |
| Satellite 用来加密 websocket 的私钥文件路径。 |
| Websocket SSL 证书 |
| Satellite 用来加密 websocket 的证书路径。 |
| Websocket 加密 | 是 |
VNC/SPICE websocket 代理控制台访问加密(需要 |
| 登录委托退出 URL | 在注销时将用户重定向到此 URL。启用 授权登录委托。 | |
| 授权登录委托身份验证源用户 autocreate | 外部 | 创建外部身份验证用户未知的外部身份验证源的名称(请参阅 授权登录委派)。空表示没有自动创建。 |
| 授权登录委托 | 否 |
使用 |
| 授权登录委托 API | 否 |
另外,为 API 调用授权登录委托使用 |
| 空闲超时 | 60 | 在指定分钟数后注销闲置用户。 |
| bcrypt 密码成本 | 9 | 内部 auth-sources 的 bcrypt 密码哈希功能的成本值(4 swig-wagon30)。数值越高,但验证速度较慢,特别是无状态 API 调用和 UI 登录。需要更改密码才能影响现有密码。 |
| BMC 凭证访问 | 是 | 允许通过 ENC YAML 输出和模板中访问 BMC 接口密码。 |
| OIDC JWKs URL |
OpenID Connect JSON Web 密钥设置 (JWKS) URL。当使用 Keycloak 作为 OpenID 供应商时, | |
| OIDC Audience | [] | 用于身份验证的 OpenID Connect Audience 的名称。对于 Keycloak,这是客户端 ID。 |
| OIDC Issuer |
签发者声明标识签发 JSON Web 令牌 (JWT)的主体,该主体在大多数 OpenID 供应商存在时位于 | |
| OIDC 算法 | 用于对 OpenID 提供程序中的 JWT 进行编码的算法。 |
B.9. 电子邮件设置 复制链接链接已复制到粘贴板!
| 设置 | 默认值 | 描述 |
|---|---|---|
| 电子邮件回复地址 | Satellite 发送的电子邮件的电子邮件回复地址。 | |
| 电子邮件主题前缀 | 添加到所有传出电子邮件的前缀。 | |
| 发送欢迎电子邮件 | 否 | 向新用户发送包括用户名和 URL 的欢迎电子邮件。 |
| 交付方法 | sendmail | 用于发送电子邮件的方法。 |
| SMTP 启用 StartTLS auto | 是 | 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 位置 |
| sendmail 可执行文件的位置。仅在发送方法设为 sendmail 时使用。 |
B.10. 通知设置 复制链接链接已复制到粘贴板!
| 设置 | 默认值 | 描述 |
|---|---|---|
| RSS 启用 | 是 | 拉取 RSS 通知。 |
| RSS URL | https://www.redhat.com/en/rss/blog/channel/red-hat-satellite | 从中获取 RSS 通知的 URL。 |
B.11. 置备设置 复制链接链接已复制到粘贴板!
| 设置 | 默认值 | 描述 |
|---|---|---|
| 主机所有者 | 如果空 Satellite 使用当前用户,则置备的主机上的默认所有者。 | |
| root 密码 | ***** | 置备的主机上的默认加密 root 密码。 |
| 无人值守 URL | 主机在构建期间从中检索模板的 URL。当以 https、无人值守或用户数据开始时,无法使用 HTTP 访问控制器。 | |
| securemode 渲染 |
|
启用置备模板的安全模式渲染。默认和推荐的选项是
当设置为 |
| 在没有构建的情况下进行无人值守访问 | 否 | 在不使用构建模式的情况下,启用对无人值守 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 查找尝试(以秒为单位)的超时列表(以秒为单位),如 |
| 清理失败的部署 | 是 | 如果调配脚本以非零退出代码结尾,Satellite 将删除虚拟机。 |
| 名称生成器类型 |
| 指定在创建新主机时生成主机名的方法。
默认的
|
| 默认 PXE 全局模板条目 |
全局模板中的默认 PXE 菜单项 - | |
| 默认 PXE 本地模板条目 |
本地模板中的默认 PXE 菜单项 - | |
| iPXE 中间脚本 | iPXE 中间脚本 | 用于无人值守安装的中间 iPXE 脚本。 |
| 销毁主机删除时关联的虚拟机 | 否 | 销毁主机删除时关联的虚拟机。启用后,连接到主机的虚拟机在计算资源上被删除。禁用后,虚拟机会在主机被删除时取消链接,这意味着它们保留在计算资源中,并可重新关联或重新导入到 Satellite。这不会自动关闭虚拟机 |
| 最大结构化事实 | 100 |
结构化子树中的最大键数,统计信息存储在 |
| 默认全局注册模板 | 全局注册 | 全局注册模板. |
| 默认 'Host 初始配置' 模板 | Linux host_init_config default | 默认"主机初始配置"模板,在创建新操作系统时自动分配。 |
| 全局默认 PXEGrub2 模板 | PXEGrub2 全局默认值 | 全局默认 PXEGrub2 模板。此模板被部署到所有配置的 TFTP 服务器。它不会受到影响。 |
| 全局默认 PXELinux 模板 | pxelinux 全局默认值 | 全局默认 PXELinux 模板。此模板被部署到所有配置的 TFTP 服务器。它不会受到影响。 |
| 全局默认 PXEGrub 模板 | PXEGrub 全局默认值 | 全局默认 PXEGrub 模板。此模板被部署到所有配置的 TFTP 服务器。它不会受到影响。 |
| 全局默认 iPXE 模板 | iPXE 全局默认值 | 全局默认的 iPXE 模板。此模板被部署到所有配置的 TFTP 服务器。它不会受到影响。 |
| 本地引导 PXEGrub2 模板 | PXEGrub2 默认本地引导 | 选择作为本地引导的默认 PXEGrub2 的模板。 |
| 本地引导 PXELinux 模板 | pxelinux 默认本地引导 | 选择为本地引导的默认 PXELinux 的模板。 |
| 本地引导 PXEGrub 模板 | PXEGrub 默认本地引导 | 选择为本地引导的默认 PXEGrub 模板。 |
| 本地引导 iPXE 模板 | iPXE 默认本地引导 | 选择为本地引导的 iPXE 默认的模板。 |
| 管理 PuppetCA | 是 | 在调配新主机时,Satellite 会自动进行证书签名请求。 |
| 将 UUID 用于证书 | 否 | Satellite 为证书签名使用随机 UUID ,而不是主机名。 |
| 显示不支持的置备模板 | 否 | 显示不支持的工作流模板。启用后,会显示所有可用的模板。禁用后,仅显示红帽支持的模板。 |
B.12. 事实设置 复制链接链接已复制到粘贴板!
| 设置 | 默认值 | 描述 |
|---|---|---|
| 在事实上上传事实时创建新主机 | 是 | Satellite 在收到新事实时创建主机。 |
| 位置事实 | satellite_location | 在 Puppet 运行之后创建的主机放置在此事实中指定的位置。 |
| 机构事实 | satellite_organization | 在 Puppet 运行之后创建的主机放置在此事实指定的组织中。此事实的内容应当是组织的完整标签。 |
| 默认位置 | 默认位置 | 在此位置上放置没有发送位置事实的 Puppet 运行后创建的主机。 |
| 默认机构 | 默认机构 | 在此组织中,未发送组织的 Puppet 运行后创建的主机放入此组织中。 |
| 从事实更新主机组 | 是 | Satellite 从其事实更新主机的主机组。 |
| 忽略操作系统的事实 | 否 | 停止从事实更新操作系统。 |
| 忽略域的事实 | 否 | 停止从事实更新域值。 |
| 从事实更新子网 | 无 | Satellite 从其事实更新主机的子网。 |
| 忽略用于置备的接口事实 | 否 | 停止从事实更新 IP 和 MAC 地址值(影响所有接口)。 |
| 忽略具有匹配标识符的接口 |
[ |
跳过创建或更新主机网络接口对象,其标识符与来自传入事实的标识符匹配。您可以使用 * 通配符来匹配带有索引的标识符,如 |
| Satellite 中存储的事实的排除模式 |
[ |
所有导入的事实(Puppet、Ansible、rhsm)的排除模式。这些事实不存储在 satellite 数据库中。您可以使用 * 通配符来匹配带有 indexes 的名称,例如: |
B.13. 配置管理设置 复制链接链接已复制到粘贴板!
| 设置 | 默认值 | 描述 |
|---|---|---|
| 在上传报告时创建新主机 | 是 | Satellite 在收到报告时创建主机。 |
| 匹配者继承 | 是 | 在评估主机组、机构和位置的智能类参数时,Satellite 匹配者将继承。 |
| 默认参数查找路径 |
[ FQDN , | 默认情况下,Satellite 会按照以下顺序评估主机智能类参数。 |
| 参数中的策略 ERB | 是 | Satellite 在 ENC 输出中的参数值中解析 ERB。 |
| 始终显示配置状态 | 否 | 所有主机都显示配置状态,即使未分配 Puppet 胶囊。 |
B.14. 远程执行设置 复制链接链接已复制到粘贴板!
| 设置 | 默认值 | 描述 |
|---|---|---|
| 回退到任何 Capsule | 否 | 在主机中使用远程执行的任何代理中搜索主机。当主机没有子网或者子网没有执行代理时,这很有用。 |
| 启用全局胶囊 | 是 | 在分配给主机的代理外搜索远程执行代理。搜索仅限于主机的组织和位置。 |
| SSH 用户 | root |
用于 SSH 的默认用户。您可以通过设置 |
| 有效用户 | root | 用于执行脚本的默认用户。如果用户与 SSH 用户不同,则使用 su 或 sudo 来切换用户。 |
| 有效的用户方法 | sudo |
用于切换到有效用户的命令。其中 [ |
| 有效的用户密码 | ***** | 有效的用户密码。请参阅 受影响的用户。 |
| 同步作业模板 | 是 |
是否在运行 |
| SSH 端口 | 22 |
用于 SSH 通信的端口。默认端口 22.您可以通过设置 |
| 通过 IP 连接 | 否 |
主机接口上的 IP 地址是否优先于 FQDN。当 DNS 没有正确解析 FQDN 时,这很有用。您可以通过设置 |
| 首选 IPv6 而不是 IPv4 | 否 |
使用 IP 地址进行连接时,是否首选使用 IPv6 地址?如果没有设置 IPv6 地址,它会自动回退到 IPv4。您可以通过设置 |
| 默认 SSH 密码 | ***** |
用于 SSH 的默认密码。您可以通过设置 |
| 默认 SSH 密钥密码短语 | ***** |
用于 SSH 的默认密钥密码短语。您可以通过设置 |
| Worker 池大小 | 5 |
池中的 worker 数量,用于处理远程执行作业的执行。需要重新启动 |
| 清理工作目录 | 是 |
任务完成后是否删除工作目录。您可以通过设置 |
| cockpit URL | 在哪里找到 Web 控制台按钮的 Cockpit 实例。默认情况下不显示任何按钮。 | |
| 表单作业模板 | 运行命令 - SSH 默认值 | 选择在作业调用表单中预先选中的作业模板。 |
| 任务调用报告模板 | Jobs - Invocation report template | 选择用于生成特定远程执行作业的报告的报告模板。 |
| 选择的时间 | 86400 | 主机必须获取作业的时间(以秒为单位)。如果在这个限制中没有获取作业,则会取消作业。仅适用于基于 pull-mqtt 的作业。默认值为一天。 |
B.15. Ansible 设置 复制链接链接已复制到粘贴板!
| 设置 | 默认值 | 描述 |
|---|---|---|
| 私钥路径 |
使用此选项提供 Ansible 使用 SSH 私钥的路径,而不是密码。使用 | |
| 连接类型 | ssh |
运行 Ansible Playbook 时,默认使用此连接类型。您可以通过添加 |
| WinRM 证书验证 | validate |
在运行 Ansible Playbook 时启用或禁用 WinRM 服务器证书验证。您可以通过添加 |
| 默认详细程度 | Disabled | Satellite 在运行 Ansible Playbook 时为额外的调试输出增加了这个级别的详细程度。 |
| 部署后超时 | 360 | 当 Satellite 在主机被完全调配后触发 Ansible 角色任务 playbook 时设置超时(以秒为单位)。把它设置为您期望主机在重启后就绪的最长时间。 |
| Ansible 报告超时 | 30 | 当主机应报告时,超时(以分钟为单位)。 |
| Ansible 不禁用同步 | 否 | 禁用主机配置状态会在报告未到达配置的时间间隔后对 Ansible 同步。 |
| 默认 Ansible 清单报告模板 | Ansible - Ansible 清单 | Satellite 使用此模板将报告与 Ansible 清单调度。 |
| 要忽略的 Ansible 角色 | [] |
从 Capsule 导入角色时要排除的角色。预期输入是以逗号分隔的值,您可以使用 * 通配符字符。例如: |
| Ansible 的 Capsule 任务批处理大小 |
如果启用了 |