Red Hat OpenStack 平台上的 OpenShift
Red Hat OpenStack 平台提供了一个集成的基础来创建、部署和扩展安全可靠的私有 OpenStack 云。
OSP 是一种基础设施即服务 (IaaS) 云,由管理计算、存储和网络资源的一系列控制服务实现。该环境使用基于 Web 的界面进行管理,允许管理员和用户控制、配置和自动化 OpenStack 资源。此外,OpenStack 基础设施通过广泛的命令行界面和 API 实现,为管理员和最终用户提供完全自动化功能。
OpenStack项目是一个快速发展的社区项目,每六个月提供一次更新版本。最初,Red Hat OpenStack Platform 通过随每个上游版本发布新版本并为每三个版本提供长期支持来跟上此发布周期。最近,随着 OSP 16.0 版本(基于 OpenStack Train)的发布,Red Hat 选择不跟上版本号,而是将新功能反向移植到子版本中。最新版本是 Red Hat OpenStack Platform 16.1,其中包括从 Ussuri 和 Victoria 上游版本移植的高级功能。
有关 OSP 的更多信息,请参阅"红帽 OpenStack 平台网站"。
OpenStack服务
OpenStack 平台服务以容器形式部署,从而将服务彼此隔离并实现轻松升级。 OpenStack 平台使用一组通过 Kolla 构建和管理的容器。服务的部署是通过从 Red Hat Custom Portal 提取容器镜像来执行的。这些服务容器使用 Podman 命令进行管理,并使用 Red Hat OpenStack Director 进行部署、配置和维护。
服务 | 项目名称 | 描述 |
---|---|---|
信息板 |
Horizon |
用于管理 OpenStack 服务的基于 Web 浏览器的仪表板。 |
身份 |
Keystone |
用于对 OpenStack 服务进行身份验证和授权以及管理用户、项目和角色的集中服务。 |
OpenStack 网络连接 |
中子 |
提供 OpenStack 服务接口之间的连接。 |
块存储 |
Cinder |
管理虚拟机 (VM) 的持久块存储卷。 |
计算 |
Nova |
管理和配置在计算节点上运行的虚拟机。 |
映像 |
Glance |
用于存储虚拟机镜像、卷快照等资源的注册服务。 |
对象存储 |
Swift |
允许用户存储和检索文件和任意数据。 |
遥测 |
云高仪 |
提供云资源使用情况的测量。 |
编排 |
热 |
基于模板的编排引擎,支持自动创建资源栈。 |
网络设计
Red Hat OpenShift 与NetApp解决方案使用两个数据交换机以 25Gbps 提供主要数据连接。它还使用两个额外的管理交换机,以 1Gbps 的速度提供存储节点的带内管理连接以及 IPMI 功能的带外管理连接。
Red Hat OpenStack Director 需要 IPMI 功能来使用 Ironic 裸机配置服务部署 Red Hat OpenStack Platform。
VLAN 要求
Red Hat OpenShift 与NetApp旨在通过使用虚拟局域网 (VLAN) 在逻辑上分离用于不同用途的网络流量。此配置可以扩展以满足客户需求或为特定网络服务提供进一步的隔离。下表列出了在NetApp验证解决方案时实施该解决方案所需的 VLAN。
VLAN | 目的 | VLAN ID |
---|---|---|
带外管理网络 |
用于管理 Ironic 的物理节点和 IPMI 服务的网络。 |
16 |
存储基础设施 |
用于控制器节点直接映射卷以支持 Swift 等基础设施服务的网络。 |
201 |
储存煤渣 |
用于将块卷直接映射并附加到环境中部署的虚拟实例的网络。 |
202 |
内部 API |
用于使用 API 通信、RPC 消息和数据库通信的 OpenStack 服务之间的通信的网络。 |
301 |
Tenant(租户) |
Neutron 通过 VXLAN 隧道为每个租户提供自己的网络。网络流量在每个租户网络内是隔离的。每个租户网络都有一个与之关联的 IP 子网,网络命名空间意味着多个租户网络可以使用相同的地址范围而不会引起冲突。 |
302 |
存储管理 |
OpenStack 对象存储(Swift)使用此网络在参与的副本节点之间同步数据对象。代理服务充当用户请求和底层存储层之间的中介接口。代理接收传入的请求并找到必要的副本以检索请求的数据。 |
303 |
PXE |
OpenStack Director 提供 PXE 启动作为 Ironic 裸机配置服务的一部分,以协调 OSP Overcloud 的安装。 |
3484 |
外部 |
公共可用网络,托管用于图形管理的 OpenStack 仪表板(Horizon),并允许公共 API 调用来管理 OpenStack 服务。 |
3485 |
带内管理网络 |
提供对系统管理功能(例如 SSH 访问、DNS 流量和网络时间协议 (NTP) 流量)的访问。该网络还充当非控制器节点的网关。 |
3486 |
网络基础设施支持资源
在部署 OpenShift 容器平台之前,应具备以下基础设施:
-
至少一个提供完整主机名解析的 DNS 服务器。
-
至少三个NTP服务器可以为解决方案中的服务器保持时间同步。
-
(可选)OpenShift 环境的出站互联网连接。
生产部署的最佳实践
本节列出了组织在将此解决方案部署到生产中之前应考虑的几种最佳实践。
将 OpenShift 部署到具有至少三个计算节点的 OSP 私有云
本文档中描述的经过验证的架构通过部署三个 OSP 控制节点和两个 OSP 计算节点,提供了适合 HA 操作的最小硬件部署。该架构确保了容错配置,其中两个计算节点都可以启动虚拟实例,并且部署的虚拟机可以在两个虚拟机管理程序之间迁移。
由于 Red Hat OpenShift 最初部署了三个主节点,因此双节点配置可能会导致至少两个主节点占用同一个节点,如果该特定节点不可用,则可能导致 OpenShift 中断。因此,Red Hat 的最佳实践是部署至少三个 OSP 计算节点,以便 OpenShift 主机可以均匀分布,并且解决方案可以获得额外的容错程度。
配置虚拟机/主机亲和性
通过启用 VM/主机亲和性,可以将 OpenShift 主机分布在多个虚拟机管理程序节点上。
亲和性是一种为虚拟机和/或主机集合定义规则的方法,用于确定虚拟机是否在同一主机或组中的主机上一起运行,还是在不同的主机上运行。它通过创建由具有一组相同参数和条件的虚拟机和/或主机组成的亲和性组应用于虚拟机。根据亲和性组中的虚拟机是运行在组内的同一主机上还是运行在组内的多个主机上,还是分别运行在不同的主机上,亲和性组的参数可以定义正亲和性或负亲和性。在 Red Hat OpenStack Platform 中,可以通过创建服务器组和配置过滤器来创建和强制执行主机亲和性和反亲和性规则,以便 Nova 在服务器组中部署的实例部署在不同的计算节点上。
一个服务器组最多可以管理 10 个虚拟实例。可以通过更新 Nova 的默认配额来修改这一点。
|
OSP 服务器组存在特定的硬亲和性/反亲和性限制;如果没有足够的资源部署在单独的节点上或没有足够的资源允许共享节点,则虚拟机将无法启动。 |
要配置关联组,请参阅"如何为 OpenStack 实例配置亲和性和反亲和性?"。
使用自定义安装文件进行 OpenShift 部署
IPI 通过本文档前面讨论的交互式向导使 OpenShift 集群的部署变得简单。但是,您可能需要在集群部署过程中更改一些默认值。
在这些情况下,您可以运行向导并执行任务,而无需立即部署集群;相反,它会创建一个配置文件,稍后可以从中部署集群。如果您需要更改任何 IPI 默认值,或者想要在您的环境中部署多个相同的集群用于其他用途(例如多租户),这将非常有用。有关为 OpenShift 创建自定义安装配置的更多信息,请参阅"Red Hat OpenShift 在 OpenStack 上安装自定义集群"。