Red Hat Training

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

第 1 章 简介

Red Hat OpenStack Platform director 是一个安装和管理完整的 OpenStack 环境的工具组,它主要基于 OpenStack 项目 - 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) 所需的组件。undercloud 的组件具有多个功能:

环境规划
undercloud 为用户提供了创建并分配节点角色的规划功能。undercloud 包括了一组默认节点,如 Compute、Controller 和不同存储角色。另外,它还提供了使用自定义节点的功能。此外,您可以选择在每个节点角色上包括哪些 OpenStack Platform 服务,这提供了一个模式化新节点类型,或把特定组件隔离在它们自己的主机上的方法。
裸机系统控制
undercloud 使用每个节点的带外管理接口(通常是智能平台管理接口,即 Intelligent Platform Management Interface,简称 IPMI)来进行电源管理控制,并使用一个基于 PXE 的服务来发现硬件属性并在每个节点上安装 OpenStack。通过这个功能,可以把裸机系统部署为 OpenStack 节点。如需获得完整的电源管理驱动程序列表,请参阅 附录 B, 电源管理驱动
编配
undercloud 提供了一组 YAML 模板作为环境的一组计划。undercloud 导入这些计划,并根据其中的指示创建所需的 OpenStack 环境。在这些计划中还包括了一些 hook,您可以使用它们在创建环境的某些特定阶段对环境进行定制。
命令行工具和 Web UI
Red Hat OpenStack Platform director 通过基于终端的命令行接口或基于 web 的用户接口来使用 undercloud 功能。
undercloud 组件

undercloud 使用 OpenStack 组件作为它的基本工具组。每个组件在 undercloud 上的单独容器内运行。这包括以下组件:

  • OpenStack Identity (keystone) - 提供 director 组件的验证和授权功能。
  • OpenStack Bare Metal (ironic) 和 OpenStack Compute (nova) - 管理裸机节点。
  • OpenStack Networking (neutron) 和 Open vSwitch - 控制裸机节点的网络。
  • OpenStack Image Server (glance) - 存储写到裸机上的镜像。
  • 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 提供部署计划

1.2. overcloud

overcloud 是一个通过 undercloud 创建的 Red Hat OpenStack Platform环境,它包括了一组基于所要创建的 OpenStack 平台环境的不同节点角色。undercloud 包括了一组默认的 overcloud 节点角色:

Controller

为 OpenStack 环境提供管理、网络和高可用性服务的节点。在一个理想的 OpenStack 环境中,推荐在一个高可用性集群中使用 3 个 Controller 节点。

一个默认 Controller(控制器)节点包括以下组件:

  • OpenStack Dashboard (horizon)
  • OpenStack Identity (keystone)
  • OpenStack Compute (nova) API
  • OpenStack Networking (neutron)
  • OpenStack Image Service (glance)
  • OpenStack Block Storage (cinder)
  • OpenStack Object Storage (swift)
  • OpenStack Orchestration (heat)
  • OpenStack Telemetry (ceilometer)
  • OpenStack Telemetry Metrics (gnocchi)
  • OpenStack Telemetry Alarming (aodh)
  • OpenStack Telemetry Event Storage (panko)
  • OpenStack Clustering (sahara)
  • OpenStack Shared File Systems(manila)
  • OpenStack Bare Metal(ironic)
  • MariaDB
  • Open vSwitch
  • 高可用性服务的 Pacemaker 和 Galera。
Compute

为 OpenStack 环境提供计算资源的节点。随着时间的推移,可以通过添加更多节点来扩展您的环境。一个默认 Compute (计算)节点包括以下组件:

  • OpenStack Compute (nova)
  • KVM/QEMU
  • OpenStack Telemetry (ceilometer) 代理
  • Open vSwitch
Storage

为 OpenStack 环境提供存储的节点。这包括:

  • Ceph Storage 节点 - 用来组成存储集群,每个节点包括一个 Ceph Object Storage Daemon(OSD)。另外,director 会在实施 Ceph Storage 节点的 Controller 节点上安装 Ceph Monitor。
  • Block storage(cinder)- 作为 HA Controller 节点的外部块存储。这类节点包括以下组件:

    • OpenStack Block Storage (cinder) 卷
    • OpenStack Telemetry (ceilometer) 代理
    • Open vSwitch.
  • Object Storage (swift) - 这些节点为 OpenStack Swift 提供了一个外部存储层。Controller 节点通过 Swift 代理访问这些节点。这个节点包括以下组件:

    • OpenStack Object Storage (swift) 存储
    • OpenStack Telemetry (ceilometer) 代理
    • Open vSwitch.

1.3. 高可用性

Red Hat OpenStack Platform director 使用一个 Controller 节点集群来为 OpenStack 平台环境提供高可用性功能。director 在每个 Controller 节点上安装一组重复的组件,这种集群配置在单一 Controller 节点出现问题时,提供了一个故障转移的功能,从而在一定程度上为 OpenStack 用户提供了不间断的服务。

OpenStack Platform director 使用以下软件来管理 Controller 节点上的组件:

  • Pacemaker - Pacemaker 是集群资源的管理者,它会管理并监控一个集群中所有节点上的 OpenStack 组件的可用性。
  • HA Proxy(HA 代理) - 为集群提供负载平衡和代理服务。
  • Galera - 在集群中复制 Red Hat OpenStack Platform 数据库。
  • Memcached - 提供数据库缓存服务。
注意
  • Red Hat OpenStack Platform director 会在 Controller 节点上自动配置大批高可用性设置。但是,仍然需要手工配置节点来启用电源管理控制。相关说明参见本指南。
  • 自版本 13 起,您可以使用 director 部署计算实例的高可用性 (Instance HA)。借助 Instance HA,您可以在 Compute 节点失败时从该节点自动撤离实例。

1.4. 容器化

undercloud 和 overcloud 上的各个 OpenStack Platform 服务在对应节点的单独 Linux 容器内运行。这不仅提供一种隔离服务的方法,也提供了维护和升级 OpenStack Platform 的简便途径。红帽支持多种方法来获取 overcloud 的容器镜像,包括:

  • 直接从Red Hat Container Catalog(红帽容器目录)拉取
  • 托管在 undercloud 上
  • 托管在 Satellite 6 服务器上

本指南提供了关于如何配置注册表详情和执行基本容器操作的信息。

1.5. Ceph 存储

大型的机构通常需要使用 OpenStack 来为成千上万的客户端系统提供服务,而每个 OpenStack 客户端系统都会有自己对块存储资源的要求。在一个单一的节点上安装 glance (images)、cinder (volumes) 和/或 nova (compute) 来管理一个大型系统中的成千上万的客户系统将变得非常不现实。这个问题可以通过外部扩展 OpenStack 加以解决。

但是,在实际的环境中,仍然需要一个存储层的虚拟化解决方案来扩展 Red Hat OpenStack Platform 的存储层,使它可以支持 terabyte、petabyte 甚至 exabyte 数量级的存储要求。Red Hat Ceph Storage 提供了这样一个存储虚拟化层,它具有高可用性和高效性。虽然虚拟化可能会在牺牲系统性能的情况下实现,但是 Ceph 会把集群中的块设备镜像作为对象来处理,这意味着大型的 Ceph Block 设备镜像有比独立磁盘更好的性能。另外,Cept Block 设备还支持缓存、copy-on-write cloning 和 copy-on-read cloning 功能来提高性能。

如需了解更多与 Red Hat Ceph Storage 相关的信息,请参阅 Red Hat Ceph Storage

注意

对于多架构云,支持预安装的或外部的 Ceph。请参阅 Integrating an Overcloud with an Existing Red Hat Ceph Cluster and 附录 G, Red Hat OpenStack Platform for POWER 来了解更多详细信息。