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。下面几节概述了这两个概念。
1.1. undercloud
undercloud 是主要的 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 组件作为它的基本工具集。它包括以下组件:
- 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 Platform 组件提供对象存储,包括:
- 为 OpenStack Image Service 提供镜像存储
- 为 OpenStack Bare Metal 提供内省数据
- 为 OpenStack Workflow Service 提供部署计划
1.2. overcloud
overcloud 是一个通过 undercloud 创建的 Red Hat OpenStack Platform 环境,它包括了一组基于所要创建的 OpenStack Platform 环境的不同节点角色。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 Platform 环境提供高可用性功能。director 在每个 Controller 节点上安装一组重复的组件,这种集群配置在单一 Controller 节点出现问题时,提供了一个故障转移的功能,从而在一定程度上为 OpenStack 用户提供了不间断的服务。
OpenStack Platform director 使用以下软件来管理 Controller 节点上的组件:
- Pacemaker - Pacemaker 是集群资源的管理者,它会管理并监控一个集群中所有节点上的 OpenStack 组件的可用性。
- HA Proxy(HA 代理) - 为集群提供负载平衡和代理服务。
- Galera - 提供在集群中复制 OpenStack Platform 数据库的服务。
- Memcached - 提供数据库缓存服务。
Red Hat OpenStack Platform director 会在 Controller 节点上自动配置大批高可用性设置。但是,仍然需要手工配置节点来启用电源管理控制。相关说明参见本指南。
1.4. 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。