搜索

1.2. RHUI 4 组件

download PDF

了解每个 RHUI 组件如何与其他组件交互,从而使您的作业成为系统管理员的过程比较简单。

1.2.1. Red Hat Update Appliance

每个 RHUI 安装有一个 RHUA,但在许多云环境中,每个地区或数据中心都会有一个 RHUI 安装,例如 Amazon 的 EC2 云包含多个区域。在每个地区,每个地区都有一个带有其自身 RHUA 节点的独立 RHUI。

RHUA 允许您执行以下任务:

  • 从红帽内容交付网络(CDN)下载新软件包。RHUA 是连接到红帽的唯一 RHUI 组件,您可以为 RHUA 配置同步计划。
  • 将新软件包复制到共享网络存储。
  • 验证 RHUI 安装的健康状况,并将结果写入位于 RHUA 的文件。监控解决方案使用此文件来确定 RHUI 安装的健康状态。
  • 通过 CLI 工具提供对 RHUI 安装健康状态的人类可读视图。

RHUI 使用两个主要配置文件: /etc/rhui/rhui-tools.conf/etc/rhui/rhui-subscription-sync.conf

/etc/rhui/rhui-tools.conf 配置文件包含 RHUA 使用的常规选项,如证书的默认文件位置,以及 Red Hat CDN 同步的默认配置参数。通常这个文件不需要编辑。

Red Hat Update Infrastructure Management Tool 根据用户输入的值生成 /etc/rhui/rhui-subscription-sync.conf 配置文件。它包含驱动在特定地区运行 RHUA 的所有信息。示例配置包括 RHUA 上用于下载软件包的目的地。

RHUA 使用几个服务来同步、组织和分发内容,以便轻松交付。

RHUA 服务

Pulp
监督支持服务管理的服务,为用户提供与交互的用户接口
PostgreSQL
用于跟踪当前同步的存储库、软件包和其他关键元数据的 PostgreSQL 数据库。

1.2.2. 内容交付服务器

CDS 节点提供客户端连接的仓库以获取更新的内容。可以有多个 CDS。因为 RHUI 提供了一个带有故障切换功能的负载平衡器,因此建议您使用多个 CDS 节点。

CDS 节点托管到最终用户 RHEL 系统的内容。虽然不需要的系统数量,CDS 会以轮循风格的负载均衡方式(A、B、C、A、B、C)将内容提供给最终用户系统。CDS 通过基于 httpd 的 yum 软件仓库使用 HTTP 托管内容到最终用户系统。

在配置期间,您可以指定同步软件包的 CDS 目录。与 RHUA 类似,唯一的要求是您挂载 CDS 上的 目录。最多是云提供商,决定在分配所需设备时的最佳操作方法。Red Hat Update Infrastructure Management Tool 配置 RPM 将 package 目录与 NGINX 配置相关联,以便为它提供服务。

目前,RHUI 支持以下共享存储解决方案:

NFS

