搜索

2.8. Operator 部署备注

download PDF

本节介绍了规划基于 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。删除 StatefulSet 会导致所有 pod 都被删除并重新创建,这会导致临时代理中断。如果 StatefulSet 中将 persistenceEnabled=false 改为 persistenceEnabled=true,则 Operator 无法在 StatefulSet 中动态更新 CR 更新示例。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.