9.6. (プレビュー) Kafka トピックに影響を与えずに KafkaTopic リソースを管理する
この手順では、現在 KafkaTopic
リソースを通じて管理されている Kafka トピックを非管理トピックに変換する方法について説明します。この機能はさまざまなシナリオで役立ちます。たとえば、KafkaTopic
リソースの metadata.name
を更新したい場合があります。これを行うには、元の KafkaTopic
リソースを削除し、新しいリソースを再作成する必要があります。
KafkaTopic
リソースに strimzi.io/managed=false
のアノテーションを付けることにより、Topic Operator がその特定のトピックを管理すべきでないことを示します。これにより、リソースの設定やその他の管理タスクを変更しながら、Kafka トピックを保持できるようになります。
一方向トピック管理を使用している場合は、このタスクを実行できます。
一方向トピック管理はプレビューとして利用できます。一方向トピック管理はデフォルトでは有効になっていないため、それを使用できるようにするには 、UnidirectionTopicOperator
フィーチャーゲートを有効にする 必要があります。
手順
OpenShift で
KafkaTopic
リソースにアノテーションを付け、strimzi.io/managed
をfalse
に設定します。oc annotate kafkatopic my-topic-1 strimzi.io/managed=false
oc annotate kafkatopic my-topic-1 strimzi.io/managed=false
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KafkaTopic
リソース内のトピックのmetadata.name
を指定します。この例ではmy-topic-1
です。KafkaTopic
リソースのステータスをチェックして、リクエストが成功したことを確認します。oc get kafkatopics my-topic-1 -o yaml
oc get kafkatopics my-topic-1 -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ready
ステータスのトピックの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- リソースの調整が成功すると、トピックは管理されなくなります。
metadata.generation
(デプロイの現在のバージョン) の値は、status.observedGeneration
(リソースの最新の調整) と一致する必要があります。これで、管理していた Kafka トピックに影響を与えることなく、
KafkaTopic
リソースを変更できるようになりました。たとえば、
metadata.name
を変更するには、次のように実行します。元の
KafkTopic
リソースを削除します。oc delete kafkatopic <kafka_topic_name>
oc delete kafkatopic <kafka_topic_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
別の
metadata.name
を使用してKafkTopic
リソースを再作成しますが、元のリソースで管理されていたのと同じトピックを参照するにはspec.topicName
を使用します。
-
元の
KafkaTopic
リソースを削除していないが、Kafka トピックの管理を再度再開したい場合は、strimzi.io/managed
アノテーションをtrue
に設定するか、アノテーションを削除します。