8.3. 升级 Cluster Operator
此流程描述了如何升级 Cluster Operator 部署以使用 AMQ Streams 1.8。
如果您使用安装 YAML 文件而不是 OperatorHub 部署 Cluster Operator,请按照以下步骤操作。
由 Cluster Operator 管理的 Kafka 集群的可用性不受升级操作的影响。
有关如何升级到该版本的信息,请参阅支持 AMQ Streams 特定版本的文档。
先决条件
- 现有 Cluster Operator 部署可用。
- 已 下载 AMQ Streams 1.8 的发行工件。
流程
-
记录对现有 Cluster Operator 资源所做的任何配置更改(在
/install/cluster-operator
目录中)。任何更改都将被 Cluster Operator 的新版本 覆盖。 - 更新您的自定义资源,以反映 AMQ Streams 版本 1.8 支持的配置选项。
更新 Cluster Operator。
根据 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
-
如果在现有 Cluster Operator
Deployment
中修改了一个或多个环境变量,请编辑install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml
文件来使用这些环境变量。
当您有更新的配置时,请将其与其它安装资源一起部署:
oc replace -f install/cluster-operator
等待滚动更新完成。
如果新 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 版本:
-
编辑
Kafka
自定义资源。 -
将
spec.kafka.version
属性改为受支持的 Kafka 版本。
-
编辑
- 如果未 返回错误消息,请转到下一步。稍后您将升级 Kafka 版本。
获取 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 升级。