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
Copy to Clipboard Toggle word wrap

在本例中,为主题 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
Copy to Clipboard Toggle word wrap

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

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

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

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat