第2章 マネージドブローカーの設定

AMQ Streams を OpenShift にデプロイするときは、Kafka カスタムリソースの config プロパティーを介してブローカー設定を指定します。ただし、特定のブローカー設定オプションは、AMQ Streams によって直接管理されます。

そのため、OpenShift で AMQ Streams を使用している場合は、次のオプションを設定できません。

  • Kafka ブローカーの ID を指定する broker.id
  • ログデータ用の log.dirs ディレクトリー
  • Kafka と ZooKeeper を接続する zookeeper.connect 設定
  • Kafka クラスターをクライアントに公開するための listeners
  • ユーザーが実行するアクションを許可または拒否する authorization メカニズム
  • Kafka へのアクセスを必要とするユーザーのアイデンティティーを証明する authentication メカニズム

ブローカー ID は 0 (ゼロ) から開始し、ブローカーレプリカの数に対応します。ログディレクトリーは、Kafka カスタムリソースの spec.kafka.storage 設定に基づき、/var/lib/kafka/data/kafka-logIDX にマウントされます。IDX は Kafka ブローカー Pod インデックスです。

除外項目の一覧は、KafkaClusterSpec schema reference を参照してください。

RHEL で AMQ Streams を使用する場合、これらの除外は適用されません。この場合、ブローカーを識別し、セキュアなアクセスを提供するには、これらのプロパティーをブローカーの基本設定に追加する必要があります。

RHEL での AMQ Streams のブローカー設定の例

# ...
broker.id = 1
log.dirs = /var/lib/kafka
zookeeper.connect = zoo1.my-domain.com:2181,zoo2.my-domain.com:2181,zoo3.my-domain.com:2181
listeners = internal-1://:9092
authorizer.class.name = kafka.security.auth.SimpleAclAuthorizer
ssl.truststore.location = /path/to/truststore.jks
ssl.truststore.password = 123456
ssl.client.auth = required
# ...