搜索

安装胶囊服务器

download PDF
Red Hat Satellite 6.12

安装 Red Hat Satellite Capsule Server

Red Hat Satellite Documentation Team

摘要

本指南介绍了如何安装 Red Hat Satellite Capsule Server、执行初始配置和配置外部服务。

向红帽文档提供反馈

我们感谢您对文档提供反馈信息。请让我们了解如何改进文档。

您可以通过在 Bugzilla 中记录一个 ticket 来提交反馈:

  1. 导航到 Bugzilla 网站。
  2. Component 字段中,使用 Documentation
  3. Description 字段中,输入您要改进的建议。包括文档相关部分的链接。
  4. Submit Bug

第 1 章 为安装准备您的环境

1.1. 系统要求

以下要求适用于联网的基础操作系统:

  • x86_64 架构
  • 至少 4 核 2.0 GHz CPU
  • 胶囊服务器需要至少 12 GB RAM 才能正常工作。另外,还建议使用至少 4 GB RAM swap 空间。以低于最小值的 RAM 运行的胶囊可能无法正确运行。
  • 安装了应用了所有可用更新的支持的操作系统
  • 唯一主机名,可以包含小写字母、数字、句点(.)和连字符(-)
  • 当前的 Red Hat Satellite 订阅
  • 管理用户(root)访问权限
  • 系统 umask 为 0022
  • 使用完全限定域名进行全正向和反向 DNS 解析

卫星仅支持 UTF-8 编码。如果您的地区是美国且您的语言为英文,请将 en_US.utf-8 设置为系统范围区域设置。有关在 Red Hat Enterprise Linux 中配置系统区域设置的更多信息,请参阅在 Red Hat Enterprise Linux 8 配置基本系统设置 中配置系统区域设置

您的 Satellite 必须在您的客户门户网站中有 Red Hat Satellite Infrastructure Subscription 清单。Satellite 必须启用并同步 satellite-capsule-6.x 存储库。要在客户门户网站中创建、管理和导出红帽订阅清单,请参阅在 Subscription Central 中为连接的 Satellite 服务器创建和管理清单

卫星服务器和胶囊服务器不支持主机名中的短名称。在使用自定义证书时,自定义证书的通用名称(CN)必须是完全限定域名(FQDN)而不是短名称。这不适用于 Satellite 的客户端。

在安装 Capsule Server 前,请确保您的环境满足安装要求。

警告

Capsule 的版本必须与安装的 Satellite 版本匹配。它不应不同。例如,Capsule 版本 6.12 无法与 Satellite 版本 6.11 注册。

除了运行胶囊服务器外,必须安装到一个全新的调配的系统上,该系统上没有提供其他功能。全新置备的系统不得由外部身份提供程序提供以下用户,以避免与胶囊服务器创建的本地用户冲突:

  • Apache
  • foreman-proxy
  • postgres
  • Pulp
  • puppet
  • qdrouterd
  • redis

有关扩展胶囊服务器的更多信息,请参阅 胶囊服务器扩展注意事项

认证的虚拟机监控程序

胶囊服务器在支持运行 Red Hat Enterprise Linux 的虚拟机监控程序上运行的物理系统和虚拟机均完全支持。有关认证虚拟机监控程序的更多信息,请参阅 Red Hat OpenStack Platform、Red Hat Virtualization、Red Hat OpenShift Virtualization 和带有 KVM 的 Red Hat Enterprise Linux 中的认证的客户机操作系统

SELinux Mode

必须启用 SELinux,可以是 enforcing 或 permissive 模式。不支持使用禁用 SELinux 进行安装。

FIPS 模式

您可以在以 FIPS 模式运行的 Red Hat Enterprise Linux 系统上安装 Satellite。安装 Satellite 后您无法启用 FIPS 模式。如需更多信息,请参阅 Red Hat Enterprise Linux 安全强化 中安装启用了 FIPS 模式的 RHEL 8 系统

注意

Satellite 支持 DEFAULT 和 FIPS 加密操作。Satellite 和 Capsule 安装不支持 FUTURE crypto-policy。

1.2. 存储要求

下表详细介绍了特定目录的存储要求。这些值基于预期的用例情景,可能视各个环境而异。

运行时大小通过 Red Hat Enterprise Linux 6、7 和 8 个同步功能来衡量。

Capsule 服务器上 PostgreSQL 数据库的大小可能会显著增加,同时增加从 Satellite 服务器同步的生命周期环境、内容视图或存储库的数量。在最大的 Satellite 环境中,胶囊服务器上的 PostgreSQL 目录的大小可以增加到 Satellite 服务器上的 PostgreSQL 目录大小的两倍或三倍。

表 1.1. 胶囊服务器安装的存储要求
目录安装大小运行时大小

/var/lib/pulp

1 MB

300 GB

/var/lib/pgsql

100 MB

20 GB

/usr

3 GB

不适用

/opt/puppetlabs

500 MB

不适用

1.3. 存储指南

在安装 Capsule Server 以提升效率时请考虑以下准则:

  • 如果将 /tmp 目录挂载为单独的文件系统,则必须使用 /etc/fstab 文件中的 exec 挂载选项。如果 /tmp 已通过 noexec 选项挂载,您必须将选项更改为 exec 并重新挂载文件系统。这是 puppetserver 服务正常工作的要求。
  • 因为大多数胶囊服务器数据都存储在 /var 目录中,所以在 LVM 存储中挂载 /var 可帮助系统扩展。
  • /var/lib/qpidd/ 目录为每个由 goferd 服务管理的内容主机使用的时间稍超过 2 MB。例如: 10 000 内容主机需要在 /var/lib/qpidd/ 中有 20 GB 磁盘空间。
  • /var/lib/pulp/ 目录使用高带宽、低延迟存储。因为红帽卫星具有许多 I/O 密集型操作,使用高延迟和低带宽存储会导致性能下降。确定您的安装在每秒范围内有 60pm-IMG80 兆字节的速度。

您可以使用 storage-benchmark 脚本来获取此数据。有关使用 storage-benchmark 脚本的更多信息,请参阅关于 Satellite 操作的磁盘影响

文件系统指南

  • 不要使用 GFS2 文件系统作为输入-输出延迟过高。

日志文件存储

日志文件被写入 /var/log/messages/、/ var/log/httpd//var/lib/foreman-proxy/openscap/content/。您可以使用 logrotate 管理这些文件的大小。

如需更多信息,请参阅 如何使用 logrotate 实用程序轮转日志文件

日志消息所需的存储量取决于您的安装和设置。

NFS 挂载的 SELinux 注意事项

当使用 NFS 共享挂载 /var/lib/pulp 目录时,SELinux 会阻断同步过程。要避免这种情况,请在文件系统表中添加以下行到 /etc/fstab 来指定 /var/lib/pulp 目录的 SELinux 上下文:

nfs.example.com:/nfsshare  /var/lib/pulp  nfs  context="system_u:object_r:var_lib_t:s0"  1 2

如果 NFS 共享已被挂载,使用上述配置重新挂载它,并输入以下命令:

# restorecon -R /var/lib/pulp

重复的软件包

在不同存储库中重复的软件包仅在磁盘上存储一次。包含重复软件包的额外软件仓库不需要较少的存储。大量存储位于 /var/lib/pulp/ 目录中。这些端点不是手动配置的。确定 /var 文件系统中有存储以防止存储问题。

符号链接

您不能对 /var/lib/pulp/ 使用符号链接。

同步 RHEL ISO

如果您计划将 RHEL 内容 ISO 与 Satellite 同步,请注意,所有 Red Hat Enterprise Linux 次要版本也会同步。您必须计划在 Satellite 上有足够的存储来管理它。

1.4. 支持的操作系统

胶囊服务器是在安装胶囊服务器时可用的 Red Hat Enterprise Linux 8 的最新版本支持。不支持以前版本的 Red Hat Enterprise Linux,包括 EUS 或 z-stream。

您可以从磁盘、本地 ISO 镜像、kickstart 或者红帽支持的任何其他方法安装操作系统。

安装程序支持以下操作系统,有软件包,并经过测试了部署 Satellite:

表 1.2. satellite-installer 支持的操作系统

操作系统

架构

备注

Red Hat Enterprise Linux 8

仅限 x86_64

 

在安装 Satellite 前,请应用所有操作系统更新(如果可能)。

胶囊服务器需要具有 @Base 软件包组的红帽企业 Linux 安装,无需修改其他软件包集,也不需要直接执行服务器直接操作所需的第三方配置或软件。这种限制包括强化和其它非红帽安全软件。如果您的基础架构需要此类软件,请先安装和验证完整的工作胶囊服务器,然后在添加任何非红帽软件前创建系统的备份。

在全新置备的系统上安装胶囊服务器。

不要将 Capsule Server 注册到 Red Hat Content Delivery Network(CDN)。

红帽不支持将系统用于除运行 Capsule Server 以外的任何其他对象。

1.5. 端口和防火墙要求

若要使卫星架构的组件进行通信,请确保在基础操作系统中打开并释放所需的网络端口。您还必须在任何基于网络的防火墙中打开所需的网络端口。

如果在安装启动前没有打开卫星服务器和胶囊服务器之间的端口,则胶囊式服务器的安装会失败。

使用此信息配置任何基于网络的防火墙。请注意,有些云解决方案必须经过特别配置,以允许计算机间的通信,因为它们与基于网络的防火墙类似隔离计算机。如果您使用基于应用程序的防火墙,请确保基于应用程序的防火墙允许所有在表中列出并在防火墙中已知的应用程序。如果可能,禁用应用程序检查并允许基于协议打开的端口通信。

集成胶囊

卫星服务器具有一个集成的胶囊,并且任何直接连接到卫星服务器的主机都是本节上下文中卫星的客户端。这包括运行胶囊服务器的基础操作系统。

胶囊的客户端

主机(即卫星的集成胶囊以外的客户端)不需要访问卫星服务器。如需有关卫星拓扑的更多信息,请参阅 卫星概述、概念和部署注意事项 中的 胶囊网络

所需端口可能会根据您的配置而改变。

下表描述了目的地端口和网络流量的方向:

表 1.3. 胶囊传入流量
目的地端口协议服务必需描述

53

TCP 和 UDP

DNS

DNS 服务器和客户端

名称解析

DNS(可选)

67

UDP

DHCP

客户端

动态 IP

DHCP(可选)

69

UDP

TFTP

客户端

TFTP 服务器(可选)

 

443, 80

TCP

HTTPS、HTTP

客户端

内容检索

内容

443, 80

TCP

HTTPS、HTTP

客户端

内容主机注册

胶囊 CA RPM 安装

443

TCP

HTTPS

Red Hat Satellite

内容镜像

管理

443

TCP

HTTPS

Red Hat Satellite

Capsule API

智能代理功能

443

TCP

HTTPS

客户端

内容主机注册

启动

上传事实

发送安装的软件包和追踪

1883

TCP

MQTT

客户端

拉取基于 REX (可选)

REX 作业通知的内容主机(可选)

5646, 5647

TCP

AMQP

客户端

goferd 消息总线

将消息转发到客户端(可选)

Katello 代理与 Qpid 分配程序通信

8000

TCP

HTTP

客户端

虚拟机模板

客户端安装程序、iPXE 或 UEFI HTTP 引导的模板检索

8000

TCP

HTTP

客户端

PXE 引导

安装

8140

TCP

HTTPS

客户端

Puppet 代理

客户端更新(可选)

8443

TCP

HTTPS

客户端

内容主机注册

弃用,只有在升级前部署的客户端主机时才需要

9090

TCP

HTTPS

客户端

注册端点

带有外部 Capsule 服务器的客户端注册

9090

TCP

HTTPS

客户端

OpenSCAP

配置客户端

9090

TCP

HTTPS

发现的节点

Discovery(发现)

主机发现和置备

9090

TCP

HTTPS

Red Hat Satellite

Capsule API

胶囊功能

任何直接连接到卫星服务器的受管主机都是此上下文中的客户端,因为它是集成胶囊的客户端。这包括运行胶囊服务器的基础操作系统。

DHCP 胶囊执行 ICMP ping 和 TCP echo 连接,从而尝试设置 DHCP IPAM 的子网,以找出是否考虑使用的 IP 地址是否可用。可以使用 satellite-installer --foreman-proxy-dhcp-ping-free-ip=false 来关闭此行为。

表 1.4. 胶囊传出流量
目的地端口协议服务目的地必需描述
 

ICMP

ping

客户端

DHCP

免费 IP 检查(可选)

7

TCP

echo

客户端

DHCP

免费 IP 检查(可选)

22

TCP

SSH

目标主机

远程执行

运行作业

53

TCP 和 UDP

DNS

互联网上的 DNS 服务器

DNS 服务器

解决 DNS 记录(可选)

53

TCP 和 UDP

DNS

DNS 服务器

胶囊 DNS

验证 DNS 冲突(可选)

68

UDP

DHCP

客户端

动态 IP

DHCP(可选)

443

TCP

HTTPS

Satellite

Capsule

Capsule

配置管理

模板检索

OpenSCAP

远程执行结果上传

443

TCP

HTTPS

Red Hat Portal

SOS 报告

辅助支持问题单(可选)

443

TCP

HTTPS

Satellite

内容

同步

443

TCP

HTTPS

Satellite

客户端通信

将请求从客户端转发到 Satellite

443

TCP

HTTPS

Infoblox DHCP Server

DHCP 管理

使用 Infoblox 进行 DHCP 时,管理 DHCP 租期(可选)

623

  

客户端

电源管理

BMC On/Off/Cycle/Status

5646

TCP

AMQP

Satellite Server

Katello 代理

将消息转发到 Capsule 上的 Qpid 分配路由器(可选)

7911

TCP

DHCP、OMAPI

DHCP Server

DHCP

DHCP 目标使用 --foreman-proxy-dhcp-server 配置,默认为 localhost

ISC 和 remote_isc 使用一个可配置的端口,默认为 7911,并使用 OMAPI

8443

TCP

HTTPS

客户端

Discovery(发现)

Capsule 会将 reboot 命令发送到发现的主机(可选)

注意

对端口 7 UDP 和 TCP 的 ICMP 必须被拒绝,但可以丢弃。DHCP 胶囊向客户端网络发送 ECHO REQUEST,以验证 IP 地址是否可用。任何响应都会阻止分配 IP 地址。

1.6. 启用从胶囊服务器到卫星服务器的连接

在卫星服务器上,您必须启用从关机到卫星服务器的传入连接,并使此规则在重新启动后仍然有效。

先决条件

流程

  1. 在 Satellite 服务器中,输入以下命令打开用于 Satellite 通信的胶囊的端口:

    # firewall-cmd --add-port="5646/tcp"
  2. 使更改持久:

    # firewall-cmd --runtime-to-permanent

1.7. 启用从卫星服务器和客户端到胶囊服务器的连接

在您要安装胶囊的基本操作系统中,您必须启用从卫星服务器和客户端到胶囊服务器的传入连接,并使这些规则在重新引导后仍然有效。

流程

  1. 在您要安装胶囊的基本操作系统中,输入以下命令打开 Satellite 服务器和客户端与胶囊服务器通信的端口:

    # firewall-cmd \
    --add-port="53/udp" --add-port="53/tcp" \
    --add-port="67/udp" \
    --add-port="69/udp" \
    --add-port="80/tcp" --add-port="443/tcp" \
    --add-port="5647/tcp" \
    --add-port="8140/tcp" \
    --add-port="8443/tcp" \
    --add-port="8000/tcp" --add-port="9090/tcp"
  2. 使更改持久:

    # firewall-cmd --runtime-to-permanent

验证

  • 使用以下命令:

    # firewall-cmd --list-all

如需更多信息,请参阅在 Red Hat Enterprise Linux 8 安全网络中使用和配置 firewalld

第 2 章 安装胶囊服务器

在安装 Capsule Server 前,您必须确保您的环境满足安装要求。如需更多信息,请参阅为安装准备环境

2.1. 注册到卫星服务器

使用这个步骤将要安装到卫星服务器的基本操作系统注册。

Red Hat Subscription Manifestrequisites

  • 在卫星服务器上,必须安装清单,并且必须包含您希望胶囊所属组织的适当存储库。
  • 清单必须包含您要在其中安装胶囊的基本操作系统的存储库,以及您要连接到胶囊的任何客户端。
  • 存储库必须同步。

如需有关清单和存储库的更多信息,请参阅管理内容 中的 管理红帽订阅

代理和网络先决条件

  • 卫星服务器基础操作系统必须能够解析胶囊基础操作系统的主机名,反之亦然。
  • 确保在胶囊服务器和卫星服务器之间可以使用客户端证书身份验证的 HTTPS 连接。不支持代理服务器和卫星服务器之间的 HTTP 代理。
  • 您必须相应地配置主机和基于网络的防火墙。如需更多信息,请参阅 端口和防火墙要求。您可以使用主机注册功能、卫星 API 或 Hammer CLI 使用卫星注册主机。

流程

  1. 在 Satellite Web UI 中,导航到 Hosts > Register Host
  2. 点击 Generate create registration 命令。
  3. 点击 文件 图标将命令复制到您的剪贴板中。
  4. 登录您要注册的主机并运行之前生成的命令。
  5. 检查 /etc/yum.repos.d/redhat.repo 文件,并确保启用了适当的软件仓库。

CLI 过程

  1. 使用 Hammer CLI 生成主机注册命令:

    # hammer host-registration generate-command \
    --activation-keys "My_Activation_Key"

    如果您的主机不信任 Satellite 服务器的 SSL 证书,您可以通过在注册命令中添加 --insecure 标志来禁用 SSL 验证。

    # hammer host-registration generate-command \
    --activation-keys "My_Activation_Key" \
    --insecure true
  2. 登录您要注册的主机并运行之前生成的命令。
  3. 检查 /etc/yum.repos.d/redhat.repo 文件,并确保启用了适当的软件仓库。

API 流程

  1. 使用 Satellite API 生成主机注册命令:

    # curl -X POST https://satellite.example.com/api/registration_commands \
    --user "My_User_Name" \
    -H 'Content-Type: application/json' \
    -d '{ "registration_command": { "activation_keys": ["My_Activation_Key_1, My_Activation_Key_2"] }}'

    如果您的主机不信任 Satellite 服务器的 SSL 证书,您可以通过在注册命令中添加 --insecure 标志来禁用 SSL 验证。

    # curl -X POST https://satellite.example.com/api/registration_commands \
    --user "My_User_Name" \
    -H 'Content-Type: application/json' \
    -d '{ "registration_command": { "activation_keys": ["My_Activation_Key_1, My_Activation_Key_2"], "insecure": true }}'

    使用激活码来简化指定环境。如需更多信息,请参阅管理内容 中的 激活码

    要以命令行参数输入密码,请使用 username:password 语法。请记住,这可以在 shell 历史记录中保存密码。

    有关注册的更多信息,请参阅在 管理主机 中将主机注册到 Red Hat Satellite

  2. 登录您要注册的主机并运行之前生成的命令。
  3. 检查 /etc/yum.repos.d/redhat.repo 文件,并确保启用了适当的软件仓库。

