2.5. Operator 部署备注
本节介绍了规划基于 Operator 的部署时的一些重要注意事项
- 部署附带 AMQ Broker Operator 的自定义资源定义(CRD)需要对 OpenShift 集群具有集群管理员特权。部署 Operator 时,非管理员用户可通过对应的自定义资源(CR)创建代理实例。要启用常规用户来部署 CR,集群管理员首先必须为 CRD 分配角色和权限。如需更多信息,请参阅 OpenShift Container Platform 文档中的为自定义资源定义创建集群角色。
- 当您使用 CRD 为最新的 Operator 版本更新集群时,这个更新会 影响集群中的所有项目。从之前版本的 Operator 部署的任何代理 Pod 都可能无法更新其状态。当您在 OpenShift Container Platform Web 控制台中点击正在运行代理 Pod 的 Logs 选项卡时,您会看到表示"UpdatePodStatus"失败的消息。但是,该项目中的代理 Pod 和 Operator 将继续按预期工作。要为受影响的项目修复这个问题,还必须升级该项目以使用最新版本的 Operator。
- 您无法通过部署多个代理自定义资源(CR)实例在给定的 OpenShift 项目中创建多个代理部署。但是,当您在项目中创建代理部署时,您可以为 地址部署多个 CR 实例。
如果要使用持久性存储部署代理,且没有 OpenShift 集群中的容器原生虚拟化,则需要手动置备持久性卷(PV),并确保这些代理可以被 Operator 声明。例如,如果要创建带有持久性存储(即,在 CR 中设置
persistenceEnabled=true
)的两个代理集群,则需要有两个持久性卷可用。默认情况下,每个代理实例都需要 2 GiB 存储。如果您在 CR 中指定
persistenceEnabled=false
,则部署的代理 将使用临时存储。临时存储意味着每次重启代理 Pod 时,任何现有数据都会丢失。有关在 OpenShift Container Platform 中置备持久性存储的更多信息,请参阅:
在首次部署 CR 之前,您必须将以下列出的项目配置添加到主代理 CR 实例中。您不能将 这些项目的配置添加到已在运行的代理部署中。
下一节中的步骤演示了如何安装 Operator,并使用自定义资源(CR)在 OpenShift Container Platform 上创建代理部署。成功完成此流程后,您将使 Operator 在单个 Pod 中运行。您创建的每个代理实例将在与 Operator 相同的命名空间中的 StatefulSet 中作为单独的 Pod 运行。之后,您将了解如何使用专用的寻址 CR 在代理部署中定义地址。