2.7. Operator 部署备注


本节介绍了规划基于 Operator 的部署时的一些重要注意事项

  • 部署 AMQ Broker Operator 附带的自定义资源定义(CRD)需要 OpenShift 集群的集群管理员权限。部署 Operator 时,非管理员用户可以通过对应的自定义资源(CR)创建代理实例。要启用常规用户来部署 CR,集群管理员必须首先为 CRD 分配角色和权限。如需更多信息,请参阅 OpenShift Container Platform 文档中的 为自定义资源定义创建集群角色
  • 当使用最新 Operator 版本的 CRD 更新集群时,这个更新会影响 集群中的所有项目。从 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 实例中。您不能将 这些项目的配置添加到已在运行的代理部署中。

  • 如果更新 CR 中的参数,Operator 无法在 StatefulSet 中动态更新,Operator 会删除 StatefulSet,并使用更新的参数值重新创建它。删除 StatefulSet 会导致所有 pod 被删除并重新创建,从而导致临时代理中断。例如,如果将 persistenceEnabled=false 改为 persistenceEnabled=true,Operator 无法在 StatefulSet 中动态更新。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.