10.7. 为现有 Kafka 主题启用主题管理


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

流程

  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