10.8. 删除受管主题


单向主题管理支持通过 KafkaTopic 资源删除通过 OpenShift 终结器管理的主题。这由 STRIMZI_USE_FINALIZERS Topic Operator 环境变量决定。默认情况下,这被设置为 true,但如果您不想 主题 Operator 来添加终结器,则可以在主题 Operator env 配置中将其设置为 false

终结器(finalizers)可确保按顺序控制地删除 KafkaTopic 资源。Topic Operator 的终结器添加到 KafkaTopic 资源的元数据中:

控制删除主题的终结器

apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaTopic
metadata:
  generation: 1
  name: my-topic-1
  finalizers:
    - strimzi.io/topic-operator
  labels:
    strimzi.io/cluster: my-cluster

在本例中,为主题 my-topic-1 添加了终结器。finalizer 会阻止主题被完全删除,直到最终化过程完成为止。如果使用 oc delete kafkatopic my-topic-1 删除主题,则会在元数据中添加时间戳:

删除时的终结器时间戳

apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaTopic
metadata:
  generation: 1
  name: my-topic-1
  finalizers:
    - strimzi.io/topic-operator
  labels:
    strimzi.io/cluster: my-cluster
  deletionTimestamp: 20230301T000000.000

资源仍然存在。如果删除失败,则会在资源的状态中显示。

当成功执行最终任务时,终结器会从元数据中删除,并且资源会被完全删除。

终结器还可用于防止相关资源被删除。如果单向主题 Operator 未运行,则无法从 metadata.finalizers 中删除其终结器。并且任何尝试直接删除 KafkaTopic 资源,或者命名空间将失败或超时,使命名空间处于卡住终止状态。如果发生这种情况,您可以通过删除 主题上的终结器 来绕过最终化过程。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部