10.7. 既存の Kafka トピックのトピック管理を有効にする
この手順では、現在 KafkaTopic
リソースを通じて管理されていないトピックのトピック管理を有効にする方法について説明します。これを行うには、一致する KafkaTopic
リソースを作成します。
一方向トピック管理を使用している場合は、このタスクを実行できます。
手順
Kafka トピックと同じ
metadata.name
を使用してKafkaTopic
リソースを作成します。または、Kafka のトピック名が有効な OpenShift リソース名ではない場合は、
spec.topicName
を使用します。Kafka トピックの設定例
apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaTopic metadata: name: my-topic-1 labels: strimzi.io/cluster: my-cluster spec: partitions: 10 replicas: 2
この例では、Kafka トピックの名前は
my-topic-1
です。Topic Operator は、トピックが別の
KafkaTopic
リソースによって管理されているかどうかを確認します。そうである場合、古いリソースが優先され、新しいリソースのステータスでリソース競合エラーが返されます。KafkaTopic
リソースを適用します。oc apply -f <topic_configuration_file>
operator が Kafka のトピックを更新するまで待ちます。
operator は、同じ名前を持つ
KafkaTopic
のspec
で Kafka トピックを更新します。KafkaTopic
リソースのステータスをチェックして、リクエストが成功したことを確認します。oc get kafkatopics my-topic-1 -o yaml
Ready
ステータスのトピックの例apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaTopic metadata: generation: 1 name: my-topic-1 labels: strimzi.io/cluster: my-cluster spec: partitions: 10 replicas: 2 # ... status: observedGeneration: 1 1 topicName: my-topic-1 conditions: - type: Ready status: True lastTransitionTime: 20230301T103000Z
- 1
- リソースの調整が成功すると、トピックが管理されるようになりました。
metadata.generation
(デプロイの現在のバージョン) の値は、status.observedGeneration
(リソースの最新の調整) と一致する必要があります。