2.2. 附加 Satellite 基础架构订阅

注意

如果您在 Satellite 上启用了 SCA,请跳过这一步。不需要使用 subscription-manager 将 Red Hat Satellite Infrastructure 订阅附加到 Capsule 服务器。有关 SCA 的更多信息,请参阅 简单内容访问

注册了胶囊服务器后,您必须识别您的订阅池 ID 并附加可用订阅。Red Hat Satellite Infrastructure 订阅提供对 Red Hat Satellite 和 Red Hat Enterprise Linux 内容的访问。对于 Red Hat Enterprise Linux 7,它还提供对 Red Hat Software Collections(RHSCL)的访问。这是唯一需要的订阅。

Red Hat Satellite Infrastructure 包含在所有包括 Satellite 的订阅(以前称为 智能管理)。如需更多信息,请参阅红帽知识库中的 Satellite 基础架构订阅 MCT3718 MCT3719

如果订阅没有附加到系统,则订阅会被分类。如果您无法找到可用的 Satellite 订阅,请查看红帽知识库解决方案 如何找出在 Red Hat Subscription Manager 下注册的客户端使用了哪个订阅? 运行脚本以查看另一个系统是否消耗了您的订阅。

流程

  1. 确定 Satellite 基础架构订阅的池 ID:

    # subscription-manager list --all --available --matches 'Red Hat Satellite Infrastructure Subscription'

    该命令显示类似如下的输出:

    Subscription Name:   Red Hat Satellite Infrastructure Subscription
    Provides:            Red Hat Satellite
                         Red Hat Software Collections (for RHEL Server)
                         Red Hat CodeReady Linux Builder for x86_64
                         Red Hat Satellite Capsule
                         Red Hat Ansible Engine
                         Red Hat Satellite with Embedded Oracle
                         Red Hat Satellite 5 Managed DB
                         Red Hat Enterprise Linux Load Balancer (for RHEL Server)
                         Red Hat Beta
                         Red Hat Software Collections Beta (for RHEL Server)
                         Red Hat Enterprise Linux Server
                         Red Hat Enterprise Linux for x86_64
                         Red Hat Satellite Proxy
                         Red Hat Enterprise Linux High Availability for x86_64
                         Red Hat Discovery
    SKU:                 MCT3718
    Contract:
    Pool ID:             8aca43dd771bf31101771c0231f906a5
    Provides Management: Yes
    Available:           10
    Suggested:           1
    Service Type:        L1-L3
    Roles:
    Service Level:       Premium
    Usage:
    Add-ons:
    Subscription Type:   Standard
    Starts:              11/11/2020
    Ends:                11/11/2023
    Entitlement Type:    Physical
  2. 记录订阅池 ID。您的订阅池 ID 与提供的示例不同。
  3. 将 Satellite Infrastructure 订阅附加到您的 Capsule 服务器运行的基本操作系统。如果 Satellite 服务器上启用了 SCA,您可以跳过此步骤:

    # subscription-manager attach --pool=pool_id

    该命令显示类似如下的输出:

    Successfully attached a subscription for: Red Hat Satellite Infrastructure Subscription
  4. 可选:验证 Satellite Infrastructure 订阅是否已附加:

    # subscription-manager list --consumed

2.3. 配置软件仓库

使用此流程启用安装胶囊服务器所需的存储库。

  1. 禁用所有软件仓库:

    # subscription-manager repos --disable "*"
  2. 启用以下软件仓库:

    # subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms \
    --enable=rhel-8-for-x86_64-appstream-rpms \
    --enable=satellite-capsule-6.12-for-rhel-8-x86_64-rpms \
    --enable=satellite-maintenance-6.12-for-rhel-8-x86_64-rpms
  3. 启用模块:

    # dnf module enable satellite-capsule:el8
    注意

    启用模块 satellite:el8 会警告与 postgresql:10ruby:2.5 冲突,因为这些模块被设置为 Red Hat Enterprise Linux 8 上的默认模块版本。模块 satellite:el8 依赖于模块 postgresql:12ruby:2.7,该模块将使用 satellite:el8 模块启用。这些警告不会造成安装过程失败,因此可以安全地忽略。有关 Red Hat Enterprise Linux 8 中模块和生命周期的详情,请查看 Red Hat Enterprise Linux 应用程序流生命周期

    注意

    如果您要将 Capsule Server 作为 Red Hat Virtualization 托管的虚拟机安装,还必须启用 Red Hat Common 软件仓库并安装 Red Hat Virtualization 客户机代理和驱动程序。如需更多信息,请参阅 《虚拟机管理指南》 中的 在红帽企业 Linux 上安装客户机代理和驱动程序

  4. 清除任何元数据:

    # dnf clean all
  5. 可选:验证是否启用了所需的软件仓库:

    # dnf repolist enabled

2.4. 安装胶囊服务器软件包

在安装 Capsule Server 软件包前,您必须更新基础操作系统上安装的所有软件包。

流程

要安装胶囊服务器,请完成以下步骤:

  1. 更新所有软件包:

    # dnf update
  2. 安装 Satellite 服务器软件包:

    # dnf install satellite-capsule

2.5. 使用 chronyd 同步系统时钟

为尽量减少时间偏差的影响,您必须将系统时钟同步到要与网络时间协议(NTP)服务器安装的基础操作系统上。如果操作系统时钟配置不正确,证书验证可能会失败。

有关 chrony 套件的更多信息,请参阅 Red Hat Enterprise Linux 8 配置基本系统设置 中的 使用 Chrony 套件配置 NTP

流程

  1. 安装 chrony 软件包:

    # dnf install chrony
  2. 启动并启用 chronyd 服务:

    # systemctl enable --now chronyd

2.6. 使用 SSL 证书配置胶囊服务器

红帽卫星使用 SSL 证书实现卫星服务器、外部胶囊服务器和所有主机之间的加密通信。根据机构的要求,您必须使用默认或自定义证书配置胶囊服务器。

2.6.1. 使用默认 SSL 证书配置胶囊服务器

使用这个部分,使用由卫星服务器默认证书颁发机构(CA)签名的 SSL 证书配置胶囊服务器。

先决条件

流程

  1. 在卫星服务器上,若要存储您的胶囊服务器的所有源证书文件,请创建一个只能供 root 用户访问的目录,如 / root /capsule_cert

    # mkdir /root/capsule_cert
  2. 在 Satellite 服务器上,为您的 Capsule 服务器生成 /root/capsule_cert/prompt.example.com-certs.tar 证书存档:

    # capsule-certs-generate \
    --foreman-proxy-fqdn capsule.example.com \
    --certs-tar /root/capsule_cert/capsule.example.com-certs.tar

    保留 satellite-installer 命令的副本,这是 Capsule -certs-generate 命令的副本,以将证书部署到您的胶囊服务器。

    capsule-certs-generate的输出示例

    output omitted
    satellite-installer --scenario capsule \
    --certs-tar-file "/root/capsule_cert/capsule.example.com-certs.tar" \
    --foreman-proxy-register-in-foreman "true" \
    --foreman-proxy-foreman-base-url "https://satellite.example.com" \
    --foreman-proxy-trusted-hosts "satellite.example.com" \
    --foreman-proxy-trusted-hosts "capsule.example.com" \
    --foreman-proxy-oauth-consumer-key "s97QxvUAgFNAQZNGg4F9zLq2biDsxM7f" \
    --foreman-proxy-oauth-consumer-secret "6bpzAdMpRAfYaVZtaepYetomgBVQ6ehY"

  3. 在卫星服务器上,将证书存档文件复制到您的胶囊服务器:

    # scp /root/capsule_cert/capsule.example.com-certs.tar \
    root@capsule.example.com:/root/capsule.example.com-certs.tar
  4. 在 Capsule Server 上,要部署证书,输入 capsule-certs-generate 命令返回的 satellite-installer 命令。

    当 Satellite 的网络连接或端口还没有打开时,您可以将 --foreman-proxy-register-in-foreman 选项设置为 false,以防止 Capsule 尝试连接到 Satellite 并报告错误。当网络配置网络和防火墙时,再次运行安装程序,并将此选项设为 true

    重要

    不要在部署证书后删除证书归档文件。例如,在升级胶囊服务器时需要它。

2.6.2. 使用自定义 SSL 证书配置胶囊服务器

如果将卫星服务器配置为使用自定义 SSL 证书,还必须使用不同的自定义 SSL 证书配置每个外部胶囊服务器。

要使用自定义证书配置您的胶囊服务器,请在每个胶囊服务器上完成以下步骤:

2.6.2.1. 为 Capsule 服务器创建自定义 SSL 证书

在受管主机上,为您的胶囊服务器创建一个自定义证书。如果您已经为 Capsule 服务器有自定义 SSL 证书,请跳过这个过程。

