Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

第 2 章 规划您的 undercloud

2.1. 容器化 undercloud

undercloud 是控制最终 OpenStack 平台环境(称为 overcloud)的配置、安装和管理的节点。undercloud 本身以容器的形式使用 OpenStack 平台组件来创建红帽称作 OpenStack Platform director 的工具组。这意味着,undercloud 从注册表来源拉取一组镜像容器,生成容器的配置,然后以容器的形式运行各项 OpenStack Platform 服务。因此,undercloud 提供一组容器化的服务集合,作为用于创建和管理 overcloud 的工具组。

undercloud 和 overcloud 都使用容器,它们使用相同的架构来拉取、配置和运行容器。这种架构依赖 OpenStack Orchestration 服务(称为 Heat)来置备和配置节点,通过 Ansible 来配置服务和容器。建议您对 Heat 和 Ansible 有一定的了解,这将有助于对问题进行故障排除。

2.2. 准备 undercloud 网络

undercloud 需要访问两个主要网络:

  • Provisioning 或 Control Plane 网络:director 使用此网络来置备节点并(在执行 Ansible 配置时)通过 SSH 访问节点。此网络也为您提供从 undercloud 到 overcloud 节点的 SSH 访问途径。undercloud 提供 DHCP 服务,用于内省和置备此网络上的其他节点;这意味着此网络上不应存在其他 DHCP 服务。director 为此网络配置接口。
  • External 网络:此网络供 undercloud 用于访问 OpenStack 平台软件仓库、容器镜像源或其他服务器,如 DNS 服务器或 NTP 服务器。您也可通过网络从工作站访问 undercloud。这意味着,您必须手动配置 undercloud 上的接口来访问外部网络。

也就是说,undercloud 需要最少两张 1 Gbps 网卡。不过,建议为 Provisioning 网络流量使用 10 Gbps 接口,特别是在 overcloud 环境中置备大量节点时。

请注意:

  • 确保 Provisioning / Control Plane 网络的 NIC 和用于从您的工作站访问 director 计算机的 NIC 不同。director 安装会使用 Provisioning NIC 创建一个网桥,它会忽略所有远程连接。使用 External NIC 来远程连接 director 系统。
  • Provisioning 网络需要一个与您的环境大小相匹配的 IP 范围。使用以下原则来决定包括在这个范围内的 IP 地址数量:

    • 最少为内省期间每个连接到 Provisioning 网络的节点包括一个临时 IP。
    • 最少为部署期间每个连接到 Provisioning 网络的节点包括一个永久 IP 地址。
    • 包括一个额外的 IP 地址,用于 Provisioning 网络上 overcloud 高可用性集群的虚拟 IP。
    • 包括一个此范围内的额外 IP 地址,以用于扩展环境。

2.3. 确定环境规模

在安装 undercloud 之前,有必要先确定环境的规模。要规划的因素包括:

  • 您的 overcloud 中有多少个节点?undercloud 管理 overcloud 中的每个节点。置备 overcloud 节点会消耗 undercloud 上的资源。这意味着,您必须为 undercloud 提供适当的资源,它们要足以部署和控制 overcloud 节点。
  • 您希望 undercloud 同步执行多少个操作?undercloud 上的大部分 OpenStack 服务会使用一组 worker。每个 worker 执行特定于该服务的一个操作。多个 worker 提供同步操作。undercloud 上的默认 worker 数量等于 undercloud 上 CPU 线程总数的一半。[1]例如,如果 undercloud 具有一个 16 线程的 CPU,那么默认情况下,director 服务将生成 8 个 worker。请注意,director 在默认情况下也会使用一组上限和下限值。
服务最小值最大值

OpenStack Orchestration (heat)

4

24

所有其他服务

2

12

undercloud 的 CPU和内存最低要求:

  • 支持 Intel 64 或 AMD64 CPU 扩展的 8 线程 64 位 x86 处理器。这可为每个 undercloud 服务提供 4 个 worker。
  • 最少 24 GB RAM。

如果希望使用更大数量的 worker,您的 undercloud 将需要更多的 vCPU 和内存。请遵循以下建议:

  • 最小值:每个线程使用 1.5 GB 内存。例如,一台有 48 个线程的计算机应当具有 72 GB RAM。这可以为 24 个 Heat worker 和 12 个用于其他服务的 worker 提供最小的覆盖范围。
  • 建议值:每个线程使用 3 GB 内存。例如,一台有 48 个线程的计算机应当具有 144 GB RAM。这可以为 24 个 Heat worker 和 12 个用于其他服务的 worker 提供建议的覆盖范围。

2.4. undercloud 磁盘大小调整

对于 undercloud,建议的下限为根磁盘上提供有 100 GB 的可用磁盘空间。这包括:

  • 20 GB 用于容器镜像
  • 10 GB 在节点部署过程中用于 QCOW2 镜像转换和缓存
  • 70 GB 或更大空间供常规使用、保存日志和指标以及满足增长需要

2.5. undercloud 软件仓库

安装和配置 undercloud 需要下列软件仓库。

表 2.1. 核心软件仓库

名称软件仓库描述

Red Hat Enterprise Linux 7 Server (RPMs)

rhel-7-server-rpms

x86_64 系统的基本操作系统仓库。

Red Hat Enterprise Linux 7 Server - Extras (RPMs)

rhel-7-server-extras-rpms

包括 Red Hat OpenStack Platform 的依赖软件包。

Red Hat Enterprise Linux 7 Server - RH Common (RPMs)

rhel-7-server-rh-common-rpms

包括部署和配置 Red Hat OpenStack Platform 的工具程序。

Red Hat Satellite Tools for RHEL 7 Server RPMs x86_64

rhel-7-server-satellite-tools-6.3-rpms

管理使用 Red Hat Satellite 6 的主机的工具。

Red Hat Enterprise Linux High Availability (for RHEL 7 Server) (RPMs)

rhel-ha-for-rhel-7-server-rpms

Red Hat Enterprise Linux 的高可用性工具。用于 Controller 节点的高可用性功能。

Red Hat OpenStack Platform 14 for RHEL 7 (RPMs)

rhel-7-server-openstack-14-rpms

Red Hat OpenStack Platform 核心软件仓库,包含 Red Hat OpenStack Platform director 的软件包。

表 2.2. Ceph 软件仓库

名称软件仓库描述

Red Hat Ceph Storage Tools 3 for Red Hat Enterprise Linux 7 Server (RPMs)

rhel-7-server-rhceph-3-tools-rpms

为节点提供与 Ceph Storage 集群通信的工具。如果计划在 overcloud 中使用 Ceph Storage,undercloud 需要此软件仓库中的 ceph-ansible 软件包。

IBM POWER 软件仓库

这些软件仓库供 POWER PC 架构上的 Openstack Platform 使用。使用这些软件仓库来替代核心软件仓库中的同等库。

名称软件仓库描述

Red Hat Enterprise Linux for IBM Power, little endian

rhel-7-for-power-le-rpms

ppc64le 系统的基本操作系统软件仓库。

Red Hat OpenStack Platform 14 for RHEL 7 (RPMs)

rhel-7-server-openstack-14-for-power-le-rpms

用于 ppc64le 系统的 Red Hat OpenStack Platform 核心软件仓库。



[1] 在此情况下,线程数等于 CPU 内核数乘以超线程值。