Red Hat Training

A Red Hat training course is available for Red Hat Satellite

部署指南

Red Hat Satellite 6.1

使用 Red Hat Satellite 服务器部署物理和虚拟主机的指导手册。

版 1

Red Hat Satellite 文档团队

摘要

《Red Hat Satellite 部署指南》是一本基于任务的文档,旨在帮助您安装和配置 Red Hat Satellite,使其可用于部署物理主机和虚拟主机。这包括设置所需物理拓扑、配置所需服务、并提供在网络中部署主机所需要的所有配置信息。本指南主要面向有良好网络知识和技能的 Satellite 管理员。

第 1 章 使用 Red Hat Satellite 部署简介

本指南旨在帮助您配置 Red Hat Satellite 服务器,以便部署主机。这包括安装 Red Hat Enterprise Linux、论述典型网络拓扑及预期的可用服务、并在 Red Hat Subscription Management 中注册主机。

1.1. 创建 Red Hat Enterprise Linux 主机

在 x86_64 中使用 @Core 或 @Base 软件包集合安装 Red Hat Enterprise Linux Server 版本 6.6 或之后的版本。有关安装 Red Hat Enterprise Linux 的详情请查看 《Red Hat Enterprise Linux 6 安装指南》

1.2. 设置网络拓扑

本指南假设在可启用 DHCP、DNS 和 TFTP 的专用子网中部署运行 Satellite 6 的主机。这些示例使用 172.17.13.0/24 子网以及由 Satellite 管理的 example.org DNS 域。
这些示例还假设在 Satellite 主机中使用以下网络详情。调整这些参数以适应您的部署:
  • 主机名:satellite.example.org
  • IP 地址 = 172.17.13.2
  • 子网掩码:255.255.255.0

1.3. 注册和配置主机

下面一节论述了如何注册主机、识别订阅并添加那些订阅,以便主机可以使用内容。

1.3.1. 在 Red Hat Subscription Management 中注册

首先是要在 Red Hat Subscription Management 中注册该主机。这样可让该主机订阅并使用该用户可使用的任意订阅内容,其中包括 Red Hat Enterprise Linux、Red Hat Software Collections(RHSCL)和 Red Hat Satellite。请使用 subscription_manager register 命令注册 Satellite:
# subscription-manager register
Username: demouser
Password:
The system has been registered with ID: 541084ff2-44cab-4eb1-9fa1-7683431bcf9a

1.3.2. 识别 Satellite 订阅

注册主机后,需要识别 Satellite 订阅池 ID。您需要这个 ID 方可将所需订阅添加到您的主机中。可使用该 Satellite 订阅访问 Satellite 内容、Red Hat Enterprise Linux,、Red Hat Software Collections(RHSCL)和 Red Hat Satellite。这是唯一需要的订阅。
运行以下命令识别 Satellite 订阅:
# subscription-manager list --all --available
Subscription Name: Red Hat Satellite
Provides:          Oracle Java (for RHEL Server)
                   Red Hat Satellite 6 Beta
                   Red Hat Enterprise Linux Server
                   Red Hat Satellite
                   Red Hat Enterprise Linux Load Balancer (for RHEL Server)
SKU:               MCT0370
Pool ID:           8a85f9874152663c0541943739717d11
Available:         3
Suggested:         1
Service Level:     Premium
Service Type:      L1-L3
Multi-Entitlement: No
Ends:              10/07/2014
System Type:       Physical

重要

请记录池 ID;您需要这个信息方可将订阅添加到 Satellite 主机中。在这个示例中,池 ID 为 8a85f9874152663c0541943739717d11。为您的订阅分配的池 ID 会有所不同。
运行以下命令在 Satellite 中添加订阅。请确定使用您自己的池 ID:
# subscription-manager attach --pool=8a85f9874152663c0541943739717d11
Successfully attached a subscription for: Red Hat Satellite
运行以下命令确定以成功添加订阅:
# subscription-manager list --consumed
+-------------------------------------------+
   Consumed Subscriptions
+-------------------------------------------+
Subscription Name: Red Hat Satellite
Provides:          Red Hat Satellite
                   Red Hat Enterprise Linux Server
                   Red Hat Software Collections (for RHEL Server)
                   Red Hat Satellite Beta
                   Red Hat Satellite 6 Beta
                   Red Hat Software Collections Beta (for RHEL Server)
                   Red Hat Satellite Capsule Beta
                   Red Hat Enterprise Linux Load Balancer (for RHEL Server)
                   Red Hat Satellite with Embedded Oracle
                   Red Hat Satellite Capsule
                   Red Hat Enterprise Linux High Availability (for RHEL Server)
SKU:               MCT0370
Contract:          10293569
Account:           5361051
Serial:            1653856191250699363
Pool ID:           8a85f9874152663c0541943739717d11
Active:            True
Quantity Used:     1
Service Level:     Premium
Service Type:      L1-L3
Status Details:
Starts:            10/08/2013
Ends:              10/07/2014
System Type:       Physical

1.3.3. 配置存储库

需要禁用全部现有的存储库,Red Hat Enterprise Linux 6、Red Hat Software Collections 和 Satellite 6 除外。请运行以下命令:
# subscription-manager repos --disable=*
# subscription-manager repos --enable rhel-6-server-rpms \n--enable rhel-server-rhscl-6-rpms --enable rhel-6-server-satellite-6.0-rpms

1.3.4. 安装 Satellite 6

运行以下命令安装 Satellite 6:
# yum install katello

第 2 章 配置 Red Hat Satellite 服务

在这个示例配置中,Satellite 负责在 172.17.13.0/24 子网中部署主机。本小节论述了如何配置 DNS、DHCP 和 TFTP,以便为要在该子网中部署的客户端提供服务。

2.1. 配置 DNS、DHCP 和 TFTP

