第5章 Topic Operator の使用
5.1. Topic Operator の使用に関する推奨事項 リンクのコピーリンクがクリップボードにコピーされました!
トピックを使用する場合は、一貫した方法で使用し、常に KafkaTopic リソースで操作するか、またはトピックで直接操作します。特定のトピックで、両方の方法を頻繁に切り替えないでください。
トピックの性質を反映するトピック名を使用し、後で名前を変更できないことに注意してください。
Kafka でトピックを作成する場合は、有効な OpenShift リソース名である名前を使用します。それ以外の場合は、Topic Operator は対応する KafkaTopic を OpenShift ルールに準じた名前で作成する必要があります。
OpenShift の識別子および名前の推奨事項については、OpenShift コミュニティーの記事「Identifiers and Names」を参照してください。
Kafka トピックの命名規則
Kafka と OpenShift では、Kafka と KafkaTopic.metadata.name でのトピックの命名にそれぞれ独自の検証ルールを適用します。トピックごとに有効な名前があり、他のトピックには無効です。
spec.topicName プロパティーを使用すると、OpenShift の Kafka トピックでは無効な名前を使用して、Kafka で有効なトピックを作成できます。
spec.topicName プロパティーは Kafka の命名検証ルールを継承します。
- 249 文字を超える名前は使用できません。
-
Kafka トピックの有効な文字は ASCII 英数字、
.、_、および-です。 -
名前を
.または..にすることはできませんが、.はexampleTopic.や.exampleTopicのように名前で使用できます。
spec.topicName は変更しないでください。
以下に例を示します。
上記は下記のように変更できません
Kafka Streams など一部の Kafka クライアントアプリケーションは、プログラムを使用して Kafka でトピックを作成できます。これらのトピックに、OpenShift リソース名としては無効な名前が付いている場合、Topic Operator はそれらのトピックに Kafka 名に基づく有効な名前を付けます。無効な文字が置き換えられ、ハッシュが名前に追加されます。
5.2. トピックの作成 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、KafkaTopic OpenShift リソースを使用して Kafka トピックを作成する方法を説明します。
前提条件
- 稼働中の Kafka クラスターが必要です。
- 稼働中の Topic Operator が必要です (通常は Entity Operator を使用してデプロイされます) 。
手順
作成する
KafkaTopicが含まれるファイルを準備します。KafkaTopicの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記KafkaTopic.spec.topicNameプロパティーの設定が必要ないため、トピック名を有効な OpenShift リソース名にすることが推奨されます。KafkaTopic.spec.topicNameは作成後に変更することはできません。注記KafkaTopic.spec.partitionsを減らすことはできません。OpenShift で
KafkaTopicリソースを作成します。oc applyを使用してこれを行うことができます。oc apply -f your-file
oc apply -f your-fileCopy to Clipboard Copied! Toggle word wrap Toggle overflow
その他のリソース
-
KafkaTopicsのスキーマに関する詳細は、「KafkaTopicスキーマ参照」を参照してください。 - Cluster Operator を使用した Kafka クラスターのデプロイメントに関する詳細は、「Cluster Operator」を参照してください。
- Cluster Operator を使用した Topic Operator のデプロイメントに関する詳細は、「Cluster Operator を使用した Topic Operator のデプロイ」を参照してください。
- スタンドアロン Topic Operator のデプロイメントに関する詳細は、「スタンドアロン Topic Operator のデプロイ」を参照してください。
5.3. トピックの変更 リンクのコピーリンクがクリップボードにコピーされました!
この手順は、KafkaTopic OpenShift リソースを使用して、既存の Kafka トピックの設定を変更する方法を説明します。
前提条件
- 稼働中の Kafka クラスターが必要です。
- 稼働中の Topic Operator が必要です (通常は Entity Operator でデプロイされます)。
-
変更する既存の
KafkaTopic。
手順
必要な
KafkaTopicが含まれるファイルを準備します。KafkaTopicの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow ヒントoc get kafkatopic orders -o yamlを使用すると、現行バージョンのリソースを取得できます。注記KafkaTopic.spec.topicName変数を使用したトピック名の変更、およびKafkaTopic.spec.partitions変数を使用したパーティションサイズの縮小は、Kafka ではサポートされていません。Importantキーのあるトピックの
spec.partitionsを増やすと、レコードをパーティション化する方法が変更されます。これは、トピックがセマンティックパーティションを使用するとき、特に問題になる場合があります。OpenShift で
KafkaTopicリソースを更新します。oc applyを使用してこれを行うことができます。oc apply -f your-file
oc apply -f your-fileCopy to Clipboard Copied! Toggle word wrap Toggle overflow
その他のリソース
-
KafkaTopicsのスキーマに関する詳細は、「KafkaTopicスキーマ参照」を参照してください。 - Kafka クラスターのデプロイメントに関する詳細は、「Cluster Operator」を参照してください。
- Cluster Operator を使用した Topic Operator のデプロイメントに関する詳細は、「Cluster Operator を使用した Topic Operator のデプロイ」を参照してください。
- Topic Operator を使用したトピックの作成に関する詳細は、「トピックの作成」を参照してください。
5.4. トピックの削除 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、KafkaTopic OpenShift リソースを使用して Kafka トピックを削除する方法を説明します。
前提条件
- 稼働中の Kafka クラスターが必要です。
- 稼働中の Topic Operator が必要です (通常は Entity Operator でデプロイされます)。
-
削除する既存の
KafkaTopic。 -
delete.topic.enable=true(デフォルト)
delete.topic.enable プロパティーは、Kafka.spec.kafka.config で true に設定する必要があります。それ以外の場合は、ここで説明した手順によって KafkaTopic リソースが削除されますが、Kafka トピックとそのデータは保持されます。Topic Operator による調整後、カスタムリソースが再作成されます。
手順
OpenShift で
KafkaTopicリソースを削除します。oc deleteを使用してこれを行うことができます。oc delete kafkatopic your-topic-name
oc delete kafkatopic your-topic-nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow
その他のリソース
- Cluster Operator を使用した Kafka クラスターのデプロイメントに関する詳細は、「Cluster Operator」を参照してください。
- Cluster Operator を使用した Topic Operator のデプロイメントに関する詳細は、「Cluster Operator を使用した Topic Operator のデプロイ」を参照してください。
- Topic Operator を使用したトピックの作成に関する詳細は、「トピックの作成」を参照してください。