10.5. 注册


本节介绍如何将主机注册到 Satellite 服务器或胶囊服务器。注册主机有两个主要方法:
通过 Red Hat Subscription Manager 注册到 Satellite 服务器的主机(可以在 kickstart 的发布阶段或通过终端发生)将出现在通过主机内容主机 访问的 ContentHosts 页面上。Satellite 服务器调配的主机显示在 Hosts 页面上,可通过 Hosts All hosts 访问。

10.5.1. 配置主机以进行注册

Red Hat Enterprise Linux 主机默认注册到客户门户网站订阅管理。您必须更新每个主机配置,以便它们从正确的 Satellite 服务器或胶囊服务器接收更新。

先决条件

  • 主机必须使用以下 Red Hat Enterprise Linux 版本:
    • 5.7 或更高版本
    • 6.4 或更高版本
    • 7.0 或更高版本
  • 支持所有 Red Hat Enterprise Linux 架构(i386、x86_64、s390x、ppc_64)。
  • 确保 Satellite 服务器、任何胶囊服务器和所有主机都与同一 NTP 服务器同步。
  • 确保时间同步工具已启动并在 Satellite 服务器上运行,任何胶囊服务器和主机。
    • Red Hat Enterprise Linux 6:
      # chkconfig ntpd on; service ntpd start
      Copy to Clipboard Toggle word wrap
    • Red Hat Enterprise Linux 7:
      # systemctl start chronyd; systemctl enable chronyd
      Copy to Clipboard Toggle word wrap
  • 确保守护进程 rhsmcertd 在主机上运行。
    • Red Hat Enterprise Linux 6:
      # service rhsmcertd start
      Copy to Clipboard Toggle word wrap
    • Red Hat Enterprise Linux 7:
      # systemctl start rhsmcertd
      Copy to Clipboard Toggle word wrap
以下流程演示了如何配置主机以注册到 Red Hat Satellite。

过程 10.2. 配置主机以进行注册:

  1. 记录卫星服务器或胶囊服务器的完全限定域名(FQDN),如 server.example.com
  2. 在主机上,打开一个终端,然后以 root 用户身份登录。
  3. 从要注册到主机的 Satellite 服务器或 Capsule 服务器安装使用者 RPM。使用者 RPM 更新主机的内容源位置,并允许主机从 Red Hat Satellite 中指定的内容源下载内容。
    # rpm -Uvh http://server.example.com/pub/katello-ca-consumer-latest.noarch.rpm
    Copy to Clipboard Toggle word wrap
    重要
    任何正在运行的 Docker 守护进程都将重启。
    注意
    katello-ca-consumer-hostname-1.0-1.noarch.rpm 是额外的 katello-ca-consumer RPM,其中包含服务器的主机名。katello-ca-consumer-latest.noarch.rpm rpm 始终反映最新版本。两者都提供相同的目的。

10.5.2. 注册主机

先决条件

  • 确保主机存在与适当的内容视图和环境关联的激活码。如果没有,请参阅 第 7 章 配置激活码。默认情况下,激活码启用了 auto-attach 功能。该功能通常与用作虚拟机监控程序的主机一起使用。
  • 确保安装的 subscription-manager 实用程序版本为 1.10 或更高版本。软件包在标准 Red Hat Enterprise Linux 软件仓库中提供。

过程 10.3. 要注册主机:

  1. 在主机上,打开一个终端,然后以 root 用户身份登录。
  2. 清除与 Red Hat Subscription Manager (RHSM)相关的旧主机数据:
    # subscription-manager clean
    
    Copy to Clipboard Toggle word wrap
  3. 使用 RHSM 注册主机:
    # subscription-manager register --org your_org_name --activationkey your_activation_key
    Copy to Clipboard Toggle word wrap

    例 10.1. 注册后的命令输出:

    # subscription-manager register --org MyOrg --activationkey TestKey-1
    The system has been registered with id: 62edc0f8-855b-4184-b1b8-72a9dc793b96
    
    Copy to Clipboard Toggle word wrap
注意
您可以使用 --environment 选项覆盖由激活密钥定义的内容视图和生命周期环境。例如,要在"Development"生命周期环境中将主机注册到内容视图"MyView"中:
 # subscription-manager register --org your_org_name --environment Development/MyView --activationkey your_activation_key
