第 2 章 在 OpenShift Container Platform 上规划 AMQ Broker 部署
本节论述了如何规划基于 Operator 的部署。
Operator 是可让您打包、部署和管理 OpenShift 应用程序的程序。通常,Operator 自动执行常见或复杂的任务。通常,Operator 旨在提供:
- 一致、可重复安装
- 系统组件的健康检查
- 无线(OTA)更新
- 受管升级
Operator 允许您在代理实例运行时进行更改,因为它们始终侦听用于配置部署的自定义资源(CR)实例的更改。当您更改 CR 时,Operator 会将更改与现有代理部署协调,并更新部署以反映更改。另外,Operator 提供了一个消息迁移功能,用于确保消息传递数据的完整性。当集群部署中的代理因为部署的意图而关闭时,此功能会将信息迁移到仍然在同一代理集群中运行的代理 Pod 中。
2.1. 高可用性概述(HA)
术语 High 是指一个可以保持正常运行的系统,即使该系统的一部分失败或关闭。对于 OpenShift Container Platform 上的 AMQ Broker,这意味着在代理 Pod 失败时确保消息传递数据的完整性和可用性。
AMQ Broker 使用 OpenShift Container Platform 中提供的 HA 功能来缓解 Pod 失败:
- 如果在 AMQ Broker 上启用了持久性存储,则每个代理 Pod 将其数据写入使用持久性卷声明(PVC)声明的持久性卷(PV)。即使 Pod 被删除后,PV 仍会保留。如果代理 Pod 失败,OpenShift Container Platform 会重启具有相同名称的 Pod,并使用包含消息传递数据的现有 PV。
- 您可以在集群中运行多个代理 Pod,并在单独的节点上分发 Pod 以防止节点失败。在集群中,每个代理 Pod 会将其消息数据写入自己的 PV,然后在不同节点上重启时该代理 Pod 可供该代理 Pod 使用。
下图显示了集群代理部署。在这种情况下,代理集群中的两个代理 Pod 仍在运行。
![AH ocp pod 排空](https://access.redhat.com/webassets/avalon/d/Red_Hat_AMQ_Broker-7.11-Deploying_AMQ_Broker_on_OpenShift-zh-CN/images/e0571475367588014fab9ca9e29536d3/ah-ocp-pod-draining.png)
其他资源
有关如何使用持久性存储的详情,请参考 第 2.7 节 “Operator 部署备注”。
有关如何在独立节点上分发代理 Pod 的详情,请参考 第 4.14.2 节 “使用容限控制 pod 放置”。