C.4. 注册主机
您可以使用注册模板注册主机,并在注册过程中设置各种集成功能和主机工具。
先决条件
-
您的用户帐户被分配了了一个授予
create_hosts
权限的角色。 - 您必须在要注册的主机上具有 root 权限。
- 您已配置了主机以进行注册。如需更多信息,请参阅 第 C.3 节 “配置主机以进行注册”。
- 主机必须使用激活码。如需更多信息,请参阅管理内容中的管理 激活码 。
-
可选:如果要将主机注册到 Red Hat Insights,您必须同步
rhel-8-for-x86_64-baseos-rpms
和rhel-8-for-x86_64-appstream-rpms
存储库,并在您使用的激活码中提供它们。这是在主机上安装insights-client
软件包所必需的。 - 用于主机的操作系统的 Red Hat Satellite Client 6 存储库在 Satellite 服务器上同步,并在您使用的激活码中启用。如需更多信息,请参阅 管理内容 中的 导入内容。远程执行拉取客户端、Puppet 代理、跟踪器和其他工具需要此存储库。
- 如果要使用 Capsule 服务器而不是 Satellite 服务器,请确保已相应地配置了 Capsule 服务器。如需更多信息,请参阅 安装 Capsule 服务器 中的 为主机注册配置 Capsule 和置备。
- 如果您的 Satellite 服务器或 Capsule 服务器位于 HTTP 代理后面,请将主机上的订阅管理器配置为使用 HTTP 代理进行连接。如需更多信息,请参阅红帽知识库中的 如何通过防火墙或代理访问 Red Hat Subscription Manager (RHSM)。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Register Host。
- 输入有关如何配置注册主机的详情。
- 在 General 选项卡中,在 Activation Keys 字段中输入分配给主机的一个或多个激活码。
-
点 Generate 生成
curl
命令。 -
以
root
用户身份在您要注册的主机上运行curl
命令。注册完成后,您在配置注册模板时指定的主机组的任何 Ansible 角色都将在主机上运行。
您可以指定的注册详情包括:
- 在 General 选项卡中,您可以选择 Capsule 字段中要注册主机。负载均衡器后面的 Capsule 优先于 Satellite Web UI 中选择的 Capsule 作为主机的内容源。
在 General 选项卡中,您可以选择 Insecure 选项,使第一个调用不安全。在此第一次调用期间,主机会从 Satellite 下载 CA 文件。主机将使用此 CA 文件连接到 Satellite,并在以后的所有调用都保证它们的安全。
红帽建议您避免不安全的调用。
如果攻击者位于 Satellite 和主机之间的网络中,从第一个不安全的调用中获取 CA 文件,攻击者可以从注册的主机和 JSON Web 令牌(JWT)访问 API 调用的内容。因此,如果您选择在注册过程中部署 SSH 密钥,攻击者可以使用 SSH 密钥访问主机。
- 在 Advanced 标签页的 Repositories 字段中,您可以在执行注册前列出要添加的存储库。如果您在激活码中提供软件仓库,则不必指定软件仓库。
在 Advanced 选项卡中,在 Token lifetime (小时) 字段中,您可以更改 Satellite 用于身份验证的 JSON Web Token (JWT)的有效性持续时间。此令牌的持续时间定义生成的
curl
命令的工作方式。请注意,Satellite 应用生成
curl
命令授权的用户的权限。如果用户丢失或获得额外权限,则 JWT 的权限也会改变。因此,不要在令牌期间删除、阻止或更改用户的权限。JWT 的范围仅限于注册端点,不能在任何其他地方使用。
CLI 过程
-
使用
hammer host-registration generate-command
生成curl
命令以注册主机。 -
在您要注册的主机上,以
root
用户身份运行curl
命令。
如需更多信息,请参阅使用 hammer host-registration generate-command --help
的 Hammer CLI 帮助。
Ansible 流程
-
使用
redhat.satellite.registration_command
模块。
如需更多信息,请参阅 ansible-doc redhat.satellite.registration_command
的 Ansible 模块文档。
API 流程
-
使用
POST /api/registration_commands
资源。
如需更多信息,请参阅 https://satellite.example.com/apidoc/v2.html
的完整 API 参考。