第 9 章 使用主题 Operator 管理 Kafka 主题
KafkaTopic 资源配置主题,包括分区和复制因素设置。当使用 KafkaTopic 创建、修改或删除主题时,主题 Operator 可确保这些更改反映在 Kafka 集群中。
如需有关 KafkaTopic 资源的更多信息,请参阅 KafkaTopic 模式参考。
9.1. 主题管理模式 复制链接链接已复制到粘贴板!
KafkaTopic 资源负责管理 Kafka 集群中的单个主题。Topic Operator 提供了两种管理 KafkaTopic 资源和 Kafka 主题的模式:
- 双向模式
- 双向模式需要 ZooKeeper 用于集群管理。在 KRaft 模式中使用 AMQ Streams 不兼容。
- (预览)Unidirectional 模式
- 单向模式不需要 ZooKeeper 进行集群管理。它在 KRaft 模式中使用 AMQ Streams 兼容。
单向主题管理作为技术预览提供。默认情况下,不启用单向主题管理,因此您必须 启用 UnidirectionalTopicOperator 功能门 才能使用它。
9.1.1. 双向主题管理 复制链接链接已复制到粘贴板!
在双向模式中,主题 Operator 运行如下:
-
当创建、删除或更改
KafkaTopic时,主题 Operator 会在 Kafka 主题上执行对应的操作。 -
同样,当在 Kafka 集群中创建、删除或更改主题时,主题 Operator 会在
KafkaTopic资源上执行对应的操作。
尝试坚持管理主题的方法,可以通过 KafkaTopic 资源或在 Kafka 中直接进行。避免在给定主题的两个方法之间定期切换。
9.1.2. (预览)Unidirectional 主题管理 复制链接链接已复制到粘贴板!
在单向模式中,主题 Operator 运行如下:
-
当创建、删除或更改
KafkaTopic时,主题 Operator 会在 Kafka 主题上执行对应的操作。
如果在 Kafka 集群中直接创建、删除或修改一个主题,且没有对应的 KafkaTopic 资源,则 Topic Operator 不会管理该主题。Topic Operator 只管理与 KafkaTopic 资源关联的 Kafka 主题,不会影响在 Kafka 集群中独立管理的主题。如果 Kafka 主题存在 KafkaTopic,则会恢复资源外所做的任何配置更改。
主题 Operator 可以检测多个 KafkaTopic 资源试图使用相同的 .spec.topicName 管理 Kafka 主题的情况。只有最旧的资源会被协调,而其他资源会失败并显示资源冲突错误。