流程

  1. 要存储所有源证书文件,请创建一个只能被 root 用户访问的目录:

    # mkdir /root/capsule_cert
  2. 创建为证书签名请求(CSR)签名的私钥。

    请注意,私钥必须未加密。如果您使用密码保护的私钥,请删除私钥密码。

    如果您已有此胶囊服务器的私钥,请跳过这一步。

    # openssl genrsa -out /root/capsule_cert/capsule_cert_key.pem 4096
  3. 为 CSR 创建 /root/capsule_cert/openssl.cnf 配置文件并包含以下内容:

    [ req ]
    req_extensions = v3_req
    distinguished_name = req_distinguished_name
    x509_extensions = usr_cert
    prompt = no
    
    [ req_distinguished_name ]
    CN = capsule.example.com
    
    [ v3_req ]
    basicConstraints = CA:FALSE
    keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
    extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection
    subjectAltName = @alt_names
    
    [ usr_cert ]
    basicConstraints=CA:FALSE
    nsCertType = client, server, email
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment
    extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection
    nsComment = "OpenSSL Generated Certificate"
    subjectKeyIdentifier=hash
    authorityKeyIdentifier=keyid,issuer
    
    [ alt_names ]
    DNS.1 = capsule.example.com
  4. 生成 CSR:

    # openssl req -new \
    -key /root/capsule_cert/capsule_cert_key.pem \ 1
    -config /root/capsule_cert/openssl.cnf \ 2
    -out /root/capsule_cert/capsule_cert_csr.pem 3
    1
    私钥的路径。
    2
    配置文件的路径。
    3
    要生成的 CSR 的路径。
  5. 将证书签名请求发送到证书颁发机构(CA)。同一 CA 必须为 Satellite 服务器和 Capsule 服务器签名证书。

    提交请求时,指定证书的寿命。发送证书请求的方法会有所不同,因此请查阅 CA 查看首选方法。为了响应请求,您可以在单独的文件中接收 CA 捆绑包和签名证书。

2.6.2.2. 将自定义 SSL 证书部署到胶囊服务器

使用这个步骤使用由证书颁发机构签名的自定义 SSL 证书配置您的胶囊服务器。satellite-installer 命令返回了 Capsule -certs-generate 命令,对每个胶囊服务器都是唯一的。不要在多个胶囊服务器上使用相同的命令。

先决条件

流程

  1. 在卫星服务器上,验证自定义 SSL 证书输入文件:

    # katello-certs-check \
    -t capsule -c /root/capsule_cert/capsule_cert.pem \      1
    -k /root/capsule_cert/capsule_cert_key.pem \  2
    -b /root/capsule_cert/ca_cert_bundle.pem      3
    1
    由证书颁发机构签名的胶囊服务器证书文件的路径。
    2
    用于为胶囊服务器证书签名的私钥的路径。
    3
    证书颁发机构捆绑包的路径。

    如果您在 /root/capsule_cert/openssl.cnf 配置文件中为证书的 Common Name CN = 设置通配符值,您必须将 -t Capsule 选项添加到 katello-certs-check 命令中。

    如果命令成功,它将返回两个 capsule-certs-generate 命令,其中一个命令必须为您的胶囊服务器生成证书存档文件。

    katello-certs-check输出示例

    Validation succeeded.
    
    To use them inside a NEW $CAPSULE, run this command:
    
    capsule-certs-generate --foreman-proxy-fqdn "$CAPSULE" \
        --certs-tar  "~/$CAPSULE-certs.tar" \
        --server-cert "/root/capsule_cert/capsule_cert.pem" \
        --server-key "/root/capsule_cert/capsule_cert_key.pem" \
        --server-ca-cert "/root/capsule_cert/ca_cert_bundle.pem" \
    
    To use them inside an EXISTING $CAPSULE, run this command INSTEAD:
    
      capsule-certs-generate --foreman-proxy-fqdn "$CAPSULE" \
        --certs-tar "~/$CAPSULE-certs.tar" \
        --server-cert "/root/capsule_cert/capsule_cert.pem" \
        --server-key "/root/capsule_cert/capsule_cert_key.pem" \
        --server-ca-cert "/root/capsule_cert/ca_cert_bundle.pem" \
        --certs-update-server

  2. 在卫星服务器上,在 katello-certs-check 命令的输出中,根据您的要求,输入 Capsule -certs-generate 命令,为新的或现有的 Capsule 生成证书。

    在这个命令中,将 $CAPSULE 更改为您的胶囊服务器的 FQDN。

  3. 保留 satellite-installer 命令的副本,这是 Capsule -certs-generate 命令的副本,以将证书部署到您的胶囊服务器。

    capsule-certs-generate的输出示例

    output omitted
    satellite-installer --scenario capsule \
    --certs-tar-file "/root/capsule.example.com-certs.tar" \
    --foreman-proxy-register-in-foreman "true" \
    --foreman-proxy-foreman-base-url "https://satellite.example.com" \
    --foreman-proxy-trusted-hosts "satellite.example.com" \
    --foreman-proxy-trusted-hosts "capsule.example.com" \
    --foreman-proxy-oauth-consumer-key "s97QxvUAgFNAQZNGg4F9zLq2biDsxM7f" \
    --foreman-proxy-oauth-consumer-secret "6bpzAdMpRAfYaVZtaepYetomgBVQ6ehY"

  4. 在卫星服务器上,将证书存档文件复制到您的胶囊服务器:

    # scp /root/capsule_cert/capsule.example.com-certs.tar \
    root@capsule.example.com:/root/capsule.example.com-certs.tar
  5. 在 Capsule Server 上,要部署证书,输入 capsule-certs-generate 命令返回的 satellite-installer 命令。

    当 Satellite 的网络连接或端口还没有打开时,您可以将 --foreman-proxy-register-in-foreman 选项设置为 false,以防止 Capsule 尝试连接到 Satellite 并报告错误。当网络配置网络和防火墙时,再次运行安装程序,并将此选项设为 true

    重要

    不要在部署证书后删除证书归档文件。例如,在升级胶囊服务器时需要它。

2.6.2.3. 将自定义 SSL 证书部署到主机

将 Capsule Server 配置为使用自定义 SSL 证书后,还必须在注册到此胶囊服务器的每个主机上安装 katello-ca-consumer 软件包。

流程

  • 在每个主机上安装 katello-ca-consumer 软件包:

    # dnf install http://capsule.example.com/pub/katello-ca-consumer-latest.noarch.rpm

2.7. 在卫星 Web UI 中,将正确的 Organization 和 Location 分配给胶囊服务器

安装 Capsule Server 软件包后,如果有多个机构或位置,您必须将正确的机构和位置分配给 Capsule,使胶囊在卫星 Web UI 中可见。

注意

将 Capsule 分配给与带有嵌入式 Capsule 的 Satellite 服务器相同的位置,可防止 Red Hat Insights 上传 Insights 清单。若要启用清单上传,请为这两个胶囊同步 SSH 密钥。

流程

  1. 登录卫星 Web UI。
  2. 从屏幕左上角的 Organization 列表中,选择 Any Organization
  3. 从屏幕左上角的 Location 列表中,选择 Any Location
  4. 在 Satellite Web UI 中,导航到 Hosts > All Hosts 并选择 Capsule Server。
  5. Select Actions 列表中,选择 Assign Organization
  6. Organization 列表中,选择要为其分配此胶囊的组织。
  7. 单击 Mismatch 上的 Fix Organization
  8. Submit
  9. 选择 Capsule Server。在 Select Actions 列表中,选择 Assign Location
  10. Location 列表中,选择要分配此胶囊的位置。
  11. 单击 Mismatch 上的 Fix Location
  12. Submit
  13. 在卫星 Web UI 中,导航到 Administer > Organizations,再单击已分配胶囊的组织。
  14. 单击 Capsules 选项卡,并确保 Capsule Server 列在 Selected items 列表中,然后单击 Submit
  15. 在 Satellite Web UI 中,导航到 Administer > Locations,再单击已分配 Capsule 的位置。
  16. 单击 Capsules 选项卡,并确保 Capsule Server 列在 Selected items 列表中,然后单击 Submit

验证

另外,您还可以验证卫星服务器是否在卫星 Web UI 中正确列出。

  1. Organization 列表中选择机构。
  2. Location 列表中选择位置。
  3. 在 Satellite Web UI 中,导航到 Hosts > All Hosts
  4. 在 Satellite Web UI 中,导航到 Infrastructure > Capsules

第 3 章 在胶囊服务器上执行额外的配置

使用本章来配置您的胶囊服务器上的其他设置。

3.1. 配置 Capsule 以进行主机注册和置备

使用这个流程配置 Capsule,以便您可以使用 Capsule 服务器而不是 Satellite 服务器注册和置备主机。

流程

  • 在命令行中,将胶囊添加到可信代理列表中。

    Satellite 需要此项来识别通过 Capsule 设定的 X-Forwarded-For HTTP 标头转发的主机 IP 地址。为安全起见,Satellite 默认仅识别来自 localhost 的这个 HTTP 标头。您可以输入可信代理作为有效的 IPv4 或 Capsules 的 IPv6 地址或网络范围。

    警告

    不要使用过大的网络范围,因为这可能会造成潜在的安全风险。

    输入以下命令。请注意,命令会覆盖当前存储在 Satellite 中的列表。因此,如果您之前设置了任何可信代理,则必须将它们包含在命令中:

    # satellite-installer \
    --foreman-trusted-proxies "127.0.0.1/8" \
    --foreman-trusted-proxies "::1" \
    --foreman-trusted-proxies "My_IP_address" \
    --foreman-trusted-proxies "My_IP_range"

    localhost 条目是必需的,不要省略它们。