Copy to Clipboard Toggle word wrap
注意
对于 Red Hat Enterprise Linux 6.3 主机,发行版本默认为 Red Hat Enterprise Linux 6 服务器,需要指向 6.3 存储库。

过程 10.4. 将 Red Hat Enterprise Linux 6.3 指向软件仓库:

  1. 在 Red Hat Satellite 上,选择 Hosts Content Hosts
  2. 单击需要更改的主机的名称。
  3. Content Host Content 部分中,单击 Release Version 右侧的编辑图标。
  4. Release Version 下拉菜单中选择 "6.3"。
  5. 点击 Save

10.5.3. 安装 Katello 代理

以下步骤演示了如何在注册到 Satellite 6 的主机上安装 Katello 代理。katello-agent 软件包依赖于 gofer 软件包,该软件包提供 goferd 服务。必须启用此服务,以便 Red Hat Satellite 服务器或 Capsule 服务器可以提供有关适用于内容主机的勘误表的信息。

先决条件

Satellite 版本 6.1 及更新的版本需要您启用 Satellite 工具存储库红帽通用 存储库已不再使用,并与 Satellite 版本 6.1 及更新的版本不兼容。
必须启用 Satellite Tools 存储库,并同步到 Red Hat Satellite 服务器,并可用于您的主机,因为它提供所需的软件包。

过程 10.5. 验证 Satellite 工具存储库已启用:

  1. 打开 Satellite Web UI,导航到 Content Red Hat Repositories,再单击 RPM 选项卡。
  2. 查找并扩展 Red Hat Enterprise Linux Server 项。
  3. 查找并扩展 Red Hat Satellite Tools 6.2 (适用于 RHEL VERSION Server)(RPMs) 项目。
    如果 Red Hat Satellite Tools 6.2 项不可见,这可能是因为它们没有包含在从客户门户网站获取的订阅清单中。要更正此问题,请登录客户门户网站,添加这些存储库,下载订阅清单并将其导入到 Satellite 中。
  4. 确保选中了存储库名称旁边的 Enabled 复选框。如果没有,请选择它。
为主机上运行的每个受支持的 Red Hat Enterprise Linux 主版本启用 Satellite 工具存储库

过程 10.6. 要安装 Katello Agent:

  1. 在主机上,验证 satellite-tools 存储库是否已启用。如果您使用启用了 auto-attache 的激活码注册主机,则该存储库会自动启用。
    # yum repolist enabled | grep -i satellite-tools
    Copy to Clipboard Toggle word wrap
    如果没有启用 satellite-tools,使用以下命令启用它:
    # subscription-manager repos --enable=rhel-version-server-satellite-tools-6.2-rpms
    Copy to Clipboard Toggle word wrap
  2. 使用以下命令安装 katello-agent RPM 软件包:
    # yum install katello-agent
    Copy to Clipboard Toggle word wrap
  3. 确保 goferd 服务正在运行。
    • 在 Red Hat Enterprise Linux 6 中,输入以下命令:
      # service goferd start
      Copy to Clipboard Toggle word wrap
    • 在 Red Hat Enterprise Linux 7 中,输入以下命令:
      # systemctl start goferd
      Copy to Clipboard Toggle word wrap

10.5.4. 安装和配置 Puppet 代理

本节介绍如何在主机上安装和配置 Puppet 代理。当您正确安装和配置了 Puppet 代理后,您可以导航到 Hosts All hosts,以列出 Red Hat Satellite Server 可见的所有主机。

先决条件

必须启用 Satellite Tools 存储库,并同步到 Red Hat Satellite 服务器,并可用于您的主机,因为它提供所需的软件包。

过程 10.7. 验证 Satellite 工具存储库已启用:

  1. 打开 Satellite Web UI,导航到 Content Red Hat Repositories,再单击 RPM 选项卡。
  2. 查找并扩展 Red Hat Enterprise Linux Server 项。
  3. 查找并扩展 Red Hat Satellite Tools 6.2 (适用于 RHEL VERSION Server)(RPMs) 项目。
    如果 Red Hat Satellite Tools 6.2 项不可见,这可能是因为它们没有包含在从客户门户网站获取的订阅清单中。要更正此问题,请登录客户门户网站,添加这些存储库,下载订阅清单并将其导入到 Satellite 中。
  4. 确保选中了存储库名称旁边的 Enabled 复选框。如果没有,请选择它。

