9.4. 升级 Cluster Operator


使用相同的方法,将 Cluster Operator 升级为初始部署方法。

使用安装文件
如果您使用安装 YAML 文件部署了 Cluster Operator,通过修改 Operator 安装文件来执行升级,如使用安装文件 升级 Cluster Operator 所述。
使用 OperatorHub

如果您从 OperatorHub 部署 AMQ Streams,请使用 Operator Lifecycle Manager (OLM)将 AMQ Streams Operator 的更新频道改为一个新的 AMQ Streams 版本。

更新频道会根据您选择的升级策略启动以下类型的升级之一:

  • 启动自动升级
  • 在安装开始前需要批准的手动升级
注意

如果您订阅了 stable 频道,您可以在不更改频道的情况下获得自动更新。但是,不建议启用自动更新,因为缺少任何预安装升级步骤。仅在特定于版本的频道中使用自动升级。

如需有关使用 OperatorHub 升级 Operator 的更多信息,请参阅升级安装的 Operator (OpenShift 文档)。

9.4.1. 升级 Cluster Operator 会返回 Kafka 版本错误

如果升级 Cluster Operator 并收到 不受支持的 Kafka 版本 错误,则 Kafka 集群部署有一个旧的 Kafka 版本,它不受新 operator 版本的支持。这个错误适用于所有安装方法。

如果发生这个错误,将 Kafka 升级到受支持的 Kafka 版本。将 Kafka 资源中的 spec.kafka.version 更改为支持的版本。

您可以使用 oc 检查错误信息,如包括在 Kafka 资源的 status 中的信息。

检查 Kafka 状态中的错误

oc get kafka <kafka_cluster_name> -n <namespace> -o jsonpath='{.status.conditions}'
Copy to Clipboard Toggle word wrap

<kafka_cluster_name > 替换为 Kafka 集群的名称,& lt;namespace > 替换为运行 pod 的 OpenShift 命名空间。

从 AMQ Streams 1.7 或更早版本使用 OperatorHub 进行的操作

Red Hat Integration - AMQ Streams Operator 仅支持 v1beta2 自定义资源。在将 AMQ Streams Operator 升级到 OperatorHub 中的 2.2 之前,自定义资源必须升级到 v1beta2

如果您要从 1.7 版本之前的 AMQ Streams 版本升级:

  1. 升级到 AMQ Streams 1.7。
  2. AMQ Streams 软件下载页下载 AMQ Streams 1.8 提供的 Red Hat AMQ Streams API Conversion Tool
  3. 将自定义资源和 CRD 转换为 v1beta2

    如需更多信息,请参阅 AMQ Streams 1.7 升级文档

  4. 在 OperatorHub 中,删除 Red Hat Integration - AMQ Streams Operator 的版本 1.7.0。
  5. 如果还存在,请删除 Red Hat Integration - AMQ Streams Operator 版本 2.1.0。

    如果不存在,请转到下一步。

    如果 AMQ Streams Operator 的 Approval Strategy 被设置为 Automatic,则集群中可能已存在 Operator 版本 2.1.0。如果您没有将 自定义资源和 CRD 转换为 v1beta2 API 版本,Operator 管理的自定义资源和 CRD 将使用旧的 API 版本。因此,2.1.0 Operator 处于 Pending 状态。在这种情况下,您需要删除 Red Hat Integration - AMQ Streams Operator 版本 2.1.0 以及版本 1.7.0。

    如果删除了这两个 Operator,协调会暂停,直到安装了新的 operator 版本。紧接下一步,以便对自定义资源的任何更改都不会延迟。

  6. 在 OperatorHub 中,立即安装 Red Hat Integration - AMQ Streams Operator 版本 2.1.0。

    安装的 2.1.0 操作器将开始监视集群并执行滚动更新。您可能会注意到这个过程中集群性能的临时降低。

9.4.3. 使用安装文件升级 Cluster Operator

这个步骤描述了如何升级 Cluster Operator 部署以使用 AMQ Streams 2.2。

如果使用安装 YAML 文件部署 Cluster Operator,请按照以下步骤操作。

由 Cluster Operator 管理的 Kafka 集群可用性不受升级操作的影响。

注意

有关如何升级到该版本的信息,请参阅支持 AMQ Streams 特定版本的文档。

先决条件

流程

  1. 记录对现有 Cluster Operator 资源(在 /install/cluster-operator 目录中)所做的任何配置更改。Cluster Operator 的新版本 将覆盖 任何更改。
  2. 更新您的自定义资源,以反映 AMQ Streams 版本 2.2 可用的受支持配置选项。
  3. 更新 Cluster Operator。

    1. 根据 Cluster Operator 在其中运行的命名空间,为新的 Cluster Operator 版本修改安装文件。

      在 Linux 上,使用:

      sed -i 's/namespace: .*/namespace: <my_cluster_operator_namespace>/' install/cluster-operator/*RoleBinding*.yaml
      Copy to Clipboard Toggle word wrap

      在 MacOS 上,使用:

      sed -i '' 's/namespace: .*/namespace: <my_cluster_operator_namespace>/' install/cluster-operator/*RoleBinding*.yaml
      Copy to Clipboard Toggle word wrap
    2. 如果您在现有 Cluster Operator Deployment 中修改了一个或多个环境变量,请编辑 install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml 文件来使用这些环境变量。
  4. 当您有更新的配置时,将其与其它安装资源一起部署:

    oc replace -f install/cluster-operator
    Copy to Clipboard Toggle word wrap

    等待滚动更新完成。

  5. 如果新 Operator 版本不再支持从中升级的 Kafka 版本,Cluster Operator 会返回一条错误消息,表示不支持该版本。否则,不会返回任何错误消息。

    • 如果返回错误消息,升级到新 Cluster Operator 版本支持的 Kafka 版本:

      1. 编辑 Kafka 自定义资源。
      2. spec.kafka.version 属性改为受支持的 Kafka 版本。
    • 如果未 返回错误消息,请转到下一步。稍后您将升级 Kafka 版本。
  6. 获取 Kafka pod 的镜像,以确保升级成功:

    oc get pods my-cluster-kafka-0 -o jsonpath='{.spec.containers[0].image}'
    Copy to Clipboard Toggle word wrap

    镜像标签显示新的 Operator 版本。例如:

    registry.redhat.io/amq7/amq-streams-kafka-32-rhel8:2.2.2
    Copy to Clipboard Toggle word wrap

Cluster Operator 升级至 2.2 版本,但其管理的集群中运行的 Kafka 版本没有改变。

在 Cluster Operator 升级后,您必须执行 Kafka 升级

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部