验证

  1. 使用 Satellite 安装程序的完整帮助列出当前可信代理:

    # satellite-installer --full-help | grep -A 2 "trusted-proxies"
  2. 当前列表包含您需要的所有可信代理。

3.2. 在外部胶囊上启用 Katello Agent

远程执行是在内容主机上管理软件包的主要方法。为了可以使用已弃用的 Katello Agent,它必须在各个胶囊上启用。

流程

  • 要启用 Katello Agent 基础架构,请输入以下命令:

    # satellite-installer --scenario capsule \
    --foreman-proxy-content-enable-katello-agent=true

3.3. 为 Pull 客户端配置远程执行

默认情况下,远程执行使用 SSH 作为脚本提供程序的传输机制。但是,远程执行还提供基于拉取的传输功能,如果您的基础架构阻止了从胶囊到主机的出站连接,则可以使用它。

它由在胶囊上的 pull-mqtt 模式以及主机上运行的拉取客户端组成。配置 pull-mqtt 模式,使其从 Katello Agent 迁移,这是基于 pull-based 传输的已弃用方法。

注意

pull-mqtt 模式只适用于脚本提供程序。Ansible 和其他提供程序将继续使用其默认传输设置。

模式按照胶囊配置。某些胶囊可以配置为使用 pull-mqtt 模式,而另一些则使用 SSH。如果出现这种情况,则给定主机上的一个远程作业将使用 pull 客户端,同一主机上的下一个作业将使用 SSH。如果要避免这种情况,请将所有胶囊配置为使用同一模式。

流程

  1. 在每个相关胶囊服务器中启用基于拉取的传输:

     # satellite-installer --scenario capsule \
    --foreman-proxy-plugin-remote-execution-script-mode pull-mqtt
  2. 将防火墙配置为允许 MQTT 服务在端口 1883 上:

    # firewall-cmd --add-port="1883/tcp"
    # firewall-cmd --runtime-to-permanent
  3. pull-mqtt 模式中,主机为通过它们注册的胶囊订阅作业通知。因此,建议确保卫星服务器将远程执行作业发送到同一胶囊。为此,可在 Satellite Web UI 中导航到 Administer > Settings。在 内容 选项卡上,将 Prefer 通过胶囊注册,以将远程执行的 值设为 Yes
  4. 在胶囊上设置基于拉取的传输后,您还必须在每个主机上对其进行配置。如需更多信息,请参阅管理主机 中的 远程执行的传输 模式

3.4. 在 Capsule 服务器上启用 OpenSCAP

在卫星服务器上和卫星服务器的集成胶囊上,默认启用 OpenSCAP。要在外部胶囊上使用 OpenSCAP 插件和内容,您必须在每个胶囊上启用 OpenSCAP。

流程

  • 要启用 OpenSCAP,请输入以下命令:

    # satellite-installer --scenario capsule \
    --enable-foreman-proxy-plugin-openscap \
    --foreman-proxy-plugin-openscap-puppet-module true

    如果要使用 Puppet 部署合规策略,您必须首先启用它。如需更多信息,请参阅在 Red Hat Satellite 中使用 Puppet 集成管理配置

3.5. 将生命周期环境添加到胶囊服务器

如果您的胶囊服务器启用了内容功能,您必须添加一个环境,以便胶囊可以从卫星服务器同步内容,并向主机系统提供内容。

不要将 Library 生命周期环境分配给您的胶囊服务器,因为它在每次 CDN 更新存储库时触发自动胶囊同步。这可能会在胶囊上消耗多个系统资源、卫星和胶囊之间的网络带宽,以及胶囊上的可用磁盘空间。

您可以在卫星服务器或卫星 Web UI 上使用 Hammer CLI。

流程

  1. 在 Satellite Web UI 中,导航到 Infrastructure > Capsules,然后选择您要为其添加生命周期的胶囊。
  2. 单击 Edit,再单击 Life Cycle Environments 选项卡。
  3. 在左侧菜单中选择您要添加到胶囊的生命周期环境,然后单击 Submit
  4. 要同步胶囊上的内容,请单击 Overview 选项卡,再单击 Synchronize
  5. 选择 Optimized SyncComplete Sync

    有关每种同步类型的定义,请参阅 恢复存储库

CLI 过程

  1. 要显示所有胶囊服务器的列表,请在卫星服务器上输入以下命令:

    # hammer capsule list

    记下您要向其添加生命周期的胶囊 ID。

  2. 使用 ID,验证您的胶囊的详细信息:

    # hammer capsule info \
    --id My_capsule_ID
  3. 要查看您的胶囊服务器可用的生命周期环境,请输入以下命令并记录 ID 和机构名称:

    # hammer capsule content available-lifecycle-environments \
    --id My_capsule_ID
  4. 将生命周期环境添加到您的胶囊服务器:

    # hammer capsule content add-lifecycle-environment \
    --id My_capsule_ID \
    --lifecycle-environment-id My_Lifecycle_Environment_ID
    --organization "My_Organization"

    对您要添加到胶囊服务器的每个生命周期环境重复。

  5. 将卫星中的内容同步到 Capsule。

    • 要将 Satellite 服务器环境中的所有内容同步到胶囊服务器,请输入以下命令:

      # hammer capsule content synchronize \
      --id My_capsule_ID
    • 要将 Satellite 服务器中的特定生命周期环境与胶囊服务器同步,请输入以下命令:

      # hammer capsule content synchronize \
      --id My_capsule_ID
      --lifecycle-environment-id My_Lifecycle_Environment_ID

3.6. 在受管主机上启用电源管理

要使用智能平台管理接口(IPMI)或类似协议对受管主机执行电源管理任务,您必须在胶囊服务器上启用基板管理控制器(BMC)模块。

先决条件

流程

  • 要启用 BMC,请输入以下命令:

    # satellite-installer --scenario capsule \
    --foreman-proxy-bmc "true" \
    --foreman-proxy-bmc-default-provider "freeipmi"

3.7. 在胶囊服务器上配置 DNS、DHCP 和 TFTP

要在胶囊服务器上配置 DNS、DHCP 和 TFTP 服务,请使用 satellite-installer 命令以及适合您的环境的选项。要查看可配置选项的完整列表,请输入 satellite-installer --scenario satellite --help 命令。

对设置的任何更改都需要再次输入 satellite-installer 命令。您可以多次输入命令,每次更新带有更改的值的所有配置文件时。

要使用外部 DNS、DHCP 和 TFTP 服务,请参阅 第 4 章 使用外部服务配置胶囊服务器

添加 Multihomed DHCP 详情

如果要使用 Multihomed DHCP,您必须通知安装程序。

先决条件

  • 您必须对 DNS 服务器具有正确的网络名称(dns-interface)。
  • 您必须拥有正确的 DHCP 服务器接口名称(dhcp-interface)。
  • 请联系您的网络管理员,确保您有正确的设置。

流程

  • 使用适合您的环境的选项输入 satellite-installer 命令。以下示例显示了配置完整置备服务:

    # satellite-installer --scenario capsule \
    --foreman-proxy-dns true \
    --foreman-proxy-dns-managed true \
    --foreman-proxy-dns-interface eth0 \
    --foreman-proxy-dns-zone example.com \
    --foreman-proxy-dns-reverse 2.0.192.in-addr.arpa \
    --foreman-proxy-dhcp true \
    --foreman-proxy-dhcp-managed true \
    --foreman-proxy-dhcp-interface eth0 \
    --foreman-proxy-dhcp-additional-interfaces eth1 \
    --foreman-proxy-dhcp-additional-interfaces eth2 \
    --foreman-proxy-dhcp-range "192.0.2.100 192.0.2.150" \
    --foreman-proxy-dhcp-gateway 192.0.2.1 \
    --foreman-proxy-dhcp-nameservers 192.0.2.2 \
    --foreman-proxy-tftp true \
    --foreman-proxy-tftp-managed true \
    --foreman-proxy-tftp-servername 192.0.2.3

有关配置 DHCP、DNS 和 TFTP 服务的更多信息,请参阅在 置备 主机中配置网络服务

第 4 章 使用外部服务配置胶囊服务器

如果您不想在胶囊服务器上配置 DNS、DHCP 和 TFTP 服务,请使用本节将胶囊服务器配置为使用外部 DNS、DHCP 和 TFTP 服务。

4.1. 使用外部 DNS 配置胶囊服务器

您可以使用外部 DNS 配置胶囊服务器。胶囊服务器使用 nsupdate 实用程序更新远程服务器上的 DNS 记录。

要使任何更改都持久,您必须输入 satellite-installer 命令以及适合您的环境的选项。

先决条件

  • 您必须有配置的外部 DNS 服务器。
  • 本指南假定您安装了现有安装。