过程 10.8. 要安装并启用 Puppet 代理:

  1. 在主机上,打开一个终端控制台,然后以 root 用户身份登录。
  2. 使用以下命令验证 satellite-tools 存储库是否已启用:
    # yum repolist enabled | grep -i satellite-tools
    Copy to Clipboard Toggle word wrap
    如果没有启用 satellite-tools,使用以下命令启用它:
    # subscription-manager repos --enable=rhel-version-server-satellite-tools-6.2-rpms
    Copy to Clipboard Toggle word wrap
  3. 使用以下命令安装 Puppet 代理 RPM 软件包:
    # yum install puppet
    
    Copy to Clipboard Toggle word wrap
  4. 将 puppet 代理配置为在引导时启动:
    • 在 Red Hat Enterprise Linux 6 中:
      # chkconfig puppet on
      Copy to Clipboard Toggle word wrap
    • 在 Red Hat Enterprise Linux 7 上:
      # systemctl enable puppet
      Copy to Clipboard Toggle word wrap

先决条件

在配置 Puppet 代理前必须满足以下条件:

  • 主机必须注册到 Red Hat Satellite Server。
  • 必须启用 Satellite Tools 存储库。
  • 主机上必须安装 Puppet 软件包。

过程 10.9. 配置 Puppet 代理:

  1. 通过在 /etc/puppet/puppet.conf 文件中指定服务器和环境设置来配置 Puppet 代理:
    # vi /etc/puppet/puppet.conf
    
    Copy to Clipboard Toggle word wrap
    [main]
        # The Puppet log directory.
        # The default value is '$vardir/log'.
        logdir = /var/log/puppet
    
        # Where Puppet PID files are kept.
        # The default value is '$vardir/run'.
        rundir = /var/run/puppet
    
        # Where SSL certificates are kept.
        # The default value is '$confdir/ssl'.
        ssldir = /var/lib/puppet/ssl
    
    ...
    
    [agent]
        # The file in which puppetd stores a list of the classes
        # associated with the retrieved configuratiion.  Can be loaded in
        # the separate ``puppet`` executable using the ``--loadclasses``
        # option.
        # The default value is '$confdir/classes.txt'.
        classfile = $vardir/classes.txt
        pluginsync = true
        report = true
        ignoreschedules = true
        daemon = false
        ca_server = satellite.example.com
        server = satellite.example.com
        environment = KT_Example_Org_Library_RHEL6Server_3
    
        # Where puppetd caches the local configuration.  An
        # extension indicating the cache format is added automatically.
        # The default value is '$confdir/localconfig'.
        localconfig = $vardir/localconfig
    
    ...
    
    Copy to Clipboard Toggle word wrap
    重要
    environment 参数设置为主机所属的 Puppet 环境的名称。Puppet 环境是 Puppet 模块的集合,可以关联到主机或主机组。
    • 若要查找主机的 Puppet 环境,请导航到 Hosts All Hosts 并检查 host 表中的 Environment 列。
    • 若要分配 Puppet 环境到主机,可导航到 Hosts All Hosts,再单击所选主机旁边的 Edit
    • 若要列出卫星服务器上启用的 Puppet 环境,可导航到 Configure Environments。您还可以检查 Satellite 服务器上的 /etc/puppet/environments/ 目录,以查找与 Puppet 环境关联的 Puppet 模块和清单。
    有关更多信息,请参阅 Red Hat Satellite Puppet 指南
  2. 在主机上运行 Puppet 代理:
    # puppet agent -t --server satellite.example.com
    Copy to Clipboard Toggle word wrap
  3. 通过 Satellite 服务器 Web UI 为 Puppet 客户端签名 SSL 证书:
    1. 通过 Web UI 登录 Satellite 服务器。
    2. 选择 Infrastructure Capsules
    3. 所需胶囊右侧的下拉菜单中选择证书。
    4. 点所需主机右侧的 Sign
    5. 再次输入 puppet agent 命令:
      # puppet agent -t --server satellite.example.com
      Copy to Clipboard Toggle word wrap
