第 10 章 管理激活码

激活码提供了一种自动注册系统并订阅附加的方法。您可以创建多个密钥,并将它们与不同的环境和内容视图关联。例如,您可以将基本激活码与 Red Hat Enterprise Linux 工作站的订阅创建,并将其与特定环境的内容视图关联。

您可以在内容主机注册过程中使用激活码来提高进程的速度、简单性和一致性。请注意,只有在主机注册时使用激活码。如果对激活码进行了更改,它仅适用于将来使用被修改的激活码注册的主机。这些更改不会对现有主机进行任何更改。

激活码可以为内容主机定义以下属性:

  • 关联的订阅和订阅附加行为
  • 可用的产品和软件仓库
  • 生命周期阶段和内容视图
  • 主机集合成员资格
  • 系统目的

主机创建和注册之间的内容视图冲突

当您调配主机时,Satellite 使用从主机组或主机设置中设置的内容视图中的置备模板和其他内容。注册主机后,激活码中的内容视图会覆盖主机组或主机设置的原始内容视图。然后,Satellite 将激活码中的内容视图用于以后的任务,例如重建主机。

当您重建主机时,请确保设置了要在激活码中使用的内容视图,而不是在主机组或主机设置中使用。

将同样的激活码与多个内容主机一起使用

如果包含足够的订阅,您可以将相同的激活码应用到多个内容主机。但是,激活码仅为内容主机设置初始配置。当内容主机注册到某个机构时,可以手动将组织的内容附加到内容主机。

将多个激活码与内容主机搭配使用

内容主机可以与组合的多个激活码关联,以定义主机设置。如果设置冲突,则最后指定的激活码将具有优先权。您可以通过设置主机组参数来指定优先级顺序,如下所示:

$ hammer hostgroup set-parameter \
--hostgroup "My_Host_Group" \
--name "My_Activation_Key" \
--value "name_of_first_key", "name_of_second_key", ...

10.1. 创建激活码

您可以使用激活码定义在注册过程中附加到主机的特定订阅集合。您添加到激活码的订阅必须在关联的内容视图中可用。

Subscription Manager 根据以下因素的不同附加订阅:

  • 是否有任何与激活码关联的订阅?
  • auto-attach 选项是否已启用?
  • 对于 Red Hat Enterprise Linux 8 主机:在激活码中是否设置了系统目的?

请注意,Satellite 仅为主机上安装的产品自动附加订阅。对于默认情况下不列出在 Red Hat Enterprise Linux 上安装的产品的订阅,如延长更新支持(EUS)订阅,请使用指定所需订阅的激活码并禁用 auto-attach。

根据前面的因素,使用激活码订阅三个可能的情况:

  1. 自动附加订阅的激活码。

    如果没有指定订阅并自动附加,使用激活码搜索主机会从与激活码关联的内容视图提供的最适合订阅。这与输入 subscription-manager --auto-attach 命令类似。对于 Red Hat Enterprise Linux 8 主机,您可以配置激活码,以便在注册过程中在主机上设置系统目的,以增强自动订阅附加。

  2. 为自动附加提供一组自定义订阅的激活码。

    如果指定了订阅并启用 auto-attach,则使用激活码的主机会从激活码中指定的列表中选择最适合的订阅。在激活码中设置系统目的不会影响这种情况。

  3. 带有完全一组订阅的激活码。

    如果指定了订阅并禁用自动附加,则使用激活码的主机将与激活码中指定的所有订阅关联。在激活码中设置系统目的不会影响这种情况。

自定义产品

如果自定义产品通常包含红帽提供的内容,分配给激活码,无论自动附加设置是什么,都会为注册的内容启用此产品。

要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程

流程

  1. 在 Satellite Web UI 中,导航到 Content > Activation keys,再点 Create Activation Key
  2. Name 字段中输入激活码的名称。
  3. 如果要设置限制,请在 Limit 字段中输入您可以使用激活码注册的最大系统数量。如果您希望无限主机使用激活码注册,请确保选择了 thick Hosts 复选框。
  4. 可选:在 Description 字段中输入激活码的描述。
  5. Environment 列表中,选择要使用的环境。
  6. Content View 列表中,选择要使用的内容视图。如果要使用已弃用的 Katello 代理 而不是 远程执行,内容视图 必须包含 Satellite Client 6 存储库,因为它包含 katello-agent 软件包。
  7. 如果启用了简单内容访问(SCA):

    1. Repository Sets 选项卡中,确保只启用命名的存储库。
  8. 如果没有启用 SCA:

    1. 单击 Subscriptions 选项卡,然后单击 Add 子菜单。
    2. 点击之前创建的订阅旁边的复选框。
    3. 单击 Add Selected
  9. 点击 Save
  10. 可选: 对于 Red Hat Enterprise Linux 8 主机,在 System Purpose 部分中,您可以使用系统目的配置激活码,以便在注册过程中在主机上设置,以增强订阅自动附加。

CLI 过程

  1. 创建激活码:

    # hammer activation-key create \
    --name "My_Activation_Key" \
    --unlimited-hosts \
    --description "Example Stack in the Development Environment" \
    --lifecycle-environment "Development" \
    --content-view "Stack" \
    --organization "My_Organization"
  2. 可选: 对于 Red Hat Enterprise Linux 8 主机,输入以下命令使用注册过程中在主机上设置的系统目的配置激活码,以增强订阅自动附加。

    # hammer activation-key update \
    --organization "My_Organization" \
    --name "My_Activation_Key" \
    --service-level "Standard" \
    --purpose-usage "Development/Test" \
    --purpose-role "Red Hat Enterprise Linux Server" \
    --purpose-addons "addons"
  3. 获取您的订阅 ID 列表:

    # hammer subscription list --organization "My_Organization"
  4. 将 Red Hat Enterprise Linux 订阅 UUID 附加到激活码中:

    # hammer activation-key add-subscription \
    --name "My_Activation_Key" \
    --subscription-id My_Subscription_ID \
    --organization "My_Organization"
  5. 列出与激活码关联的产品内容:

    1. 如果启用了简单内容访问(SCA):

      # hammer activation-key product-content \
      --content-access-mode-all true \
      --name "My_Activation_Key" \
      --organization "My_Organization"
    2. 如果没有启用 SCA:

      # hammer activation-key product-content \
      --name "My_Activation_Key" \
      --organization "My_Organization"
  6. 覆盖 Satellite 客户端 6 存储库的默认自动启用状态。默认状态被设置为 disabled。要启用,请输入以下命令:

    # hammer activation-key content-override \
    --name "My_Activation_Key" \
    --content-label rhel-7-server-satellite-client-6-rpms \
    --value 1 \
    --organization "My_Organization"