如果使用 NFS,rhui-installer 可以配置 RHUA 上的 NFS 共享,以存储内容以及 CDS 节点上的目录以挂载 NFS 共享。以下 rhui-installer 选项控制这些设置:

  • --remote-fs-mountpoint 是应挂载远程文件系统共享的文件系统位置(默认为 /var/lib/rhui/remote_share
  • --remote-fs-server 是要使用的共享文件系统的远程挂载点,例如 nfs.example.com:/path/to/share (默认: nfs.example.com:/export
CephFS

如果使用 CephFS,则必须单独配置 CephFS,然后将它用于 RHUI 作为挂载点。以下 rhui-installer 选项控制这些设置:

  • --remote-fs-server 是要使用的共享文件系统的远程挂载点,例如 ceph.example.com:/path/to/share (默认: ceph.example.com:/export
注意

本文档不提供设置或配置 Ceph 共享文件存储的说明。有关任何与 Ceph 相关的任务,请查阅系统管理员或查看 Ceph 文档。

如果使用这些默认值,则 RHUA 上的 /export 目录以及每个 CDS 上的 /var/lib/rhui/remote_share 目录相同。

预期的用法是您在 RHUA 和所有 CDS 节点上使用一个共享的网络文件系统,例如 NFS。云供应商可能会使用某种形式的共享存储,其中 RHUA 将软件包写入以及每个 CDS 读取内容。

注意

存储解决方案必须提供 NFS 或 CephFS 端点,以便在 RHUA 和 CDS 节点上挂载。如果实施了本地存储,则需要共享存储让集群正常工作。如果要向 RHUA 提供本地存储,请将 RHUA 配置为 NFS 服务器,并配置了 rhua.example.com:/path/to/nfs/share 端点。

不要在任何 RHUI 节点上设置 Ceph 共享存储。您必须在独立专用机器上配置 CephFS。

每个 CDS 唯一采用的非标准逻辑是权利证书检查。此检查可确保客户在 yum 存储库上发出请求,由云供应商访问这些存储库。检查可确保以下条件:

  • 授权证书由云供应商的证书颁发机构(CA)证书签名。CA 证书安装在 CDS 中,作为其配置的一部分,以方便这个验证。
  • 请求的 URI 与在客户端授权证书中找到的授权匹配。

如果 CA 验证失败,客户端会看到 SSL 错误。如需更多信息,请参阅 /var/log/nginx/ 下的 CDS 节点的 NGINX 日志。

[root@cds01 ~]# ls -1 /var/log/nginx/
access.log
error.log
gunicorn-auth.log
gunicorn-content_manager.log
gunicorn-mirror.log
ssl-access.log----
重要

在 CDS 安装过程中,NGINX 配置通过 /etc/nginx/conf.d/ssl.conf 文件进行处理。

如果多个客户端遇到与库进行更新的问题,这可能表示 RHUI 存在问题。如需更多详细信息,请参阅 Yum 生成 'Errno 14 HTTP Error 401: Authorization Required'

1.2.3. HAProxy 负载均衡器

如果使用多个 CDS,则必须存在负载平衡解决方案,才能在所有服务器间分布客户端 HTTPS 请求。RHUI 附带 HAProxy,但最好选择在安装过程中要使用的负载平衡解决方案(例如,云提供商中的一个)。如果使用 HAProxy,还必须决定要进行多少个节点。

客户端不配置为直接进入 CDS;其存储库文件配置为指向 HAProxy,RHUI 负载平衡器。HAProxy 是 TCP/HTTP 反向代理,特别是适用于高可用性环境。HAProxy 执行以下任务:

  • 根据静态分配的 Cookie 路由 HTTP 请求
  • 在通过 HTTP cookies 时将负载分散到多个服务器持久性中
  • 交换机在主服务器失败时备份服务器
  • 接受与专用于服务监控的特殊端口的连接
  • 停止接受连接,而不破坏现有连接
  • 添加、修改和删除两个方向中的 HTTP 标头
  • 阻塞与特定模式匹配的请求
  • 根据应用 Cookie 持久化客户端连接到正确的应用服务器
  • 从应用程序截屏的 URI 中报告为经过身份验证的用户的 HTML 页面
注意

如果您使用现有的 load-balancer,请确保在 cds-lb-hostname 的负载均衡器中配置了端口 443,并且集群中所有 CDS 都位于负载均衡器的池中。

具体的配置取决于您所使用的特定负载均衡器软件。查看从典型的 HAProxy 设置中获取的以下配置,以了解您应该如何配置您的负载均衡器:

[root@rhui4proxy ~]# cat /etc/haproxy/haproxy.cfg
# This file managed by Puppet
global
  chroot  /var/lib/haproxy
  daemon
  group  haproxy
  log  10.10.153.149 local0
  maxconn  4000
  pidfile  /run/haproxy.pid
  stats  socket /var/lib/haproxy/stats
  user  haproxy

defaults
  log  global
  maxconn  8000
  option  redispatch
  retries  3
  stats  enable
  timeout  http-request 10s
  timeout  queue 1m
  timeout  connect 10s
  timeout  client 1m
  timeout  server 1m
  timeout  check 10s

listen https00
  bind 10.10.153.149:443
  balance roundrobin
  option tcplog
  option tcp-check
    server cds01.example.com cds01.example.com:443 check
    server cds02.example.com cds02.example.com:443 check

请记住,当客户端无法连接时,务必要查看 /var/log/ nginx / 下的 CDS 中的 nginx 日志,以确保任何请求到达 CDS。如果请求没有到达 CDS,则 DNS 或一般网络连接等问题可能处于故障。

1.2.4. 仓库和内容

存储库是软件包(RPMs)的存储位置。RHEL 使用 yum 命令来搜索存储库、下载、安装和配置 RPM。RPM 包含运行应用程序所需的所有依赖项。RPM 还会下载您的仓库中的软件更新。

RHEL 使用核心技术,如用于资源管理的控制组(cgroups)、用于进程隔离的命名空间以及用于安全性的 SELinux,启用安全多个租期,并减少了安全漏洞的可能性。这些技术可在提高安全性的同时,实现快速部署、更简单的测试、维护和故障排除。

内容与 RHUI 相关,就是您从红帽 CDN 下载的软件(如 RPM),以用于 RHUA 和 CDS 节点。RPM 提供运行特定应用程序和工具所需的文件。客户端是由 rpm 软件包提供的一组 SSL 内容证书和密钥授予访问权限,它还提供一组生成的 yum 存储库文件。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.