9.7. (预览)为现有 Kafka 主题启用主题管理
此流程描述了如何为当前没有通过 KafkaTopic 资源管理的主题启用主题管理。您可以通过创建匹配的 KafkaTopic 资源来实现此目的。
如果您使用单向主题管理,您可以执行此任务。
单向主题管理作为技术预览提供。默认情况下,不启用单向主题管理,因此您必须 启用 UnidirectionalTopicOperator 功能门 才能使用它。
流程
使用与 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在本例中,Kafka 主题名为
my-topic-1。主题 Operator 检查主题是否由另一个
KafkaTopic资源管理。如果是,旧的资源具有优先权,并在新资源状态中返回资源冲突错误。应用
KafkaTopic资源:oc apply -f <topic_configuration_file>等待 Operator 更新 Kafka 中的主题。
Operator 使用具有相同名称的
KafkaTopic的spec更新 Kafka 主题。检查
KafkaTopic资源的状态,以确保请求成功:oc get kafkatopics my-topic-1 -o yaml具有
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: 11 topicName: my-topic-1 conditions: - type: Ready status: True lastTransitionTime: 20230301T103000Z- 1
- 对资源成功协调意味着主题现已被管理。
metadata.generation(部署的当前版本)的值必须与 status.observedGeneration (资源的最新协调)匹配。