本小节论述了如何将 Satellite 配置为运行 BIND(named),以便为 example.org 域和 172.17.13.x 子网提供权威 DNS 服务。这需要在 example.org 区域文件中设定用于正向查找的 DNS 区域。另外,还需要为 172.17.13.x 子网创建用于反向查找的 DNS 区域,该信息将包含在 13.17.172.in-addr.arpa 反向区域文件中。这样可保证使用 Satellite 部署的主机使用正确的名称解析参数。本小节还论述了如何配置 TFTP 代理服务器,以便使用 PXE 引导该主机。
这个网络中的客户端将有如下特征:
  • DHCP 可访问的 IP 地址范围是 172.17.13.100 到 172.17.13.150 。
  • 在 DNS 中使用 Satellite(172.17.13.2 中的 satellite.example.org)。
  • 从 Satellite(172.17.13.2 中的 satellite.example.org)接收 pxelinux.0 文件,以便启用 PXE 引导。
  • 主机名 hostname.example.org,部署主机时会配置 hostname

重要

这个示例在 Satellite 服务器中启用了 DHCP 服务。执行前请咨询网络管理员。

2.1.1. Satellite 配置选项

下表论述了正确配置 Satellite 服务所需的各种选项及选项值。katello-installer 命令使用 Puppet;并因此安装附加软件包(bind、dhcp、xinetd 等等),然后将其配置为添加请求的功能。
有关可用选项的完整列表,请运行 katello-installer --help

表 2.1. Satellite 配置选项

选项
描述
选项值
--foreman-admin-username 初始管理员的用户名。 (用户指定)
--foreman-admin-password 初始管理员的密码。 (用户指定)
--capsule-dns 启用 DNS 代理服务器功能。 yes
--capsule-dns-interface named 应侦听的接口。 eth0
--capsule-dns-zone Satellite 托管的正向 DNS 区域。 example.org
--capsule-dns-forwarders 向其转发未知查询的 DNS 服务器。 172.17.13.1
--capsule-dns-reverse Satellite 托管的反向 DNS 区域,通常是 IP 地址前三位八进制数(172.17.13)的反向排列,并附加 ".in-addr.arpa"。 13.17.172.in-addr.arpa
--capsule-dhcp 启用 DHCP 代理服务器功能。 yes
--capsule-dhcp-interface DHCP 要侦听的接口。 eth0
--capsule-dhcp-range 为客户端提供的 IP 地址范围。 172.17.13.100 172.172.13.150
--capsule-dhcp-gateway 为客户端提供的默认网关 IP 。 172.17.13.1
--capsule-dhcp-nameservers 客户端用来解析名称的主机。在这个部署模式中应使用 Satellite 的 IP 进行配置。 172.17.13.2
--capsule-tftp 启用 TFTP 代理服务器功能。使用 PXE 引导客户端时需要这个功能。 yes
--capsule-tftp-servername 设定 TFTP 主机名。将其设定为与服务器主机名映射(satellite.example.org)。 $(hostname)
--capsule-puppet 启用 Puppet Master。 yes
--capsule-puppetca 启用 Puppet CA。 yes

2.1.2. 配置 Satellite 服务

作为 root 运行下列 katello-installer 命令,使用指定选项在 Satellite 服务器中配置所需服务。请记住使用所需管理员用户名和密码替换相应内容。

重要

  • 如果已按照《安装指南》说明安装 Satellite,请勿在下面的命令中包含 --foreman-admin-username--foreman-admin-password 选项。
  • 如果没有指定管理员用户名和密码,则会创建默认用户 admin,并自动生成密码。安装进程结尾会显示该证书。请记录这个密码。也可以在 /etc/katello-installer/answers.katello-installer.yaml 文件的 admin_password 密码部分检索该密码。
katello-installer \n--foreman-admin-username admin-username \n--foreman-admin-password admin-password \n--capsule-dns true \n--capsule-dns-interface eth0 \n--capsule-dns-zone example.org \n--capsule-dns-forwarders 172.17.13.1 \n--capsule-dns-reverse 13.17.172.in-addr.arpa \n--capsule-dhcp true \n--capsule-dhcp-interface eth0 \n--capsule-dhcp-range "172.17.13.100 172.17.13.150" \n--capsule-dhcp-gateway 172.17.13.1 \n--capsule-dhcp-nameservers 172.17.13.2 \n--capsule-tftp true \n--capsule-tftp-servername $(hostname) \n--capsule-puppet true \n--capsule-puppetca true
在安装过程最后阶段,katello-installer 会显示安装状态。
 成功!
  * Katello 正在 https://satellite.example.org 中运行
      默认证书为 'admin:*******'
  * Capsule 正运行于 https://satellite.example.org:9090
  * 要在另一台独立机器中继续安装附加 capsule,请运行:"

      capsule-certs-generate --capsule-fqdn "$CAPSULE" --certs-tar "~/$CAPSULE-certs.tar"

  完整日志请参考 /var/log/katello-installer/katello-installer.log
使用网页浏览器浏览 https://satellite.example.org,显示 Satellite 主页。这个示例使用默认机构(Default_Organization)和默认位置。

2.2. 将对象与默认机构及位置关联

因为 Satellite 6 支持多机构(逻辑管理部分)和多位置(内容发布的实体部分),需要将模板、子网和其他部署所需项目与默认机构(Default_Organization)和默认位置(Default_Location)关联。
请按照以下步骤执行,以便默认机构(Default_Organization)可使用“预先放置”的内容:

过程 2.1. 指定默认位置:

  1. 在主菜单中,点击 管理位置,然后点击 名称 中的 Default_Location 栏。
  2. 点击 机构 显示机构列表。
  3. 点击 Default_Organization 将其添加到 已选项目 列表,然后点击 提交

过程 2.2. 指定默认机构:

  1. 在主菜单中,点击 管理机构,然后点击 名称 中的 Default_Organization 栏。
  2. 点击 位置 显示可用位置列表。
  3. 点击 Default_Location 将其添加到 已选项目 列表中,然后点击 提交

过程 2.3. 将域与默认机构关联:

  1. 在主菜单中,点击 架构,打开 页面。
  2. 点击 描述 栏中的 example.org。这样会打开 编辑域 页面,可以在这里更新该域的详情。
  3. 标签中更改 DNS 域以体现 Satellite 的主机名。
  4. 将 Satellite 服务器值设定为 DNS Capsule
  5. 位置 标签中点击 Default_Location,将其添加到 已选项目 列表中。这样就将该域与默认位置关联。
  6. 机构 标签中点击 Default_Organization,将其添加到 已选项目 列表中。这样就将该域与默认机构关联。
  7. 点击 提交 应用所做的更改。