注意
当主机上配置了 Puppet 代理时,它将列在 All Hosts 下,但只有在选择 任何组织 时,才会将主机分配给组织或位置。要将主机分配给机构,请参阅 第 10.9 节 “将主机分配给特定机构” 或将主机分配给位置,请参阅 第 10.10 节 “将主机分配给特定位置”

10.5.5. 使用启动脚本将主机注册到 Satellite 6

启动脚本(包含在 6.2 及更高版本中)可用于注册新主机或将现有主机迁移到 Satellite 6。
bootstrap 脚本处理内容注册、产品证书和 Puppet 配置。启动脚本具有使用 Red Hat Enterprise Linux 系统的好处,无论其注册的位置(RHN、Satellite 5、SAM、RHSM),或者将其订阅到 Satellite 6。
启动脚本软件包 katello-client-bootstrap 默认安装在 Satellite 服务器的基本系统上,脚本本身安装在 /var/www/html/pub/ 目录中,供主机使用。它可使用以下格式的 URL 访问:
satellite6.example.com/pub/bootstrap.py
Copy to Clipboard Toggle word wrap
脚本在 readme 文件中包括文档。查看 Satellite CLI 上的文件:
$ less /usr/share/doc/katello-client-bootstrap-version/README.md
Copy to Clipboard Toggle word wrap

过程 10.10. 在主机上安装启动脚本:

因为该脚本只需要一次,且仅适用于 root 用户,您可以将其放在 /root 中,并在使用后将其删除,或者将其放置在 /usr/local/sbin 中。这个示例将使用 /root
root 用户身份,在主机上安装 bootstrap 脚本,如下所示:
  1. 确保您位于正确的目录中。例如,要更改为 /root
    # cd
    Copy to Clipboard Toggle word wrap
  2. 下载脚本:
    # wget http://satellite6.example.com/pub/bootstrap.py
    Copy to Clipboard Toggle word wrap
    这会将脚本安装到当前目录。
  3. 使脚本可执行:
    # chmod +x bootstrap.py
    Copy to Clipboard Toggle word wrap
  4. 要确认脚本现在可以运行,请按如下所示查看 usage 语句:
    # ./bootstrap.py -h
    Copy to Clipboard Toggle word wrap
  5. 另外,在转换过程完成后,删除脚本:
    # cd
    # rm bootstrap.py
    Copy to Clipboard Toggle word wrap

过程 10.11. 运行启动脚本

先决条件

  1. 按如下方式输入 bootstrap 命令,其中包含适合您环境的值。
    对于-- server 选项,请指定 Satellite 服务器或 Capsule 服务器的 FQDN 名称。对于- location ,--organization, 和-- hostgroup 选项,使用带引号名称而不是标签,作为选项的参数。有关高级用例,请参阅 第 10.5.6 节 “高级启动脚本配置”
    # bootstrap.py --login=admin \
    --server satellite6.example.com \
    --location="Example Location" \
    --organization="Example Organization" \
    --hostgroup="Example Host Group" \
    --activationkey=activation_key
    Copy to Clipboard Toggle word wrap
    该脚本将提示您输入与您使用- login 选项输入的 Satellite 用户名对应的密码。
  2. 该脚本将运行 并将进度通知发送到 stdout。观察提示您批准证书的输出。例如:
    [NOTIFICATION], [2016-04-26 10:16:00], [Visit the UI and approve this certificate via Infrastructure->Capsules]
    [NOTIFICATION], [2016-04-26 10:16:00], [if auto-signing is disabled]
    [RUNNING], [2016-04-26 10:16:00], [/usr/bin/puppet agent --test --noop --tags no_such_tag --waitforcert 10]
    Copy to Clipboard Toggle word wrap
    主机将无限期等待,直到管理员批准 Puppet 证书。
    1. 在 Web UI 中,导航到 Infrastructure Capsules
    2. 选择 与带- server 选项提供的 FQDN 对应的 Capsule 名称右侧的证书。
    3. Actions 列中,选择 Sign 以批准主机的 Puppet 证书。
    4. 返回到主机,以查看 bootstrap 过程完成的其余部分。
  3. 在 Web UI 中,导航到 Hosts All hosts 并确保主机已连接到正确的主机组。
如果主机上没有安装 Katello 代理,请继续 第 10.5.3 节 “安装 Katello 代理”

10.5.6. 高级启动脚本配置

过程 10.11, “运行启动脚本” 中概述了使用 bootstrap 脚本的标准工作流。本节涵盖了几个示例。
将主机从一个 Satellite 6 迁移到另一个 Satellite 6。
使用脚本 with- force,脚本将从旧 Satellite 中删除 katello-ca-consumer reasonable 软件包,并从新的 Satellite 安装 katello-ca-consumerEscalation 软件包。例如:
# bootstrap.py --login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--force
Copy to Clipboard Toggle word wrap
将主机从 Red Hat Network (RHN)或 Satellite 5 迁移到 Satellite 6。
启动脚本会检测存在 /etc/syconfig/rhn/systemid 以及与 RHN 的有效连接,以表明系统注册到旧平台。然后,该脚本会调用 rhn-classic-migrate-to-rhsm 将系统从 RHN 迁移。默认情况下,由于审计原因,该脚本不会删除系统的传统配置文件。要删除传统配置文件,可使用 --legacy-purge 和 use -legacy-login 提供具有适当权限的用户帐户来删除配置文件。提示时输入用户帐户密码。例如:
# bootstrap.py --login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--legacy-purge \
--legacy-login rhn-user
Copy to Clipboard Toggle word wrap
将主机注册到 Satellite 6,省略 Puppet 设置。
默认情况下,bootstrap 脚本配置用于内容管理和配置管理的主机。如果您有一个现有的配置管理系统,且不想在主机上安装 puppet,请使用 --skip-puppet。例如:
# bootstrap.py --login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--skip-puppet
Copy to Clipboard Toggle word wrap
仅将主机注册到 Satellite 6 以进行内容管理。
要将系统注册为内容主机,并省略了调配和配置管理功能,可使用 --skip-foreman。例如:
# bootstrap.py --server satellite6.example.com \
--organization="Example Organization" \
--activationkey=activation_key \
--skip-foreman
Copy to Clipboard Toggle word wrap
更改 bootstrap 脚本用于下载消费者 RPM 的方法。
默认情况下,启动脚本使用 HTTP 下载使用者 RPM (server.example.com/pub/katello-ca-consumer-latest.noarch.rpm)。在某些环境中,需要只允许主机和 Satellite 之间的 HTTPS。use --download-method 将下载方法从 HTTP 更改为 HTTPS。例如:
# bootstrap.py --login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--download-method https
Copy to Clipboard Toggle word wrap
为 Satellite 提供主机的 IP 地址
在一个接口上具有多个接口或多个 IP 地址的主机上,您可能需要覆盖 IP 地址的自动检测,并为 Satellite 提供特定的 IP 地址。use -ip.例如:
# bootstrap.py --login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--ip 192.x.x.x
Copy to Clipboard Toggle word wrap
在主机上启用远程执行。
use- rex--rex-user 启用远程执行,并为指定用户添加所需的 SSH 密钥。例如:
# bootstrap.py --login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--rex \
--rex-user root
Copy to Clipboard Toggle word wrap
在注册时为主机创建域.
要创建主机记录,在运行脚本之前,Satellite 中需要存在主机的 DNS 域。如果域不存在,则使用 --add-domain 来添加。例如:
# bootstrap.py --login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--add-domain
Copy to Clipboard Toggle word wrap
为主机提供任意完全限定域名(FQDN)。
如果主机名不是 FQDN,或者不是 RFC 兼容(包含下划线等字符),则脚本将在主机名验证阶段失败。use--fqdn 指定将报告到 Satellite 的 FQDN。为此,您需要使用 hammercreate_new_host_when_facts_are_facts_are_uploadedcreate_new_host_when_report_is_uploaded 设置为 false。例如,
# hammer settings set \
--name  create_new_host_when_facts_are_uploaded \
--value false
# hammer settings set \
--name  create_new_host_when_report_is_uploaded \
--value false
Copy to Clipboard Toggle word wrap
# bootstrap.py --login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--fqdn node100.example.com
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat