9.8. (预览)删除受管主题
单向主题管理支持通过 KafkaTopic
资源删除通过 OpenShift 终结器管理的主题。这由 STRIMZI_USE_FINALIZERS
Topic Operator 环境变量控制。默认情况下,这被设置为 true
,但如果您不想 主题 Operator 来添加终结器,则可以在主题 Operator env
配置中将其设置为 false
。
单向主题管理作为技术预览提供。默认情况下,不启用单向主题管理,因此您必须 启用 UnidirectionalTopicOperator
功能门 才能使用它。
终结器(finalizers)可确保按顺序控制地删除 KafkaTopic
资源。Topic Operator 的终结器添加到 KafkaTopic
资源的元数据中:
控制删除主题的终结器
apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaTopic metadata: generation: 1 name: my-topic-1 finalizer: 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 finalizer: strimzi.io/topic-operator labels: strimzi.io/cluster: my-cluster deletionTimestamp: 20230301T000000.000
资源仍然存在。如果删除失败,则会在资源的状态中显示。
当成功执行最终任务时,终结器会从元数据中删除,并且资源会被完全删除。
终结器还阻止相关资源被删除。如果单向主题 Operator 没有运行,则无法删除 metadata.finalizer
。因此,在 Operator 重启前,尝试删除包含 KafkaTopic
资源的命名空间不会完成,或者删除终结器(例如,使用 oc edit
)。