第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 は変更しないでください。

以下に例を示します。

kind: KafkaTopic
metadata:
  name: topic-name-1
spec:
  topicName: topicName-1 # Upper case is invalid in OpenShift
  # ...
Copy to Clipboard Toggle word wrap

上記は下記のように変更できません

kind: KafkaTopic
metadata:
  name: topic-name-1
spec:
  topicName: name-2
  # ...
Copy to Clipboard Toggle word wrap
注記

Kafka Streams など一部の Kafka クライアントアプリケーションは、プログラムを使用して Kafka でトピックを作成できます。これらのトピックに、OpenShift リソース名としては無効な名前が付いている場合、Topic Operator はそれらのトピックに Kafka 名に基づく有効な名前を付けます。無効な文字が置き換えられ、ハッシュが名前に追加されます。

5.2. トピックの作成

この手順では、KafkaTopic OpenShift リソースを使用して Kafka トピックを作成する方法を説明します。

前提条件

手順

  1. 作成する KafkaTopic が含まれるファイルを準備します。

    KafkaTopic の例

    apiVersion: kafka.strimzi.io/v1beta1
    kind: KafkaTopic
    metadata:
      name: orders
      labels:
        strimzi.io/cluster: my-cluster
    spec:
      partitions: 10
      replicas: 2
    Copy to Clipboard Toggle word wrap

    注記

    KafkaTopic.spec.topicName プロパティーの設定が必要ないため、トピック名を有効な OpenShift リソース名にすることが推奨されます。KafkaTopic.spec.topicName は作成後に変更することはできません

    注記

    KafkaTopic.spec.partitions を減らすことはできません。

  2. OpenShift で KafkaTopic リソースを作成します。

    oc apply を使用してこれを行うことができます。

    oc apply -f your-file
    Copy to Clipboard Toggle word wrap

その他のリソース

5.3. トピックの変更

この手順は、KafkaTopic OpenShift リソースを使用して、既存の Kafka トピックの設定を変更する方法を説明します。

前提条件

手順

  1. 必要な KafkaTopic が含まれるファイルを準備します。

    KafkaTopic の例

    apiVersion: kafka.strimzi.io/v1beta1
    kind: KafkaTopic
    metadata:
      name: orders
      labels:
        strimzi.io/cluster: my-cluster
    spec:
      partitions: 16
      replicas: 2
    Copy to Clipboard Toggle word wrap

    ヒント

    oc get kafkatopic orders -o yaml を使用すると、現行バージョンのリソースを取得できます。

    注記

    KafkaTopic.spec.topicName 変数を使用したトピック名の変更、および KafkaTopic.spec.partitions 変数を使用したパーティションサイズの縮小は、Kafka ではサポートされていません。

    Important

    キーのあるトピックの spec.partitions を増やすと、レコードをパーティション化する方法が変更されます。これは、トピックがセマンティックパーティションを使用するとき、特に問題になる場合があります。

  2. OpenShift で KafkaTopic リソースを更新します。

    oc apply を使用してこれを行うことができます。

    oc apply -f your-file
    Copy to Clipboard Toggle word wrap

その他のリソース

5.4. トピックの削除

この手順では、KafkaTopic OpenShift リソースを使用して Kafka トピックを削除する方法を説明します。

前提条件

  • 稼働中の Kafka クラスターが必要です。
  • 稼働中の Topic Operator が必要です (通常は Entity Operator でデプロイされます)。
  • 削除する既存の KafkaTopic
  • delete.topic.enable=true (デフォルト)
注記

delete.topic.enable プロパティーは、Kafka.spec.kafka.configtrue に設定する必要があります。それ以外の場合は、ここで説明した手順によって KafkaTopic リソースが削除されますが、Kafka トピックとそのデータは保持されます。Topic Operator による調整後、カスタムリソースが再作成されます。

手順

  • OpenShift で KafkaTopic リソースを削除します。

    oc delete を使用してこれを行うことができます。

    oc delete kafkatopic your-topic-name
    Copy to Clipboard Toggle word wrap

その他のリソース

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat