8.3. 升级 Cluster Operator

此流程描述了如何升级 Cluster Operator 部署以使用 AMQ Streams 1.8。

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

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

注意

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

先决条件

流程

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

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

      在 Linux 中,使用:

      sed -i 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yaml

      在 MacOS 中,使用:

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

    oc replace -f install/cluster-operator

    等待滚动更新完成。

  5. 如果新 Operator 版本不再支持您要从中升级的 Kafka 版本,Cluster Operator 会返回 "Version not found" 错误消息。否则,不会返回任何错误消息。

    例如:

    "Version 2.4.0 is not supported. Supported versions are: 2.6.0, 2.6.1, 2.7.0."
    • 如果返回出错信息,升级到新的 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}'

    image tag 显示新的 Operator 版本。例如:

    registry.redhat.io/amq7/amq-streams-kafka-28-rhel7:{ContainerVersion}

您的 Cluster Operator 已升级到 1.8 版本,但它管理的集群中运行的 Kafka 版本没有改变。

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