11.8. 관리되는 주제 삭제
Topic Operator는 OpenShift 종료자를 사용하거나 사용하지 않고 KafkaTopic 리소스를 통해 관리되는 주제를 삭제할 수 있도록 지원합니다. 이는 STRIMZI_USE_FINALIZERS Topic Operator 환경 변수에 따라 결정됩니다. 기본적으로 이 값은 true 로 설정되지만 Topic Operator에서 종료자를 추가하지 않으려면 Topic Operator env 구성에서 false 로 설정할 수 있습니다.
종료자를 사용하면 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 항목에 대해 종료자가 추가되었습니다. 종료자를 사용하면 종료 프로세스가 완료될 때까지 주제를 완전히 삭제할 수 없습니다. 그런 다음 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
리소스가 여전히 존재합니다. 삭제에 실패하면 리소스 상태에 표시됩니다.
종료 작업이 성공적으로 실행되면 종료자가 메타데이터에서 제거되고 리소스가 완전히 삭제됩니다.
종료자는 관련 리소스가 삭제되지 않도록 하는 기능도 제공합니다. Topic Operator가 실행되지 않으면 metadata.finalizers 에서 종료자를 제거할 수 없습니다. 그리고 KafkaTopic 리소스 또는 네임스페이스를 직접 삭제하려고 하면 실패하거나 시간 초과되어 네임스페이스가 중단된 상태가 됩니다. 이 경우 주제의 종료자를 제거하여 종료 프로세스를 바이패스할 수 있습니다.