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) |
|
x86_64 系统的基本操作系统仓库。 |
Red Hat Enterprise Linux 7 Server - Extras (RPMs) |
|
包括 Red Hat OpenStack Platform 的依赖软件包。 |
Red Hat Enterprise Linux 7 Server - RH Common (RPMs) |
|
包括部署和配置 Red Hat OpenStack Platform 的工具程序。 |
Red Hat Satellite Tools for RHEL 7 Server RPMs x86_64 |
|
管理使用 Red Hat Satellite 6 的主机的工具。 |
Red Hat Enterprise Linux High Availability (for RHEL 7 Server) (RPMs) |
|
Red Hat Enterprise Linux 的高可用性工具。用于 Controller 节点的高可用性功能。 |
Red Hat OpenStack Platform 14 for RHEL 7 (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) |
|
为节点提供与 Ceph Storage 集群通信的工具。如果计划在 overcloud 中使用 Ceph Storage,undercloud 需要此软件仓库中的 |
IBM POWER 软件仓库
这些软件仓库供 POWER PC 架构上的 Openstack Platform 使用。使用这些软件仓库来替代核心软件仓库中的同等库。
名称 | 软件仓库 | 描述 |
---|---|---|
Red Hat Enterprise Linux for IBM Power, little endian |
|
ppc64le 系统的基本操作系统软件仓库。 |
Red Hat OpenStack Platform 14 for RHEL 7 (RPMs) |
|
用于 ppc64le 系统的 Red Hat OpenStack Platform 核心软件仓库。 |