第 1 章 简介

Red Hat OpenStack Platform director 是一个安装和管理完整的 OpenStack 环境的工具组,它主要基于 OpenStack 项目 - TripleO("OpenStack-On-OpenStack" 的缩写)。director 主要基于 OpenStack project TripleO(“OpenStack-On-OpenStack” 的缩写)。此项目包含可用于安装全面运行的 OpenStack 环境的 OpenStack 组件。其中包括置备并控制裸机系统用作 OpenStack 节点的 OpenStack 组件。这为安装精益可靠的完整 Red Hat OpenStack Platform 环境提供了一种简单方法。

Red Hat OpenStack Platform director 使用两个主要概念:undercloud 和 overcloud。undercloud 用来安装并配置 overcloud。下面几节概述了这两个概念。

undercloud 和 overcloud 的基本布局

1.1. undercloud

undercloud 是包含 OpenStack 平台 director 工具组的主要管理节点,它是由单一系统组成的 OpenStack 安装,并包括了置备和管理 OpenStack 环境 (overcloud) 所需的组件。它是一个单一系统的 OpenStack 安装,包括置备和管理组成 OpenStack 环境 (overcloud) 的 OpenStack 节点的组件。组成 undercloud 的组件具有多个功能:

环境规划
undercloud 包括用户用于创建和分配某些节点规则的规划功能。undercloud 包括一组默认节点:计算(Compute)、控制器(Controller)和各种存储角色。您也可以设计自定义角色。此外,您还可以选择每个节点角色包括哪些 OpenStack Platform 服务。这提供了对新节点建模,或把特定组件隔离在其自己的主机中的方法。
裸机系统控制
undercloud 使用每个节点的带外管理接口(通常是智能平台管理接口 (IPMI))进行电源管理控制,使用基于 PXE 的服务发现硬件属性并在每个节点上安装 OpenStack。您可以使用此功能将裸机系统置备为 OpenStack 节点。有关电源管理驱动程序的完整列表,请参阅 附录 A, 电源管理驱动
编配
undercloud 包含一组 YAML 模板,这些模板代表您环境中的一系列计划。undercloud 导入这些计划,并根据其中的指示创建所需的 OpenStack 环境。这些计划还可以包括 hook。通过使用 hook,可以在环境创建过程中的特定点上融入您自己的自定义设置。
undercloud 组件

undercloud 使用 OpenStack 组件作为它的基本工具组。每个组件都在 undercloud 中的一个独立容器内运行:

  • OpenStack Identity (keystone) - 提供 director 组件的验证和授权功能。
  • OpenStack Bare Metal (ironic) 和 OpenStack Compute (nova) - 管理裸机节点。
  • OpenStack Networking (neutron) 和 Open vSwitch - 控制裸机节点的网络。
  • OpenStack Image Service (glance) - 存储 director 写入裸机的镜像。
  • OpenStack Orchestration (heat) 和 Puppet - 提供对节点的编配功能,并在 director 把 overcloud 镜像写入到磁盘后配置节点。
  • OpenStack Telemetry(ceilometer) - 监控并采集数据。这还包括:

    • OpenStack Telemetry Metrics(gnocchi) - 为 metrics 提供一个时间序列数据库。
    • OpenStack Telemetry Alarming(aodh) - 为监控提供一个警告组件。
    • OpenStack Telemetry Event Storage(panko)- 为监控提供事件存储。
  • OpenStack Workflow Service(mistral) - 为特定 director 操作(如导入和部署计划)提供一组工作流程。
  • OpenStack Messaging Service(zaqar) - 为 OpenStack Workflow Service 提供一个消息服务。
  • OpenStack Object Storage(swift) - 为不同的 OpenStack 平台组件提供对象存储,包括:

    • 为 OpenStack Image Service 提供镜像存储
    • 为 OpenStack Bare Metal 提供内省数据
    • 为 OpenStack Workflow Service 提供部署计划