过程 2.4. 选择默认子网:

  1. 在主菜单中,点击 架构子网
  2. 点击 新建子网,然后填写以下信息。请更新详情,以便适合您的部署:
    • 名称:Provisioning_Net
    • 网络地址:172.17.13.0
    • 子网掩码:255.255.255.0
    • 网关:172.17.13.1
    • 主 DNS 服务器:172.17.13.2
    • 辅 DNS 服务器:空白
    • IP 范围起点:172.17.13.100
    • IP 范围终点:172.17.13.150
    • VLAN ID:空白
  3. 点击 提交
  4. 点击 Provisioning_Net 编辑子网。
  5. 标签中选择 example.org
  6. Capsules 标签中更改 DNS、DHCP 和 TFTP capsule 域以体现 Satellite 的主机名。
  7. 位置 标签中的 所有项目 中选择 Default_Location 将其与默认位置关联。
  8. 机构 标签中的 所有项目 中选择 Default_Location 将其与默认机构关联。

过程 2.5. 将安装介质与机构和位置关联:

  1. 在主菜单中,点击 主机安装介质
  2. 名称 栏中点击要使用的介质名称。
  3. 位置 标签中向所选项列表添加所需位置。
  4. 机构 标签中向所选项礼拜添加所需机构,然后点击 提交

第 3 章 导入订阅及同步内容

本章论述了如何设置 Satelllite 以便下载和管理内容。包括向 Satellite 服务器上传清单文件、启用 Red Hat 存储库、生成自定义产品以及同步内容。

3.1. 生成清单

本小节论述了如何生成适合 Red Hat Satellite 的清单。

过程 3.1. 为 Satellite 6 生成清单:

  1. 导航至 access.redhat.com 并在主菜单中点击 订阅
  2. Red Hat 订阅管理 部分的 订阅管理应用程序 中点击 Satellite
  3. 找到需要生成清单的系统。请确定选择正确的版本。
  4. 为每个要添加的订阅选中该订阅旁边的复选框,并指定要添加的订阅数量。
  5. 点击 附加已选项目

    注意

    添加所有订阅需要几分钟时间。请每隔几分钟刷新一次页面,直到收到已附加订阅的确认信息为止。
  6. 附加所有订阅后,请点击 下载清单,并将该清单文件保存在已知位置。

3.2. 将清单上传到 Satellite 服务器

过程 3.2. 要将清单上传到 Satellite 服务器:

  1. 如果还没有选择正确的机构,请点击 任意上下文任意机构Default_Organization
  2. 点击 内容Red Hat 订阅
  3. 点击 管理清单,打开 订阅 页面。
  4. 点击 浏览 选择合适的清单,然后点击 打开
  5. 点击 上传,将清单上传到 Satellite 服务器。

3.3. 启用 Red Hat 存储库

本小节论述了如何启用所需 Red Hat 存储库,以便支持部署 Red Hat Enterprise Linux 6 主机。请选择适合您部署的发行本。这个步骤会启用以下存储库:
  • Red Hat Enterprise Linux 6 Server(Kickstart):允许 Satellite 以 kickstart 方式安装主机。这与 Satellite 5 "kickstart tree" 基本相同。
  • Red Hat Enterprise Linux 6 Server(RPM):提供不断更新的内容和勘误。这与 Satellite 5 "rhel-x86_64-server-6" 频道基本相同。
  • Red Hat Enterprise Linux 6 Server - Satellite 工具(RPM):提供支持的软件包,比如 Puppet 和 katello-agent。这与 Satellite 5 "rhn-tools-rhel-x86_64-server-6" 频道基本相同。

过程 3.3. 要启用 Red Hat 存储库:

  1. 选择 内容Red Hat 存储库
  2. Kickstarts 标签中,导航至 Red Hat Enterprise Linux ServerRed Hat Enterprise Linux 6 Server (Kickstart),选择 Red Hat Enterprise Linux 6 Server Kickstart x86_64 6.5(或更新的)存储库。

    重要

    请勿选择 6Server Kickstart 存储库;Satellite 未来的版本会隐藏这些不必要的 Kickstart 存储库。
  3. 请在 RPMs 标签中导航至 Red Hat Enterprise Linux ServerRed Hat Enterprise Linux 6 Server (RPMs),选择 Red Hat Enterprise Linux 6 Server RPMs x86_64 6Server 存储库。
  4. 请在 RPMs 标签中导航至 Red Hat Enterprise Linux ServerRed Hat Enterprise Linux 6 Server - Satellite Tools(RPMs),选择 Red Hat Enterprise Linux 6 Server - Satellite Tools RPMs x86_64 存储库。

3.4. 创建自定义产品和存储库

本小节论述了如何创建自定义产品,以体现要部署的 Puppet 模块。还可以使用这个步骤为 Puppet 和 Yum 创建自定义存储库。

过程 3.4. 要创建自定义产品:

  1. 点击 内容产品,然后点击 新建产品
  2. 名称 字段输入 自定义产品。这个标签可自动生成。不需要输入 GPG 密钥、同步计划或描述。
  3. 点击 保存
  4. 刷新页面后,点击 创建存储库
  5. 在名称中输入 Puppet Modules。标签会自动生成。
  6. 类型 字段,选择 puppet。保留 URL 字段为空白。
  7. 点击 保存
下一步是将 Puppet 模块上传到 Puppet 模块存储库。还可以将 https://forge.puppetlabs.com 作为 URL,在本地镜像 Puppet Forge。即 Puppet Forge 中的所有内容均可用于您的 Satellite。但这需要下载 2700 多个模块,并消耗大量时间,具体要看可用的带宽。这个示例使用 motd 模块,因为它简单,且没有与其他模块间的相依性问题。

过程 3.5. 将 Puppet 模块上传到存储库:

  1. https://forge.puppetlabs.com/jeffmccune/motd 下载 motd puppet 模块。下载的文件有 .tar.gz 扩展名。
  2. 点击 内容产品,然后点击 名称 字段中的 自定义产品
  3. 标签中,点击 Puppet 模块 即可修改 Puppet 模块存储库。
  4. 上传 Puppet 模块 部分,点击 浏览,并导航至下载的 motd 模块。
  5. 点击 上传

