9.7. (预览)为现有 Kafka 主题启用主题管理


此流程描述了如何为当前没有通过 KafkaTopic 资源管理的主题启用主题管理。您可以通过创建匹配的 KafkaTopic 资源来实现此目的。

如果您使用无方向性的主题管理,您可以执行此任务。

注意

单向主题管理作为技术预览提供。默认情况下,不启用单向主题管理,因此您必须 启用 UnidirectionalTopicOperator 功能门 才能使用它。

流程

  1. 使用与 Kafka 主题相同的 metadata.name 创建 KafkaTopic 资源。

    或者,如果 Kafka 中的主题名称不是法律 OpenShift 资源名称,则使用 spec.topicName

    Kafka 主题配置示例

    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaTopic
    metadata:
      name: my-topic-1
      labels:
        strimzi.io/cluster: my-cluster
    spec:
      partitions: 10
      replicas: 2
    Copy to Clipboard Toggle word wrap

    在本例中,Kafka 主题名为 my-topic-1

    主题 Operator 检查主题是否由另一个 KafkaTopic 资源管理。如果是,旧的资源具有优先权,并在新资源状态中返回资源冲突错误。

  2. 应用 KafkaTopic 资源:

    oc apply -f <topic_configuration_file>
    Copy to Clipboard Toggle word wrap
  3. 等待 Operator 更新 Kafka 中的主题。

    Operator 使用具有相同名称的 KafkaTopicspec 更新 Kafka 主题。

  4. 检查 KafkaTopic 资源的状态,以确保请求成功:

    oc get kafkatopics my-topic-1 -o yaml
    Copy to Clipboard Toggle word wrap

    具有 Ready 状态的主题示例

    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaTopic
    metadata:
      generation: 1
      name: my-topic-1
      labels:
        strimzi.io/cluster: my-cluster
    spec:
      partitions: 10
      replicas: 2
    # ...
    status:
      observedGeneration: 1 
    1
    
      topicName: my-topic-1
      conditions:
      - type: Ready
        status: True
        lastTransitionTime: 20230301T103000Z
    Copy to Clipboard Toggle word wrap

    1
    对资源成功协调意味着主题现已被管理。

    metadata.generation (部署的当前版本)的 值必须与 status.observedGeneration (资源的最新协调)匹配

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat