此内容没有您所选择的语言版本。

Chapter 5. Using the Topic Operator


5.1. Topic Operator usage recommendations

  • Be consistent and always operate on KafkaTopic resources or always operate on topics directly. Avoid routinely using both methods for a given topic.
  • When creating a KafkaTopic resource:

    • Remember that the name cannot be changed later.
    • Choose a name for the KafkaTopic resource that reflects the name of the topic it describes.
    • Ideally the KafkaTopic.metadata.name should be the same as its spec.topicName. To do this, the topic name will have to be a valid Kubernetes resource name.
  • When creating a topic:

    • Remember that the name cannot be changed later.
    • It is best to use a name that is a valid Kubernetes resource name, otherwise the operator will have to modify the name when creating the corresponding KafkaTopic.

5.2. Creating a topic

This procedure describes how to create a Kafka topic using a KafkaTopic OpenShift resource.

Prerequisites

  • A running Kafka cluster.
  • A running Topic Operator.

Procedure

  1. Prepare a file containing the KafkaTopic to be created

    An example KafkaTopic

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

    Note

    It is recommended that the topic name given is a valid OpenShift resource name, as it is then not necessary to set the KafkaTopic.spec.topicName property. The KafkaTopic.spec.topicName cannot be changed after creation.

    Note

    The KafkaTopic.spec.partitions cannot be decreased.

  2. Create the KafkaTopic resource in OpenShift.

    On OpenShift this can be done using oc apply:

    oc apply -f your-file
    Copy to Clipboard Toggle word wrap

Additional resources

5.3. Changing a topic

This procedure describes how to change the configuration of an existing Kafka topic by using a KafkaTopic OpenShift resource.

Prerequisites

  • A running Kafka cluster.
  • A running Topic Operator.
  • An existing KafkaTopic to be changed.

Procedure

  1. Prepare a file containing the desired KafkaTopic

    An example KafkaTopic

    apiVersion: kafka.strimzi.io/v1beta1
    kind: KafkaTopic
    metadata:
      name: orders
      labels:
        strimzi.io/cluster: my-cluster
    spec:
      partitions: 16
      replicas: 2
    Copy to Clipboard Toggle word wrap

    Tip

    You can get the current version of the resource using oc get kafkatopic orders -o yaml.

    Note

    Changing topic names using the KafkaTopic.spec.topicName variable and decreasing partition size using the KafkaTopic.spec.partitions variable is not supported by Kafka.

    Important

    Increasing spec.partitions for topics with keys will change how records are partitioned, which can be particularly problematic when the topic uses semantic partitioning.

  2. Update the KafkaTopic resource in OpenShift.

    On OpenShift this can be done using oc apply:

    oc apply -f your-file
    Copy to Clipboard Toggle word wrap

Additional resources

5.4. Deleting a topic

This procedure describes how to delete a Kafka topic using a KafkaTopic OpenShift resource.

Prerequisites

  • A running Kafka cluster.
  • A running Topic Operator.
  • An existing KafkaTopic to be deleted.
  • delete.topic.enable=true (default)
Note

The delete.topic.enable property must be set to true in Kafka.spec.kafka.config. Otherwise, the steps outlined here will delete the KafkaTopic resource, but the Kafka topic and its data will remain. After reconciliation by the Topic Operator, the custom resource is then recreated.

Procedure

  • Delete the KafkaTopic resource in OpenShift.

    On OpenShift this can be done using oc:

    oc delete kafkatopic your-topic-name
    Copy to Clipboard Toggle word wrap

Additional resources

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部