3.5. 同步内容

本小节论述了如何从 Red Hat 内容发布网络将存储库与 Satellite 同步。这个步骤还可用来同步包含存储库 URL 的自定义存储库(即 Yum 或 Puppet)。

过程 3.6. 要将存储库与 Satellite 同步:

  1. 点击 内容同步状态 显示可用产品列表。
  2. 导航至 Red Hat Enterprise Linux Server6Serverx86_64
  3. 选择以下产品:
    • Red Hat Enterprise Linux 6 Server RPMs x86_64 6Server。
    • Red Hat Enterprise Linux 6 Server - Satellite Tools RPMs x86_64。
  4. 导航至 Red Hat Enterprise Linux Server6.6x86_64,并选择 Red Hat Enterprise Linux 6 Server Kickstart x86_64 6.6。
  5. 点击 现在同步
等待存储库同步,可能需要几个小时,具体要看可用的带宽。

第 4 章 内容管理及推广

本章论述了如何设置应用程序生命周期环境和内容视图,同时也介绍了如何添加 Red Hat Enterprise Linux 存储库和 Puppet 模块。它还论述了如何发布内容视图,以及如何创建并编辑激活码。
本章中的步骤假设已成功完成 第 3 章 导入订阅及同步内容 中的步骤。

4.1. 创建应用程序生命周期环境

应用程序生命周期环境代表软件开发生命周期(Software Development Life Cycle,SDLC)推广路径中的一个步骤或阶段。这个示例的第一部分是配置两个生命周期环境:Dev 和 QA。第二部分是创建使用那些环境的内容视图。

过程 4.1. 创建应用程序生命周期环境:

  1. 点击 内容生命周期环境,打开 生命周期环境路径 页面。
  2. 点击 添加新环境,显示 新建环境 页面。 是可以在环境中使用的所有内容的起点。
  3. 名称 字段中输入 Dev;可使用相同的名称自动填写该标签,但也可更改这个名称以适应您的需要。如有必要可添加环境描述。
  4. 点击 保存,保存这个新环境并返回上一页。
  5. 再次点击 添加新环境,这次创建名为 QA 的环境。
  6. 点击 保存

4.2. 创建内容视图

内容视图是管理的一组内容,其中包括一个或多个附带自选过滤的存储库(yum 或者 Puppet)。可选择包含或不包含这些过滤器,并为生命周期管理定制内容视图主机。可使用它们为客户端主机自定义可用内容。

过程 4.2. 要创建内容视图:

  1. 点击 内容内容视图,然后点击 创建新视图
  2. 名称 字段中输入 RHEL6 x86_64;可自动填写该标签。
  3. 确定取消选择 复合视图 复选框,然后点击 保存
成功生成内容视图后,会自动显示 存储库选择 页面。使用此页面在内容视图中添加所选存储库和 Puppet 模块。

4.3. 添加 Red Hat Enterprise Linux 存储库

以下步骤论述了如何在上一步创建的内容视图中添加企业版 Linux 存储库。可以使用同样的步骤添加任意 Red Hat 或自定义存储库。
这个示例显示了发布所有内容的简单使用示例。还可以创建过滤器,以便控制所发布内容视图中包含或不包含的内容。

过程 4.3. 要添加 Red Hat Enterprise Linux RPM 存储库:

  1. 内容选择 页面的 添加 标签中,选择以下存储库旁边的复选框:
    • Red Hat Enterprise Linux 6 Server Kickstart x86_64 6Server
    • Red Hat Enterprise Linux 6 Server RPMs x86_64 6Server
    • Red Hat Enterprise Linux 6 Server - Satellite Tools RPMs x86_64
  2. 点击 添加存储库。刷新该页面后,可以在 列出/删除 标签中看到内容视图中的可用存储库。

4.4. 添加 Puppet 模块

以下步骤论述了如何添加上传到 过程 3.5, “将 Puppet 模块上传到存储库:” 的 motd Puppet 模块。Puppet 模块是独立代码和数据包,可用来管理资源(比如用户、文件和服务)。

过程 4.4. 要添加 Puppet 模块:

  1. 确定仍处于 内容视图 页面。请在主菜单中点击 内容内容视图
  2. Puppet 模块 标签中点击 添加新模块显示可用 Puppet 模块列表。可以使用 过滤器 字段帮助确定所需模块。
  3. 点击 选择版本 选择 motd 模块。
  4. 点击所要添加模块版本旁的 选择版本 按钮 。

    注意

    如果在选择要使用的 Puppet 模块版本时选择“使用最新版本”,则意味着无论何时发布新的内容视图版本,都会将该模块的最新版本包含在发布的视图中。

4.5. 发布内容视图

成功完成所有步骤后,Red Hat Satellite 就有一个包含三个 Red Hat Enterprise Linux 存储库和一个 Puppet 模块的内容视图。下一步是将其发布到库中。

过程 4.5. 要将内容视图发布到库中:

  1. 点击 内容内容视图,显示 内容视图 页面。
  2. 点击要发布的内容视图名称。
  3. 点击 发布新版本,显示 发布新版本 页面。这会指定该版本,并允许输入注释,以体现对内容视图的修改。
  4. 点击 保存 将内容视图发布到库中。可以在出现的页面中监控发布过程。
  5. 完成发布进程后,点击 推广,显示可用推广路径列表(Library -> Dev -> QA)。
  6. 选择用于 Dev 环境的复选框,然后点击 推广版本

4.6. 创建和编辑激活码

成功发布内容视图后,需要创建激活码。在稍后的步骤中,会将激活码与主机组关联。这样就会在 Satellite 中注册这个部署的主机,并将其与所选生命周期环境、内容视图、订阅等关联。

过程 4.6. 要创建激活码:

  1. 在主菜单中,点击 内容激活码,然后点击 新建激活码
  2. 在名称字段输入 ak-Reg_to_Dev
  3. 在此示例中,取消选择 内容主机限制 复选框。
    可以使用这个字段控制使用激活码的次数。例如:如果将该激活码与拥有有限数量的订阅关联,则可以为该激活码设定限制,以免超过该数量。
  4. 为 Dev 环境选择复选框。
  5. 内容视图 下拉菜单中,选择 RHEL 6 x86_64 内容视图,然后点击 保存
创建激活码后即可为那个激活码编辑各种参数。

过程 4.7. 要编辑激活码参数:

  1. 激活码 页面点击 订阅添加,显示可用订阅列表。
  2. 选择要附加到使用这个激活码的 每台 主机的每个订阅旁边的复选框。
  3. 点击 添加所选

第 5 章 完成部署配置

成功创建内容视图和激活码后,需要设置部署主机所需的其他项目。这包括配置部署模板及创建主机组。

5.1. 创建部署模板

本小节论述了如何设置可用来部署采用相同配置的多台主机的部署模板。

过程 5.1. 要创建部署模板:

  1. 在主菜单中,点击 主机部署模板
  2. 名称 栏中,点击部署模板列表中的 Satellite Kickstart Default。此时会显示可以用来自定义模板的配置标签。
  3. 关联 标签的可应用操作系统中选择 RHEL Server 6.5,然后点击 提交
  4. 名称 栏的部署模板列表中点击 Kickstart Default PXELinux
  5. 关联 标签的可应用操作系统中选择 RHEL Server 6.5,然后点击 提交
  6. 在主菜单中点击 主机操作系统,然后点击 RHEL Server 6.5。此时会显示可以自定义操作系统的配置标签。
  7. 分区表 标签中选择 Kickstart Default
  8. 在安装介质标签中确定可以看到并选择 Default_Organization/Library/Red_Hat_6_Server_Kickstart_x86_64_6Server。
  9. 在模板标签的 PXELinux 下拉菜单中选择 Kickstart default PXELinux
  10. 部署 下拉菜单中选择 Satellite Kickstart Default,然后点击 提交

5.2. 创建主机组

本小节论述了如何创建和配置主机组。主机组为有效主机模板,可以重复使用部署多台主机,而无需为每台主机指定相同的属性。

过程 5.2. 创建主机组:

  1. 在主菜单中点击 配置主机组,然后点击 新建主机组
  2. 主机组 标签填写以下内容:
    • 名称:RHEL6Server-x86_64
    • 生命周期环境:Default_Organization/DEV
    • 内容视图:RHEL_6_x86_64

      注意

      生命周期环境 字段输入数值后方可显示这个字段。
    • 内容源:Capule(可以是 Satellite 服务器)的 FQDN。
    • Puppet CA:Satellite 的 FQDN。
    • Puppet Master:Satellite 的 FQDN。
  3. Puppet 分类标签的可用分类列表中选择 motd puppet 模块。
  4. 网络 标签中选择以下值:
    • :example.org
    • 子网:Provisioning_Net
    • 范围:在这个示例中此字段为空白。如果已配置范围管理,例如 IPA,请在此选择适当的范围。
  5. 操作系统 标签中选择以下值:
    • 架构:x86_64
    • 操作系统:RHEL Server 6.5
    • 介质:Default_Organization/Library Red Hat Server 6.5 x86_64。在这个示例中自动填写这个字段。

      注意

      如果没有自动填写这个字段,则意味着没有正确配置机构和位置关联。详情请查看 过程 2.5, “将安装介质与机构和位置关联:”
    • 分区表:Kickstart default
    • Root 密码changeme
  6. 位置 标签中选择 Default_location。
  7. 机构 标签中选择 Default_Organization。
  8. 激活码 标签中,从 激活码 可用列表中选择 ak-Reg_To_Dev。
  9. 点击 提交

第 6 章 部署主机

本章论述了如何使用 Red Hat Satellite 服务器部署新主机。前面各章已论述了如何进行部署所需的安装和配置;尝试部署主机前,请确定已成功完成那些章节中的所有任务。
Satellite 提供两个部署主机的方法:PXE 引导(需要 DHCP 和 TFTP 服务);及引导盘部署(在 PXE 服务不可用时提供主机部署)。

6.1. 使用 PXE 部署主机

以下步骤论述了如何使用 Satellite 6 服务器部署主机。

过程 6.1. 部署主机:

  1. 在主菜单中,点击 主机新主机,打开 新建主机 页面。
  2. 主机 标签中填写以下内容:
    • 名称:选择一个适合主机的名称。例如:host1.example.org
    • 主机组:选择 RHEL6Server-x86_64

      注意

      新建主机将继承为该主机组配置的默认值。就是说可以快速构建主机,无需修改那些数值。
    • 内容源:Satellite 的 $FQDN。会根据主机组自动选择。
  3. 网络 标签中填写以下内容:
    • MAC 地址:新建主机的 MAC 地址。Satellite 使用这个值保留一个 DHCP 地址。请确定正确输入该地址。
    • 子网Provisioning_Net 这个值会自动填入。
    • IP 地址:这个值会自动填入。
    请勿修改 Puppet 分类操作系统参数附加信息 标签。
  4. 点击 提交
  5. 启动主机(物理机或虚拟机均可);它将采用 PXE 引导,并开始安装进程。

6.2. 使用引导盘部署主机

Satellite 网络部署模式一般使用 PXE 完成,并需要 DHCP 和 TFTP 服务。因为不是所有 Satellite 部署都可使用这些服务,所以这个引导盘功能可提供具体主机、完整主机及通用引导盘映像类型,以便在各类部署中启用配置。
每个引导盘映像类型都有其各自的优点,但都可用于无需控制网络架构的环境,因此不需要 DHCP 保留或 TFTP 设定。
引导映像都是以混合 ISO 映像形式编写(可作为 ISO 文件或 USB 磁盘使用),并可通过物理介质或虚拟磁盘或 CD 引导。

表 6.1. 引导映像类型特征比较

类型 通用 是否需要 DHCP 是否需要 DHCP 保留 预注册主机 具体操作系统
具体主机映像
完整主机映像
通用映像

6.2.1. 前提条件

通常会默认安装所有 Satellite 引导盘功能所需软件包。继续运行前请确定满足以下条件:
  • 无论使用哪种类型的映像,在使用该映像引导前必须在 Satellite 中注册该主机。这些主机是根据其 MAC 或 IP 地址进行识别,以便在该主机处于构建模式时提供正确的部署模板。
  • 对于具体主机映像,请确定填写主机 IP 地址及子网,并正确配置该子网的网关、子网掩码和 DNS 解析程序。导航至 架构子网,配置这些值。
  • 要让非管理用户访问这些映像,请为用户添加 "Boot disk access" 角色,或者在现有角色中添加 "download_bootdisk" 权限。
  • 确定正确的 iPXE 部署模板可用。Red Hat Enterprise Linux 使用 "Kickstart default iPXE" 模板。

    注意

    目前尚不支持 gPXE 映像。
    主机及通用映像类型是基于 iPXE 技术,可支持 PXELinux 的不同硬件驱动程序集合。有关支持硬件的列表请查看 http://ipxe.org/appnote/hardware_drivers
    如果遇到与 iPXE 有关的问题,完整主机映像中包含内置内核及 RAM 磁盘,并可载入任意类型网卡,包括那些不包含 PXE 支持的网卡。
  • 确定正确的标准模板可用。Red Hat Enterprise Linux 使用 "Kickstart RHEL default" 作为默认部署模板。

重要

如果不使用默认 Satellite kickstart 部署模板,请确定所使用的模板提供配置操作系统所需的静态 IP 详情。 kickstart 文件可采用以下配置:
network --bootproto <%= @static ? "static" : "dhcp" %> --hostname <%= @host %> <%= " --ip=#{@host.ip} --netmask=#{@host.subnet.mask} --gateway=#{@host.subnet.gateway} --nameserver=#{@host.subnet.dns_primary},#{@host.subnet.dns_secondary}" if @static %>

6.2.2. 创建引导盘映像

本小节论述了如何创建具体主机及通用引导盘映像。可使用网页 UI 或命令行创建映像,下面就两种方法均进行论述。

注意

要使用命令行创建映像,请确定安装 ruby193-rubygem-foreman_bootdisk 软件包。通常会默认安装该软件包。

6.2.2.1. 创建主机具体映像

使用 Satellite 中的主机和子网数据创建静态联网的具体主机映像。该行为是动态的,Satellite 的映像链载入,以及随后的当前操作系统状态及构建状态均由 Satellite 提供,而不是保存在该映像中。

过程 6.2. 要使用网页 UI 创建具体主机映像:

  1. 请导航至 主机所有主机,并点击正确的主机名。
  2. 点击 引导盘,然后点击 主机 hostname 映像
要使用 hammer CLI 功能创建具体主机映像,请运行以下命令:
# hammer bootdisk host --host client.example.com
要使用 Satellite 服务器中的命令行创建具体主机映像,请运行以下命令:
# foreman-rake bootdisk:generate:host NAME=client.example.com OUTPUT=/tmp
OUTPUT 设定为适合的目的路径,可以是目录,也可以是文件。foreman 用户必须有指定目的地的写入权限。

6.2.2.2. 创建完整主机映像

完整主机映像与具体主机映像类似,但不是在 Satellite 进行链载入,这些映像包含初始操作系统引导装载程序。这对无法进行链载入的主机非常有帮助,缺点是该映像可能会过期,比如主机操作系统、引导装载程序或模板有变化;或者需要构建令牌,但该令牌过时。

过程 6.3. 要使用网页 UI 创建完整主机映像:

  1. 请导航至 主机所有主机,并点击正确的主机名。
  2. 点击 引导盘,然后点击 完整主机 hostname 映像
创建完整主机映像所需时间较长,因为该过程会下载操作系统引导装载程序,该程序可能会很大。
要使用 hammer CLI 功能创建完整主机映像,请运行以下命令:
# hammer bootdisk host --host client.example.com --full true
要使用 Satellite 服务器中的命令行创建完整主机映像,请运行以下命令:
# foreman-rake bootdisk:generate:full_host NAME=client.example.com

6.2.2.3. 创建通用映像

通用映像提供可在所有注册主机中使用的单一 ISO 文件。无法在这些映像中保存 IP 地址详情,这就意味着将来必须提供 DHCP 协议。必须使用通用映像引导该主机,然后联络 Satellite 获取注册主机的模板与 MAC 地址匹配,或者获取由 DHCP 分配的主机 IP。
可使用 DHCP 分配的 IP 地址或静态 IP 地址继续安装,具体要看所配置的操作系统 iPXE 模板。可使用 kickstart 文件指定附加网络配置选项。

过程 6.4. 要使用网页 UI 创建通用映像:

  1. 请导航至 主机所有主机,并点击正确的主机名。
  2. 点击 引导盘,然后点击 通用映像
要使用 hammer CLI 功能创建通用映像,请运行以下命令:
# hammer bootdisk generic
要使用 Satellite 服务器中的命令行创建通用映像,请运行以下命令:
# foreman-rake bootdisk:generate:generic

6.2.2.4. 创建 USB 映像

创建 ISO 文件时还会运行 isohybrid 命令,就是说得到的文件还可以作为磁盘引导,并可复制到 USB 设备中。
要将 ISO 文件复制到 USB 设备中,请运行以下命令。请确定设备名称及输入文件对您的环境来说是正确的:
# dd if=fqdn.iso of=/dev/sdX

6.3. 使用静态 IP 地址配置主机

Red Hat Satellite 6 预期所有系统都进行 DHCP 配置,因为它为给定的 MAC 地址保留 DHCP 记录。也可以使用自定义配置模板、主机参数、或根据子网信息为主机提供静态 IP 地址。

6.3.1. 使用自定义模板分配静态 IP 地址

可创建为所有部署的主机提供静态 IP 的自定义部署模板。您可以复制 PXE 配置模板,并将其与不同的操作系统关联,例如 "RHEL 7.1 static"。这样就可以在 kickstart 某个系统时收到静态 IP。目前需要这个方法是因为 Satellite 6.0 和 6.1 不支持动态选择或者现有 "创建新主机" 流程中的静态 IP 配置。
这个方法需要编辑 PXE 模板,启动静态联网。可根据下述说明编辑 PXE 模板,并在每个 foreman_url('provision') 实例的结尾处添加 &static=yes。

过程 6.5. 要编辑模板,请:

  1. 请导航至 主机全部主机,并点击要编辑器模板的主机名称。
  2. 点击 模板 标签,显示可用模板类型列表。
  3. PXELinux 模板 类型中点击 编辑。此时会在模板编辑器中显示模板。
  4. 根据要求进行修改,并点击 提交。有关如何更新 PXE 模板的详情请查看 例 6.1 “编辑 PXE 模板分配静态 IP 地址”

例 6.1. 编辑 PXE 模板分配静态 IP 地址

default linux
label linux
kernel <%= @kernel %>
<% if @host.operatingsystem.name == 'Fedora' and @host.operatingsystem.major.to_i > 16 -%>
append initrd=<%= @initrd %> ks=<%= foreman_url('provision')%>&static=yes ks.device=bootif network ks.sendmac
<% elsif @host.operatingsystem.name != 'Fedora' and @host.operatingsystem.major.to_i >= 7 -%>
append initrd=<%= @initrd %> ks=<%= foreman_url('provision')%>&static=yes network ks.sendmac
<% else -%>
append initrd=<%= @initrd %> ks=<%= foreman_url('provision')%>&static=yes ksdevice=bootif network kssendmac
<% end -%>
IPAPPEND 2

6.3.2. 使用主机参数分配静态 IP 地址

可使用主机参数在每台主机中设置静态 IP 地址。创建新主机后,请导航至 主机新主机,然后在 参数 标签中输入所需参数。
例 6.2 “使用主机参数分配静态 IP 地址” 演示了如何将 if 与主机参数和用设定静态 IP 地址。

例 6.2. 使用主机参数分配静态 IP 地址

<% if @host.params['my_param_deploy_static'] == "true" -%>
   network --bootproto <%= "static --ip=#{@host.ip} --netmask=#{@host.subnet.mask} --gateway=#{@host.subnet.gateway} --nameserver=#{[@host.subnet.dns_primary,@host.subnet.dns_secondary].reject{|n| n.blank?}.join(',')}" %> --hostname <%= @host %>
<% else -%>
   network --bootproto 'dhcp' --hostname <%= @host %>
<% end -%>

6.3.3. 使用子网设定静态 IP 地址

可将 Red Hat Satellite 配置为根据主机子网部署使用静态 IP 地址的主机。设定子网时,可指定 DHCP 或静态引导模式。Red Hat Enterprise Linux 安装程序(Anaconda)根据这个值确定是分配静态 IP 地址,还是分配来自 DHCP 池中的地址。指定 "Static" 确保所有在这个子网中部署的主机都会收到静态 IP 地址。

过程 6.6. 默认指定静态引导模式:

  1. 导航至 架构子网,并点击要配置的子网名称。要创建新子网,请按照 过程 2.4, “选择默认子网:” 中的步骤操作。
  2. 子网 标签中,从 引导模式 下拉菜单中选择 静态,然后点击 提交
创建新主机,并将其分配到这个子网后,它会默认使用静态 IP 地址。

附录 A. 术语词汇表

以下是本文档中使用的术语。熟悉这些术语可帮助您理解 Red Hat Satellite 6。
激活码
Kickstart 文件用来控制注册活动的注册令牌,与 Red Hat Satellite 5 中的注册码类似,但提供特征子集,因为注册后是由 Puppet 控制软件包和配置管理。
应用程序生命周期环境
应用程序生命周期环境代表软件开发生命周期(Software Development Life Cycle,SDLC)推广路径中的一个步骤或阶段。推广路径也称开发路径。内容(比如软件包和 Puppet 模块)是通过发布和推广内容视图的方式贯穿生命周期环境。所有内容视图均有版本,就是说可以将某个具体版本在某个典型推广路径中推广。例如:从 development 到 test 再到 production。在 Red Hat Satellite 5 中频道克隆采用的就是这个概念。
附加
这个过程是将订阅与某个提供 RPM 内容访问的主机关联。
Capsule
Capsule 是额外的服务器,可在 Red Hat Satellite 6 部署中使用,以便利用其他本地化服务以外的内容联合及分布(Puppet Master、DHCPDNSTFTP 等等)。
目录
目录 是为具体计算机描述所需系统状态的文件。它列出所有需要管理的资源,以及那些资源间的相依性软件包。
计算配置文件
计算配置文件 为某个计算资源中的新虚拟机指定默认属性。
计算资源
计算资源 是 Red Hat Satellite 6 用来部署主机和系统的虚拟或云架构。示例包括 Red Hat Enterprise Virtualization Manager、OpenStack、EC2 和 VMWare。
内容
内容 包括软件包(RPM 文件)和 Puppet 模块。这些都与库同步,然使用内容视图将其推广至生命周期环境,以供主机使用。
内容发布网络(CDN)
内容发布网络(CDN)是用来以地理位置进行同地协作的方式发布 Red Hat 内容的机制。例如:使用欧洲的某个 Satellite 同步的内容,可从某个位于欧洲的源中提取内容。
内容主机
内容主机 是管理与内容和订阅相关的任务主机的一部分。
内容视图
内容视图 是内容定义,该内容是产品、软件包以及附带智能过滤和创建快照功能的 Puppet 模块集合。内容视图是从 Red Hat Satellite 5 克隆的频道组合精选。
外部节点分类器
外部节点分类器 是在配置主机时为 Puppet Master 提供额外数据的 Puppet 架构。在 Satellite 部署中,Red Hat Satellite 6 是 Puppet Master 的外部节点分类器。
Facter
Facter 是可提供其所在系统信息(fact)的程序。例如:Facter 可报告总内存、操作系统版本、架构等等。Puppet 模块可根据 Facter 收集的主机数据启用具体的配置。
Hammer
Hammer 是一个 Red Hat Satellite 6 命令行工具。可使用 Hammer 作为标准 CLI 管理 Red Hat Satellite 6 脚本,也可以通过互动 shell 管理脚本。
Hiera
Hiera 是用于配置数据的密钥/数值查询工具,允许在 puppet 清单之外保留具体网站数据。
主机
主机 是指 Red Hat Satellite 6 管理的任意系统,可以是物理系统,也可以是虚拟系统。
主机集合
主机集合 相当于 Satellite 5 中的 系统组,即用户定义的一台或多台主机。
主机组
主机组 是用于构建主机的模板。这包括内容视图(定义可用 RPM 文件和 Puppet 模块),以及要应用的 Puppet 类型(最终决定软件和配置)。
位置
位置 代表某个物理地点的默认设置集合。位置是可以嵌套的,以便设置位置集合层级。例如:可以设置默认为“Middle East”,并将其细化为“Tel Aviv”,再进一步细化为“Date Center East”,最终细化为“Rack 22”。
包含用户所部署软件的所有版本,其中包括最新同步版本。在技术架构库(ITIL)[1]机构或部门中,这是最终介质库 [2](之前名为最终软件库) 。
清单
清单 将订阅从客户门户网站传送到 Red Hat Satellite 6。这与 Red Hat Satellite 5 中使用的证书功能类似。
机构
机构 是 Satellite 6 部署中系统、内容和其他功能的独立集合。
产品
存储库集合。产品可以是 Red Hat 产品或新生成的由软件和配置内容组成的产品。
推广
将由软件和配置内容组成的内容视图从一个应用程序生命周期环境移动到另一个生命周期环境的操作,比如从 development 移动到 QA,再移动到 production。
部署模板
部署模板 是在 Kickstart 文件、snippet 和其他部署操作中使用的用户定义模板。在 Satellite 6 中,它们提供类似 Red Hat Satellite 5 中 Kickstart 配置文件和 cobbler Snippet 的功能。
Pulp 节点
Pulp 节点 是镜像内容的 Capsule 服务器组件。这与 Red Hat Satellite 5 Proxy 类似,主要区别是,主机可使用内容前,可将内容暂存于 Pulp 节点。
Puppet 代理
Puppet 代理 是在主机中运行,并为那个主机应用配置更改的代理。
Puppet Master
Puppet Master 是为主机提供由 Puppet 代理执行清单的 Capsule 服务器组件。
puppet 模块
Puppet 模块 是独立代码和数据包,可用来管理资源,比如用户、文件和服务。
存储库
存储库 提供内容集合存储。例如:YUM 存储库或 Puppet 存储库。
角色
角色 指定用于资源集(比如主机)的权限集合。
智能代理服务器
智能代理服务器 是可与外部服务(比如 DNSDHCP)整合的 Capsule 服务器组件。
智能变量
智能变量 是控制 Puppet 分类行为的配置值。可在主机、主机组、机构或位置中设置。
标准操作环境(SOE)
标准操作环境(SOE)是在其中部署应用程序的操作系统控制版本。
订阅
订阅 是从 Red Hat 接收内容和服务的方法。
同步
同步 是指从外部资源将内容镜像至 Red Hat Satellite 6 库。
同步计划
同步计划 提供内容同步的预定操作。
用户组
用户组 是可为用户集合分配的角色集合。这与 Red Hat Satellite 5 中的角色类似。
用户
任意注册使用 Red Hat Satellite 的用户。可通过内置逻辑、外部 LDAP 资源或 Kerberos 进行认证和授权。

附录 B. 修订历史

修订历史
修订 1.2-8Wed August 12 2015Hayley Hudgeons
Removing beta watermark.
修订 1.2-7Tue Jun 23 2015Leah Liu
minor update for zh-CN
修订 1.2-6.4Tue Jun 23 2015Leah Liu
与 XML 源 1.2-6 版本同步的翻译文件
修订 1.2-6.3Tue Jun 23 2015Leah Liu
与 XML 源 1.2-6 版本同步的翻译文件
修订 1.2-6.2Tue Jun 16 2015Leah Liu
完成翻译、校对
修订 1.2-6.1Tue Jun 16 2015Leah Liu
与 XML 源 1.2-6 版本同步的翻译文件
修订 1.2-6Fri May 15 2015David O'Brien
重新构建更新的产品版本。
修订 1.2-5Mon May 11 2015David O'Brien
构建供技术审核。
修订 1.2-4Thu Apr 16 2015David O'Brien
编写如何在 Satellite 6.1 中使用静态 IP。
修订 1.2-3Wed Apr 8 2015Megan Lewis
更新 brand。
删除前言。
修订 1.2-2Fri Apr 3 2015David O'Brien
更新创建清单以便与新的门户网站设计匹配的步骤。
修订 1.2-1Tue Mar 31 2015David O'Brien
BZ 1207429:修正 "创建主机组" 中的错误;内容源应参考 Capsule。
澄清对 "PTR 区文件" 的参考。
BZ 1203878:将 "RH 常用" 存储卡名称更新为 "Satellite Tools"。
BZ 1168240:澄清 "domain" 和 "zone" 小节。
BZ 1176466:澄清 katello-installer 命令所需选项。
澄清创建主机组的步骤。
BZ 1183657:在词汇表中添加 "puppet 模块" 和 "分类"。
修复 "报告 a bug" 链接找的条目。
修订 1.2-0Thu Feb 22 2015David O'Brien
BZ 1184671:修复 katello-installer 选项中的错误。
修订 1.1-1Mon Dec 22 2014David O'Brien
更新“为 Satellite 创建主机以参考正确版本”一节。
修复“创建自定义产品和储存库”一节中的链接。
修订 1.1-0Wed Dec 10 2014David O'Brien
更新创建清单以提供更详细参考一节。
修订 1.0-0Wed Nov 26 2014David O'Brien
根据 QA 审核更新。
首次公开发布。
修订 0.1-1Thu Nov 20 2014David O'Brien
添加术语词汇表。
在《内容管理和推广》的创建内容视图一节添加内容视图定义。
在参考步骤中添加 xref。
更新最初配置一节,使其包含管理员用户名和密码。
更新《部署主机》一章。
添加摘要。
起草《配置部署模板》一章。
起草《内容管理和推广》一节。
修订《导入订阅和同步内容》的章节。
修订 0.1-0Fri Oct 17 2014David O'Brien
起草“配置服务”一章草稿。
添加“部署简介”一章草稿。
添加使用基本部分的 TOC 架构。
首次使用 publican 生成文档。

法律通告

Copyright © 2015 Red Hat.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.