4.4. 使用 bootstrap 脚本注册主机


您可以使用 bootstrap 脚本自动执行内容注册和 Puppet 配置。

重要

bootstrap 脚本是一个已弃用的功能。弃用的功能仍然包含在 Satellite 中,并被支持。但是,它将在以后的发行版本中删除,且不建议在新的部署中使用。

使用 第 4.3 节 “使用全局注册注册主机” 替代。

有关 Satellite 中已弃用或删除的主要功能的最新列表,请参阅 Satellite 发行注记中的已弃用功能 部分。

您可以使用 bootstrap 脚本注册新主机,或者将现有主机从 RHN、SAM、RHSM 或其他 Red Hat Satellite 实例迁移。

katello-client-bootstrap 软件包默认安装在 Satellite 服务器的基本操作系统上。bootstrap.py 脚本安装在 /var/www/html/pub/ 目录中,以便 satellite.example.com/pub/bootstrap.py 的主机可用。该脚本在 /usr/share/doc/katello-client-bootstrap-版本/README.md 文件中包括文档。

要使用 bootstrap 脚本,您必须在主机上安装它。因为该脚本只需要一次,且仅适用于 root 用户,您可以将其放在 /root/usr/local/sbin 中,并在使用后将其删除。这个过程使用 /root

限制:

出于安全原因,胶囊上的反向代理默认是禁用的。因此,如果您通过 Capsule 注册主机,启动脚本将无法正常工作。红帽建议使用 全局注册 来注册主机。

先决条件

  • 您有一个 Satellite 用户,具有运行 bootstrap 脚本所需的权限。此流程中的示例指定 admin 用户。如果您的安全策略无法接受此项,请创建一个具有所需最低权限的新角色,并将它添加到将运行脚本的用户。更多信息请参阅 第 4.4.1 节 “为 bootstrap 脚本设置权限”
  • 您有启用了 Red Hat Satellite Client 6 存储库的主机的激活码。有关配置激活码的详情,请参考 管理内容 中的 管理 激活码
  • 您已创建了主机组。有关创建主机组的更多信息,请参阅 第 3.2 节 “创建主机组”

Puppet 注意事项

如果主机组与一个生产环境中创建的 Puppet 环境关联,则 Puppet 在从该主机组注册主机时无法检索 Puppet CA 证书。

要创建与主机组关联的合适的 Puppet 环境,请按照以下步骤操作:

  1. 手动创建目录:

    # mkdir /etc/puppetlabs/code/environments/example_environment
  2. 在 Satellite Web UI 中,进入到 Configure > Puppet ENC > Environments
  3. 单击 Import environment from
  4. 选择您的 Capsule。
  5. 选择创建的目录,然后单击 Update

流程

  1. root 用户身份登录主机。
  2. 下载脚本:

    # curl -O http://satellite.example.com/pub/bootstrap.py
  3. 使脚本可执行:

    # chmod +x bootstrap.py
  4. 通过查看帮助文本来确认脚本可以执行:

    • 在 Red Hat Enterprise Linux 8 中:

      # /usr/libexec/platform-python bootstrap.py -h
    • 在其他 Red Hat Enterprise Linux 版本中:

      # ./bootstrap.py -h
  5. 输入适合您环境的 bootstrap 命令。

    对于-- server 选项,请指定 Satellite 服务器的 FQDN 或 Capsule 服务器。对于- location,--organization, and-- hostgroup 选项,使用带引号名称而不是标签,作为选项的参数。有关高级用例,请参阅 第 4.4.2 节 “高级 bootstrap 脚本配置”

    • 在 Red Hat Enterprise Linux 8 中,输入以下命令:

      # /usr/libexec/platform-python bootstrap.py \
      --login=admin \
      --server satellite.example.com \
      --location="My_Location" \
      --organization="My_Organization" \
      --hostgroup="My_Host_Group" \
      --activationkey="My_Activation_Key"
    • 在 Red Hat Enterprise Linux 7 中,输入以下命令:

      # ./bootstrap.py --login=admin \
      --server satellite.example.com \
      --location="My_Location" \
      --organization="My_Organization" \
      --hostgroup="My_Host_Group" \
      --activationkey="My_Activation_Key"
  6. 输入您使用- login 选项指定的 Satellite 用户的密码。

    脚本将进度通知发送到 stdout

  7. 当脚本提示时,批准主机的 Puppet 证书。在 Satellite Web UI 中,进入到 Infrastructure > Capsules,找到您使用- server 选项指定的 Satellite 或 Capsule 服务器。
  8. Actions 列中的列表中,选择 Certificates
  9. Actions 列中,单击 Sign 以批准主机的 Puppet 证书。
  10. 返回到主机,以查看 bootstrap 过程完成的其余部分。
  11. 在 Satellite Web UI 中,进入到 Hosts > All Hosts,并确保主机连接到正确的主机组。
  12. 可选:在主机注册完成后,删除脚本:

    # rm bootstrap.py

4.4.1. 为 bootstrap 脚本设置权限

使用这个流程配置 Satellite 用户,并带有运行 bootstrap 脚本所需的权限。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程

流程

  1. 在 Satellite Web UI 中,进入到 Administer > Users
  2. 点所需的用户名来选择现有用户。此时将打开一个新窗格,其中包含用于修改选定用户的信息的选项卡。或者,创建一个专门用于运行此脚本的新用户。
  3. 单击 Roles 选项卡。
  4. Roles 列表中选择 Edit hosts and Viewer

    重要

    Edit hosts 角色允许用户编辑和删除主机,并且能够添加主机。如果您的安全策略无法接受,请创建具有以下权限的新角色,并将其分配给用户:

    • view_organizations
    • view_locations
    • view_domains
    • view_hostgroups
    • view_hosts
    • view_architectures
    • view_ptables
    • view_operatingsystems
    • create_hosts
  5. Submit

CLI 过程

  1. 使用 bootstrap 脚本所需的最小权限创建一个角色。本例创建一个名为 Bootstrap 的角色:

    $ ROLE='Bootstrap'
    $ hammer role create --name "$ROLE"
    $ hammer filter create --role "$ROLE" --permissions view_organizations
    $ hammer filter create --role "$ROLE" --permissions view_locations
    $ hammer filter create --role "$ROLE" --permissions view_domains
    $ hammer filter create --role "$ROLE" --permissions view_hostgroups
    $ hammer filter create --role "$ROLE" --permissions view_hosts
    $ hammer filter create --role "$ROLE" --permissions view_architectures
    $ hammer filter create --role "$ROLE" --permissions view_ptables
    $ hammer filter create --role "$ROLE" --permissions view_operatingsystems
    $ hammer filter create --role "$ROLE" --permissions create_hosts
  2. 为现有用户分配新角色:

    $ hammer user add-role --id user_id --role Bootstrap

    或者,您可以创建新用户,并将这个新角色分配给他们。有关使用 Hammer 创建用户的更多信息,请参阅管理 Red Hat Satellite 中的管理用户和角色

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部