第 27 章 管理滚动更新


使用注解通过 Cluster Operator 手动触发 Kafka 和其他操作对象的滚动更新。启动 Kafka、Kafka Connect、MirrorMaker 2 和 ZooKeeper 集群的滚动更新。

在特殊情况下,通常只需要手动对特定 pod 或一组 pod 执行滚动更新。但是,如果您通过 Cluster Operator 执行滚动更新,您可以确保以下内容,而不是直接删除 pod:

  • 手动删除 pod 不会与 Cluster Operator 操作冲突,如同时删除其他 pod。
  • Cluster Operator 逻辑处理 Kafka 配置规格,如 in-sync 副本的数量。

27.1. 使用 pod 管理注解执行滚动更新

此流程描述了如何触发 Kafka、Kafka Connect、MirrorMaker 2 或 ZooKeeper 集群的滚动更新。要触发更新,您可以在管理集群中运行的 pod 的 StrimziPodSet 中添加注解。

先决条件

要执行手动滚动更新,您需要一个正在运行的 Cluster Operator。您更新的组件的集群(无论是 Kafka、Kafka Connect、MirrorMaker 2 或 ZooKeeper)也必须正在运行。

流程

  1. 查找控制您要手动更新的 pod 的资源名称。

    例如,如果您的 Kafka 集群名为 my-cluster,则对应的名称为 my-cluster-kafkamy-cluster-zookeeper。对于名为 my-connect-cluster 的 Kafka Connect 集群,对应的名称为 my-connect-cluster-connect。对于名为 my-mm2-cluster 的 MirrorMaker 2 集群,对应的名称为 my-mm2-cluster-mirrormaker2

  2. 使用 oc annotate 注解 OpenShift 中的相应资源。

    Annotating a StrimziPodSet

    oc annotate strimzipodset <cluster_name>-kafka strimzi.io/manual-rolling-update="true"
    
    oc annotate strimzipodset <cluster_name>-zookeeper strimzi.io/manual-rolling-update="true"
    
    oc annotate strimzipodset <cluster_name>-connect strimzi.io/manual-rolling-update="true"
    
    oc annotate strimzipodset <cluster_name>-mirrormaker2 strimzi.io/manual-rolling-update="true"
    Copy to Clipboard Toggle word wrap

  3. 等待下一个协调发生(默认为两分钟)。只要协调过程检测到注解,就会触发被注解资源中的所有 pod 的滚动更新。当所有 pod 的滚动更新完成后,注解会自动从资源中删除。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat