第 3 章 注册主机
将主机注册到 Satellite 服务器或胶囊式服务器有三种主要方法:
从 Satellite 生成
curl
命令,并从无限数量的主机运行命令,以使用全局注册模板注册它们。此方法适用于之前注册的全新安装主机和主机,例如到 Satellite 5 或其他 Satellite 6。通过使用此方法,您还可以在注册到 Satellite 期间将 Satellite SSH 密钥部署到主机,以启用用于远程执行作业的主机。有关远程执行作业的更多信息,请参阅配置和设置远程作业。
通过使用此方法,您还可以在注册到 Satellite 期间使用 Red Hat Insights 配置主机。有关将 Insights 与 Satellite 主机一起使用的更多信息,请参阅使用 Red Hat Insights 监控主机。
-
下载并安装使用者 RPM
server.example.com/pub/katello-ca-consumer-latest.noarch.rpm
,然后运行 Subscription Manager。此方法适用于新安装的主机。 - 下载并运行 bootstrap 脚本(server.example.com/pub/bootstrap.py)。此方法适用于之前注册的全新安装主机和主机,例如到 Satellite 5 或其他 Satellite 6。
您也可以将 Atomic 主机注册到卫星服务器或胶囊式服务器。
使用以下流程之一注册主机:
使用以下步骤安装和配置主机工具:
支持的主机操作系统
主机必须使用以下 Red Hat Enterprise Linux 版本之一:
- 5.7 或更高版本
- 6.1 或更高版本*
- 7.0 或更高版本
- 8.0 或更高版本
Red Hat Enterprise Linux 版本 6.1、6.6 和 6.3 需要手动更新 subscription-manager
和相关的软件包。如需更多信息,请参阅 https://access.redhat.com/solutions/1256763。
支持的架构
支持 Red Hat Enterprise Linux 的所有构架:
- i386
- x86_64
- s390x
- ppc_64
3.1. 使用全局注册模板将主机注册到 Red Hat Satellite
使用以下步骤将主机注册到 Red Hat Satellite 6。
使用这个注册方法,您可以通过在 Satellite 上生成 curl
命令并在主机上运行此命令,将主机注册到 Satellite。此方法使用全局注册模板,供您完全控制主机注册过程。
先决条件
-
生成
curl
命令的 Satellite 用户必须具有create_hosts
权限。 - 您必须在要注册的主机上具有 root 权限。
- 您必须已创建了激活码。
-
可选: 如果要将主机注册到 Red Hat Insights,您必须同步
rhel-7-server-rpms
存储库,并使其在使用的激活密钥中可用。这是在主机上安装insights-client
软件包所必需的。
流程
- 在 Satellite Web UI 中,导航到 Hosts > Provisioning Templates,找到 Linux 注册默认模板 并点击它。
- 单击 关联 选项卡。
- 确保您要注册的操作系统位于 Selected items 列中。
- 点 Submit。
- 进入 Hosts > Operating Systems 并点击您要注册的操作系统。
- 点 Templates 选项卡。
- 从 Registration template 列表中,确保选择了 Linux 注册 default。
- 点 Submit。
- 进入 Hosts > All Hosts > Register Host。
可选: 如果要通过 Capsule 注册主机,请确保在这个胶囊上启用了 注册 功能。
导航到 Infrastructure > Capsules,点要使用的 Capsule,并在 Active features 列表中找到 Registration 功能。
可选:如果您的胶囊上没有启用 注册 功能,请在 Capsule 上输入以下命令以启用它:
# satellite-installer --foreman-proxy-registration \ --foreman-proxy-templates \ --foreman-proxy-template-url 'http://capsule.example.com'
- 可选: 在 Host Group 列表中,选择要将主机与之关联的主机组。
- 从 Operating System 列表中,选择您要注册的主机的操作系统。
- 从 Capsule 列表中,选择要通过其注册主机的 Capsule。如果您不想使用外部胶囊,则必须选择 internal Capsule。
- 从 Insights 列表中,选择是否要将主机注册到 Insights。
- 从 Remote Execution 列表中,选择是否要将 Satellite SSH 密钥部署到主机。
可选:Satellite 使用 JSON Web 令牌(JWT)进行身份验证。此令牌的持续时间定义了生成的
curl
命令的工作方式。如果要更改令牌的持续时间,请在 Token 生命周期(小时) 字段输入所需的持续时间。您可以将持续时间设置为任意小时。请注意,Satellite 使用生成
curl
命令的用户的权限来授权主机。如果用户丢失或获得其他权限,则 JWT 的权限也会改变。因此,不要删除、块或更改用户在令牌期间的权限。- 可选:在 Remote Execution Interface 字段中,输入主机必须用于 SSH 连接的网络接口。如果将此字段留空,Satellite 将使用默认网络接口。
- 在 Activation Key (s) 字段中输入一个或多个激活密钥,以分配到主机。
- 点 Generate 命令。
-
复制生成的
curl
命令,以将其输入在主机上。 使用以下方法之一配置主机:
在
curl
命令中添加--insecure
选项。这会使第一次调用不安全,但首先调用时,主机会从 Satellite 下载 CA 文件。主机将使用此 CA 文件与将来的所有调用连接 Satellite,使其安全。如果一个攻击者位于 Satellite 和主机之间的网络,可以从第一个不安全的调用中获取 CA 文件,攻击者可以从注册的主机和 JWT 获取 API 调用的内容。因此,如果您已选择在注册期间部署 SSH 密钥,攻击者就可以使用 SSH 密钥访问主机。以下是带
--insecure
选项的curl
命令示例:curl -X GET --insecure https://satellite.example.com/register...
如果您不想使用
--insecure
选项调用curl
命令,您可以在每个主机上手动复制并安装 CA 文件。为此,请进入 Administer > Settings > Authentication 并查找 SSL CA file 设置的值来找到 Satellite 存储 CA 文件的位置。
将 CA 文件复制到主机上的
/etc/pki/ca-trust/source/anchors/
目录中,并输入以下命令:# update-ca-trust enable # update-ca-trust
-
在您要注册的主机上,以
root
用户身份输入curl
命令。
3.1.1. 自定义全局注册和主机注册模板
如果要自定义注册过程,请使用本节中的信息。
请注意,Satellite 中的所有默认模板都将被锁定。如果要自定义注册过程,您需要克隆默认模板并编辑克隆。然后,在 Administer > Settings > Provisioning 中更改 Default Global registration template 设置以指向您的自定义全局注册 模板。更改操作系统设置中的 Registration template 设置,以指向您的自定义 Linux 注册默认模板。
模板
注册过程使用以下注册模板:
-
Global Registration 模板包含将主机注册到 Satellite 的步骤。此模板在主机访问
/register
端点时显示。 - Linux 注册默认模板 包含在主机注册后配置主机的步骤。
全局参数
您可以通过导航到 Configure > Global Parameters 来配置以下全局参数:
-
host_registration_remote_execution
参数在remote_execution_ssh_keys
代码段中使用,默认值为true
。 -
在
insights
片段中使用host_registration_insights
参数,默认值为true
。
代码片段
remote_execution_ssh_keys
代码片段用于 Linux 注册默认模板。只有 host_registration_remote_execution
参数为 true
时,它才会将 SSH 密钥部署到主机。
在 Linux 注册默认模板中使用 insights
片段。当全局参数 host_registration_insights
设为 true 时,它会下载并安装 Red Hat Insights 客户端。
变量
下表描述了 Global Registration
模板中使用的变量。
变量 | 命令参数 | 描述 |
---|---|---|
| none | 当前经过身份验证的用户对象。 |
|
|
如果没有设置 |
|
|
如果没有设置 |
|
| 主机的主机组。 |
|
| 主机操作系统. |
|
|
覆盖注册主机的 |
|
|
覆盖注册主机的 |
|
| 为远程执行设置默认主机接口。 |
|
| 主机激活密钥. |
| none |
|