流程

  1. /etc/rndc.key 文件从外部 DNS 服务器复制到胶囊服务器:

    # scp root@dns.example.com:/etc/rndc.key /etc/foreman-proxy/rndc.key
  2. 配置所有权、权限和 SELinux 上下文:

    # restorecon -v /etc/foreman-proxy/rndc.key
    # chown -v root:foreman-proxy /etc/foreman-proxy/rndc.key
    # chmod -v 640 /etc/foreman-proxy/rndc.key
  3. 要测试 nsupdate 工具,请远程添加主机:

    # echo -e "server DNS_IP_Address\n \
    update add aaa.example.com 3600 IN A Host_IP_Address\n \
    send\n" | nsupdate -k /etc/foreman-proxy/rndc.key
    # nslookup aaa.example.com DNS_IP_Address
    # echo -e "server DNS_IP_Address\n \
    update delete aaa.example.com 3600 IN A Host_IP_Address\n \
    send\n" | nsupdate -k /etc/foreman-proxy/rndc.key
  4. 输入 satellite-installer 命令,对 /etc/foreman-proxy/settings.d/dns.yml 文件进行以下更改:

    # satellite-installer --foreman-proxy-dns=true \
    --foreman-proxy-dns-managed=false \
    --foreman-proxy-dns-provider=nsupdate \
    --foreman-proxy-dns-server="DNS_IP_Address" \
    --foreman-proxy-keyfile=/etc/foreman-proxy/rndc.key
  5. 在 Satellite Web UI 中,导航到 Infrastructure > Capsules
  6. 找到 Capsule Server,然后从 Actions 列中的列表选择 Refresh
  7. 将 DNS 服务与适当的子网和域关联。

4.2. 使用外部 DHCP 配置胶囊服务器

要使用外部 DHCP 配置胶囊服务器,您必须完成以下步骤:

4.2.1. 配置外部 DHCP 服务器以与胶囊服务器搭配使用

要将运行 Red Hat Enterprise Linux 的外部 DHCP 服务器配置为与 Capsule 服务器搭配使用,您必须安装 ISC DHCP Service 和 Berkeley Internet Name Domain (BIND)工具软件包。您还必须与胶囊服务器共享 DHCP 配置和租期文件。此流程中的示例使用分布式网络文件系统(NFS)协议共享 DHCP 配置和租期文件。

注意

如果您将 dnsmasq 用作外部 DHCP 服务器,请启用 dhcp-no-override 设置。这是必要的,因为 Satellite 在 TFTP 服务器上的 grub2/ 子目录中创建配置文件。如果禁用了 dhcp-no-override 设置,客户端会从根目录获取引导装载程序及其配置,这可能导致错误。

流程

  1. 在 Red Hat Enterprise Linux 主机上,安装 ISC DHCP 服务和 Berkeley Internet Name Domain (BIND)工具软件包:

    # dnf install dhcp-server bind-utils
  2. 生成安全令牌:

    # dnssec-keygen -a HMAC-MD5 -b 512 -n HOST omapi_key

    因此,在当前目录中创建由两个文件组成的密钥对。

  3. 从密钥复制 secret 哈希:

    # grep ^Key Komapi_key.+*.private  | cut -d ' ' -f2
  4. 编辑所有子网的 dhcpd 配置文件并添加密钥。以下是一个示例:

    # cat /etc/dhcp/dhcpd.conf
    default-lease-time 604800;
    max-lease-time 2592000;
    log-facility local7;
    
    subnet 192.168.38.0 netmask 255.255.255.0 {
    	range 192.168.38.10 192.168.38.100;
    	option routers 192.168.38.1;
    	option subnet-mask 255.255.255.0;
    	option domain-search "virtual.lan";
    	option domain-name "virtual.lan";
    	option domain-name-servers 8.8.8.8;
    }
    
    omapi-port 7911;
    key omapi_key {
    	algorithm HMAC-MD5;
    	secret "jNSE5YI3H1A8Oj/tkV4...A2ZOHb6zv315CkNAY7DMYYCj48Umw==";
    };
    omapi-key omapi_key;

    请注意,选项路由器 值是您要用于外部 DHCP 服务的 Satellite 或 Capsule IP 地址。

  5. 从其在其中创建的目录中删除这两个密钥文件。
  6. 在卫星服务器上,定义每个子网。暂时不要为定义的子网设置 DHCP Capsule。

    要防止冲突,请单独设置租期和保留范围。例如,如果租期范围是 192.168.38.10 到 192.168.38.100,在 Satellite Web UI 中将保留范围定义为 192.168.38.101 到 192.168.38.250。

  7. 配置防火墙以从外部访问 DHCP 服务器:

    # firewall-cmd --add-service dhcp \
    && firewall-cmd --runtime-to-permanent
  8. 在卫星服务器上,确定 foreman 用户的 UID 和 GID:

    # id -u foreman
    993
    # id -g foreman
    990
  9. 在 DHCP 服务器中,创建 foreman 用户和组,其 ID 与上一步中确定的 ID 相同:

    # groupadd -g 990 foreman
    # useradd -u 993 -g 990 -s /sbin/nologin foreman
  10. 要确保配置文件可以访问,请恢复读和执行标志:

    # chmod o+rx /etc/dhcp/
    # chmod o+r /etc/dhcp/dhcpd.conf
    # chattr +i /etc/dhcp/ /etc/dhcp/dhcpd.conf
  11. 启用并启动 DHCP 服务:

    # systemctl enable --now dhcpd
  12. 使用 NFS 导出 DHCP 配置和租期文件:

    # dnf install nfs-utils
    # systemctl enable --now nfs-server
  13. 为您要使用 NFS 导出的 DHCP 配置和租期文件创建目录:

    # mkdir -p /exports/var/lib/dhcpd /exports/etc/dhcp
  14. 要为创建的目录创建挂载点,请在 /etc/fstab 文件中添加以下行:

    /var/lib/dhcpd /exports/var/lib/dhcpd none bind,auto 0 0
    /etc/dhcp /exports/etc/dhcp none bind,auto 0 0
  15. /etc/fstab 中挂载文件系统:

    # mount -a
  16. 确定 /etc/exports 中存在以下行:

    /exports 192.168.38.1(rw,async,no_root_squash,fsid=0,no_subtree_check)
    
    /exports/etc/dhcp 192.168.38.1(ro,async,no_root_squash,no_subtree_check,nohide)
    
    /exports/var/lib/dhcpd 192.168.38.1(ro,async,no_root_squash,no_subtree_check,nohide)

    请注意,您输入的 IP 地址是您要用于外部 DHCP 服务的 Satellite 或 Capsule IP 地址。

  17. 重新载入 NFS 服务器:

    # exportfs -rva
  18. 为 DHCP omapi 端口 7911 配置防火墙:

    # firewall-cmd --add-port=7911/tcp
    # firewall-cmd --runtime-to-permanent
  19. 可选:配置用于从外部访问 NFS 的防火墙。客户端使用 NFSv3 配置。

    # firewall-cmd --zone public --add-service mountd \
    && firewall-cmd --zone public --add-service rpc-bind \
    && firewall-cmd --zone public --add-service nfs \
    && firewall-cmd --runtime-to-permanent

4.2.2. 使用外部 DHCP 服务器配置卫星服务器

您可以使用外部 DHCP 服务器配置胶囊服务器。

前提条件

流程

  1. 安装 nfs-utils 软件包:

    # dnf install nfs-utils
  2. 为 NFS 创建 DHCP 目录:

    # mkdir -p /mnt/nfs/etc/dhcp /mnt/nfs/var/lib/dhcpd
  3. 更改文件所有者:

    # chown -R foreman-proxy /mnt/nfs
  4. 验证与 NFS 服务器和远程过程调用(RPC)通信路径的通信:

    # showmount -e DHCP_Server_FQDN
    # rpcinfo -p DHCP_Server_FQDN
  5. /etc/fstab 文件中添加以下几行:

    DHCP_Server_FQDN:/exports/etc/dhcp /mnt/nfs/etc/dhcp nfs
    ro,vers=3,auto,nosharecache,context="system_u:object_r:dhcp_etc_t:s0" 0 0
    
    DHCP_Server_FQDN:/exports/var/lib/dhcpd /mnt/nfs/var/lib/dhcpd nfs
    ro,vers=3,auto,nosharecache,context="system_u:object_r:dhcpd_state_t:s0" 0 0
  6. /etc/fstab 中挂载文件系统:

    # mount -a
  7. 要验证 foreman-proxy 用户可以访问通过网络共享的文件,请显示 DHCP 配置和租期文件:

    # su foreman-proxy -s /bin/bash
    bash-4.2$ cat /mnt/nfs/etc/dhcp/dhcpd.conf
    bash-4.2$ cat /mnt/nfs/var/lib/dhcpd/dhcpd.leases
    bash-4.2$ exit
  8. 输入 satellite-installer 命令,对 /etc/foreman-proxy/settings.d/dhcp.yml 文件进行以下更改:

    # satellite-installer --foreman-proxy-dhcp=true \
    --foreman-proxy-dhcp-provider=remote_isc \
    --foreman-proxy-plugin-dhcp-remote-isc-dhcp-config /mnt/nfs/etc/dhcp/dhcpd.conf \
    --foreman-proxy-plugin-dhcp-remote-isc-dhcp-leases /mnt/nfs/var/lib/dhcpd/dhcpd.leases \
    --foreman-proxy-plugin-dhcp-remote-isc-key-name=omapi_key \
    --foreman-proxy-plugin-dhcp-remote-isc-key-secret=jNSE5YI3H1A8Oj/tkV4...A2ZOHb6zv315CkNAY7DMYYCj48Umw== \
    --foreman-proxy-plugin-dhcp-remote-isc-omapi-port=7911 \
    --enable-foreman-proxy-plugin-dhcp-remote-isc \
    --foreman-proxy-dhcp-server=DHCP_Server_FQDN
  9. 将 DHCP 服务与适当的子网和域关联。

4.3. 使用外部 TFTP 配置胶囊服务器

您可以使用外部 TFTP 服务配置胶囊服务器。

流程

  1. 为 NFS 创建 TFTP 目录:

    # mkdir -p /mnt/nfs/var/lib/tftpboot
  2. /etc/fstab 文件中,添加以下行:

    TFTP_Server_IP_Address:/exports/var/lib/tftpboot /mnt/nfs/var/lib/tftpboot nfs rw,vers=3,auto,nosharecache,context="system_u:object_r:tftpdir_rw_t:s0" 0 0
  3. /etc/fstab 中挂载文件系统:

    # mount -a
  4. 输入 satellite-installer 命令,对 /etc/foreman-proxy/settings.d/tftp.yml 文件进行以下更改:

    # satellite-installer --foreman-proxy-tftp=true \
    --foreman-proxy-tftp-root /mnt/nfs/var/lib/tftpboot
  5. 如果 TFTP 服务在不同于 DHCP 服务的不同服务器中运行,请使用 TFTP 服务运行的服务器的 FQDN 或 IP 地址更新 tftp_servername 设置:

    # satellite-installer --foreman-proxy-tftp-servername=TFTP_Server_FQDN
  6. 在 Satellite Web UI 中,导航到 Infrastructure > Capsules
  7. 找到 Capsule Server,然后从 Actions 列中的列表选择 Refresh
  8. 将 TFTP 服务与适当的子网和域关联。

4.4. 使用外部 IdM DNS 配置胶囊服务器

当卫星服务器为主机添加 DNS 记录时,它首先确定为该域提供 DNS 的胶囊。然后,它将与配置为为您的部署提供 DNS 服务的胶囊通信,并添加记录。此过程中不涉及主机。因此,您必须在当前被配置为使用 IdM 服务器管理的域的 Satellite 或 Capsule 上安装和配置 IdM 客户端。

胶囊服务器可以配置为使用 Red Hat Identity Management(IdM)服务器来提供 DNS 服务。有关 Red Hat Identity Management 的更多信息,请参阅 Linux 域身份、身份验证和策略指南

要将 Capsule Server 配置为使用 Red Hat Identity Management(IdM)服务器来提供 DNS 服务,请使用以下流程之一:

要恢复到内部 DNS 服务,请使用以下步骤:

注意

您不需要使用胶囊服务器来管理 DNS。当您使用 Satellite 的 realm 注册功能时,置备的主机会自动注册到 IdM,ipa-client-install 脚本会为客户端创建 DNS 记录。使用外部 IdM DNS 和域注册配置胶囊服务器是互斥的。有关配置域注册的更多信息,请参阅在 连接的网络环境中安装 Satellite 服务器 中的 为置备主机进行外部身份验证

4.4.1. 使用 GSS-TSIG 身份验证配置动态 DNS 更新

您可以将 IdM 服务器配置为使用 RFC3645 中定义的 secret 密钥事务(GSS-TSIG)技术的通用安全服务算法。要将 IdM 服务器配置为使用 GSS-TSIG 技术,您必须在胶囊服务器基本操作系统中安装 IdM 客户端。

先决条件

  • 您必须确保 IdM 服务器已部署并正确配置基于主机的防火墙。如需更多信息,请参阅 安装身份管理指南 中的 IdM 的端口要求
  • 您必须联系 IdM 服务器管理员,以确保在 IdM 服务器中获取具有在 IdM 服务器中创建的区的权限。
  • 您应创建应答文件的备份。如果已损坏,您可以使用备份将回答文件恢复到其原始状态。如需更多信息,请参阅 配置卫星服务器

流程

要使用 GSS-TSIG 身份验证配置动态 DNS 更新,请完成以下步骤:

在 IdM 服务器上创建 Kerberos 主体

  1. 获取从 IdM 管理员获取的帐户的 Kerberos ticket:

    # kinit idm_user
  2. 为胶囊服务器创建一个新的 Kerberos 主体,以用于在 IdM 服务器中进行身份验证。

    # ipa service-add capsule.example.com

安装和配置 IdM 客户端

  1. 在管理用于部署的 DNS 服务的 Satellite 或 Capsule 的基础操作系统上,安装 ipa-client 软件包:

    # satellite-maintain packages install ipa-client
  2. 运行安装脚本并根据屏幕提示配置 IdM 客户端:

    # ipa-client-install
  3. 获取Kerberos ticket:

    # kinit admin
  4. 删除任何已存在的 keytab

    # rm /etc/foreman-proxy/dns.keytab
  5. 获取此系统的 keytab

    # ipa-getkeytab -p capsule/satellite.example.com@EXAMPLE.COM \
    -s idm1.example.com -k /etc/foreman-proxy/dns.keytab
    注意

    当将 keytab 添加到与服务中原始系统相同的主机名的备用系统中时,添加 r 选项以防止生成新凭证,并在原始系统上渲染凭证无效。

  6. 对于 dns.keytab 文件,将 group 和 owner 设置为 foreman-proxy

    # chown foreman-proxy:foreman-proxy /etc/foreman-proxy/dns.keytab
  7. 可选: 要验证 keytab 文件是否有效,请输入以下命令:

    # kinit -kt /etc/foreman-proxy/dns.keytab \
    capsule/satellite.example.com@EXAMPLE.COM

在 IdM Web UI 中配置 DNS 区域

  1. 创建并配置您要管理的区域:

    1. 进入 Network Services > DNS > DNS Zones
    2. 选择 Add 并输入区域名称。例如: example.com
    3. Add and Edit
    4. 点 Settings 标签页并在 BIND 更新策略 框中,在分号分开的列表中添加以下内容:

      grant capsule\047satellite.example.com@EXAMPLE.COM wildcard * ANY;
    5. Dynamic update 设置为 True
    6. 启用 Allow PTR 同步
    7. Save 保存更改。
  2. 创建并配置反向区:

    1. 进入 Network Services > DNS > DNS Zones
    2. 点击 Add
    3. 选择 Reverse zone IP 网络 并使用 CIDR 格式添加网络地址以启用反向查找。
    4. Add and Edit
    5. Settings 标签页并在 BIND 更新策略 框中,在分号分开的列表中添加以下内容:

      grant capsule\047satellite.example.com@EXAMPLE.COM wildcard * ANY;
    6. Dynamic update 设置为 True
    7. Save 保存更改。

配置为域管理 DNS 服务的 Satellite 或 Capsule Server

  1. 使用 satellite-installer 命令配置管理域的 DNS 服务的 Satellite 或 Capsule:

    • 在 Satellite 上,输入以下命令:

      satellite-installer --scenario satellite \
      --foreman-proxy-dns=true \
      --foreman-proxy-dns-managed=false \
      --foreman-proxy-dns-provider=nsupdate_gss \
      --foreman-proxy-dns-server="idm1.example.com" \
      --foreman-proxy-dns-tsig-principal="capsule/satellite.example.com@EXAMPLE.COM" \
      --foreman-proxy-dns-tsig-keytab=/etc/foreman-proxy/dns.keytab
    • 在 Capsule 上,输入以下命令:

      satellite-installer --scenario capsule \
      --foreman-proxy-dns=true \
      --foreman-proxy-dns-managed=false \
      --foreman-proxy-dns-provider=nsupdate_gss \
      --foreman-proxy-dns-server="idm1.example.com" \
      --foreman-proxy-dns-tsig-principal="capsule/satellite.example.com@EXAMPLE.COM" \
      --foreman-proxy-dns-tsig-keytab=/etc/foreman-proxy/dns.keytab

运行 satellite-installer 命令后,对胶囊配置进行任何更改,您必须在卫星 Web UI 中更新每个受影响的胶囊的配置。

在 Satellite Web UI 中更新配置

  1. 在卫星 Web UI 中,导航到 Infrastructure > Capsules,找到 Capsule Server,并从 Actions 列中的列表中,选择 Refresh
  2. 配置域:

    1. 在 Satellite Web UI 中,导航到 Infrastructure > Domains 并选择域名。
    2. Domain 选项卡中,确保 DNS Capsule 设置为连接子网的胶囊。
  3. 配置子网:

    1. 在 Satellite Web UI 中,导航到 Infrastructure > Subnets 并选择子网名称。
    2. Subnet 选项卡中,将 IPAM 设置为 None
    3. Domains 选项卡中,选择您要使用 IdM 服务器管理的域。
    4. Capsules 选项卡中,确保将 Reverse DNS Capsule 设置为连接子网的胶囊。
    5. Submit 保存更改。

4.4.2. 使用 TSIG 身份验证配置动态 DNS 更新

您可以将 IdM 服务器配置为使用 rndc.key 密钥文件对 DNS(TSIG)技术的 secret key 事务身份验证进行身份验证。TSIG 协议在 RFC2845 中定义。

先决条件

  • 您必须确保 IdM 服务器已部署并正确配置基于主机的防火墙。如需更多信息,请参阅 Linux 域身份、身份验证和策略指南中的 端口要求
  • 您必须在 IdM 服务器上获取 root 用户访问。
  • 您必须确认 Satellite 服务器或胶囊服务器是否配置为为您的部署提供 DNS 服务。
  • 您必须在用于管理用于部署的 DNS 服务的卫星或胶囊的基础操作系统上配置 DNS、DHCP 和 TFTP 服务。
  • 您必须创建回答文件的备份。如果已损坏,您可以使用备份将回答文件恢复到其原始状态。如需更多信息,请参阅 配置卫星服务器

流程

要使用 TSIG 身份验证配置动态 DNS 更新,请完成以下步骤:

在 IdM 服务器中启用对 DNS 区的外部更新

  1. 在 IdM 服务器中,在 /etc/named.conf 文件的顶部添加以下内容:

    ########################################################################
    
    include "/etc/rndc.key";
    controls  {
    inet _IdM_Server_IP_Address_ port 953 allow { _Satellite_IP_Address_; } keys { "rndc-key"; };
    };
    ########################################################################
  2. 重新载入 named 服务以使更改生效:

    # systemctl reload named
  3. 在 IdM web UI 中,进入 Network Services > DNS > DNS Zones 并点区的名称。在 Settings 选项卡中,应用以下更改:

    1. BIND 更新策略 框中添加以下内容:

      grant "rndc-key" zonesub ANY;
    2. Dynamic update 设置为 True
    3. Update 保存更改。
  4. /etc/rndc.key 文件从 IdM 服务器复制到 Satellite 服务器的基础操作系统。使用以下命令:

    # scp /etc/rndc.key root@satellite.example.com:/etc/rndc.key
  5. 要为 rndc.key 文件设置正确的所有权、权限和 SELinux 上下文,请输入以下命令:

    # restorecon -v /etc/rndc.key
    # chown -v root:named /etc/rndc.key
    # chmod -v 640 /etc/rndc.key
  6. foreman-proxy 用户手动分配给 指定组。通常, satellite-installer 可确保 foreman-proxy 用户属于 命名 UNIX 组,但在这种情形中,卫星不管理用户和组,因此您需要手动将 foreman-proxy 用户分配给指定组。

    # usermod -a -G named foreman-proxy
  7. 在控制台中,输入以下 satellite-installer 命令,将 Satellite 配置为使用外部 DNS 服务器:

    # satellite-installer --scenario satellite \
    --foreman-proxy-dns=true \
    --foreman-proxy-dns-managed=false \
    --foreman-proxy-dns-provider=nsupdate \
    --foreman-proxy-dns-server="IdM_Server_IP_Address" \
    --foreman-proxy-keyfile=/etc/rndc.key \
    --foreman-proxy-dns-ttl=86400

将外部更新测试到 IdM 服务器中的 DNS 区

  1. 确保卫星服务器的 /etc/rndc.key 文件中的密钥与 IdM 服务器上的 /etc/rndc.key 文件中的密钥相同:

    key "rndc-key" {
            algorithm hmac-md5;
            secret "secret-key==";
    };
  2. 在卫星服务器上,为主机创建一个测试 DNS 条目。例如,在 IdM 服务器上具有 A 记录 192.168.25.20 的主机 test.example.com,地址为 192.168.25.1

    # echo -e "server 192.168.25.1\n \
    update add test.example.com 3600 IN A 192.168.25.20\n \
    send\n" | nsupdate -k /etc/rndc.key
  3. 在 Satellite 服务器中测试 DNS 条目:

    # nslookup test.example.com 192.168.25.1
    Server:		192.168.25.1
    Address:	192.168.25.1#53
    
    Name:	test.example.com
    Address: 192.168.25.20
  4. 要在 IdM web UI 中查看条目,请导航至 Network Services > DNS Zones。点区域的名称,并按名称搜索主机。
  5. 如果成功解析,请删除测试 DNS 条目:

    # echo -e "server 192.168.25.1\n \
    update delete test.example.com 3600 IN A 192.168.25.20\n \
    send\n" | nsupdate -k /etc/rndc.key
  6. 确认 DNS 条目已被删除:

    # nslookup test.example.com 192.168.25.1

    如果成功删除了记录,上面的 nslookup 命令会失败并返回 SERVFAIL 错误消息。

4.4.3. 恢复到内部 DNS 服务

您可以使用 Satellite 服务器和 Capsule Server 作为 DNS 提供程序恢复到。您可以使用配置外部 DNS 之前创建的回答文件备份,或者创建回答文件备份。有关应答文件的更多信息,请参阅 配置卫星服务器

流程

在您要配置用来管理域的 DNS 服务的 Satellite 或 Capsule 服务器中,请完成以下步骤:

将 Satellite 或 Capsule 配置为 DNS 服务器

  • 如果您在配置外部 DNS 前创建了回答文件的备份,请恢复回答文件,然后输入 satellite-installer 命令:

    # satellite-installer
  • 如果您没有回答文件的适当备份,请立即创建回答文件的备份。要在不使用应答文件的情况下将 Satellite 或 Capsule 配置为 DNS 服务器,请在 Satellite 或 Capsule 上输入以下 satellite-installer 命令:

    # satellite-installer \
    --foreman-proxy-dns=true \
    --foreman-proxy-dns-managed=true \
    --foreman-proxy-dns-provider=nsupdate \
    --foreman-proxy-dns-server="127.0.0.1"

    如需更多信息,请参阅在 胶囊服务器 上配置 DNS、DHCP 和 TFTP

运行 satellite-installer 命令后,对胶囊配置进行任何更改,您必须在卫星 Web UI 中更新每个受影响的胶囊的配置。

在 Satellite Web UI 中更新配置

  1. 在 Satellite Web UI 中,导航到 Infrastructure > Capsules
  2. 对于您要更新的每个胶囊,从 Actions 列表中选择 Refresh
  3. 配置域:

    1. 在 Satellite Web UI 中,进入 Infrastructure > Domains 并点您要配置的域名。
    2. Domain 选项卡中,将 DNS Capsule 设置为连接子网的胶囊。
  4. 配置子网:

    1. 在 Satellite Web UI 中,导航到 Infrastructure > Subnets 并选择子网名称。
    2. 子网 选项卡中,将 IPAM 设置为 DHCP 或内部数据库
    3. Domains 选项卡中,选择您要使用 Satellite 或 Capsule 管理的域。
    4. Capsules 选项卡中,将 Reverse DNS Capsule 设置为连接子网的胶囊。
    5. Submit 保存更改。

第 5 章 使用 Capsule 管理 DHCP

卫星可以使用您的胶囊与 DHCP 服务集成。胶囊式具有多个 DHCP 提供程序,可用于将卫星与现有 DHCP 基础架构集成或部署新的 DHCP。您可以使用 Capsule 的 DHCP 模块查询可用的 IP 地址,添加新和删除现有的保留。请注意,您的胶囊无法管理子网声明。

可用的 DHCP 供应商

5.1. 保护 dhcpd API

Capsule 使用 dhcpd API 与 DHCP 守护进程交互,以管理 DHCP。默认情况下,dhcpd API 侦听任何没有访问控制的主机。您可以添加 omapi_key 以提供基本安全性。

流程

  1. 安装所需的软件包:

    # dnf install bind-utils
  2. 生成密钥:

    # dnssec-keygen -r /dev/urandom -a HMAC-MD5 -b 512 -n HOST omapi_key
    # cat Komapi_key.+*.private | grep ^Key|cut -d ' ' -f2-
  3. 使用 satellite-installer 来保护 dhcpd API:

    # satellite-installer \
    --foreman-proxy-dhcp-key-name "My_Name" \
    --foreman-proxy-dhcp-key-secret "My_Secret"

第 6 章 使用 Capsule 管理 DNS

卫星可以使用您的胶囊管理 DNS 记录。DNS 管理包含从现有 DNS 区域更新和删除 DNS 记录。胶囊式具有多个 DNS 提供程序,可用于将 Satellite 与现有的 DNS 基础架构或部署新的 DNS 基础架构集成。

启用 DNS 后,您的胶囊可以使用 dns_nsupdate 提供程序处理符合 RFC 2136 的 DNS 服务器。其他供应商提供更直接的集成,如 Infobloxdns_infoblox

可用的 DNS 供应商

附录 A. 胶囊服务器可扩展性注意事项

Satellite 服务器可以支持的最大胶囊服务器数量没有固定限制。但是,可扩展性是高度变量,特别是管理 Puppet 客户端时。

管理 Puppet 客户端时的胶囊服务器可伸缩性取决于 CPU 数量、运行时时段分发和 Puppet 管理资源的数量。胶囊服务器存在在任意时间点上运行的 100 个并发 Puppet 代理的限制。运行超过 100 个并发 Puppet 代理会导致 503 HTTP 错误。

例如,假设 Puppet 代理运行均匀分布在运行期间任何单一点上达 100 个并发 Puppet 代理,则具有 4 个 CPU 的胶囊服务器具有最多 1250 个 CPU 最多 1250 个 Puppet 类的工作负载,其中有 10 个 Puppet 类被分配到每个 Puppet 客户端。根据所需的 Puppet 客户端数量,卫星安装可以横向扩展为它们提供支持的胶囊服务器数量。

如果要在管理 Puppet 客户端时扩展您的胶囊服务器,则进行以下假设:

  • 没有外部 Puppet 客户端直接报告给卫星集成胶囊。
  • 所有其他 Puppet 客户端直接报告给外部胶囊。
  • 所有 Puppet 代理有平均分布式运行间隔。
注意

从即使发行版中开发出来会增加卫星服务器过载风险。应用 100 个并发请求的限值。

下表介绍了使用推荐的 4 个 CPU 的可扩展性限制。

表 A.1. 使用 4 个 CPU 的 Puppet 可扩展性
每个主机的 Puppet 受管资源run-Interval Distribution

1

3000 – 2500

10

2400 – 2000

20

1700 – 1400

下表描述了使用最小 2 个 CPU 的可扩展性限制。

表 A.2. 使用 2 个 CPU 的 Puppet 可扩展性
每个主机的 Puppet 受管资源run-Interval Distribution

1

1700 – 1450

10

1500 – 1250

20

850 – 700

法律通告

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
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, the Red Hat 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 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.
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.