B.4.2. 設定
config プロパティーを使用して、以下の JSON タイプの 1 つの値が含まれるキーとして Kafka ブローカーを設定します。
- 文字列
- 数値
- ブール値
AMQ Streams によって直接管理されるオプション以外は、Apache Kafka ドキュメント の「Broker Configs」セクションにあるすべてのオプションを指定および設定できます。以下の文字列の 1 つと同じキーまたは以下の文字列の 1 つで始まるキーを持つ設定オプションはすべて禁止されています。
-
listeners -
advertised. -
broker. -
listener. -
host.name -
port -
inter.broker.listener.name -
sasl. -
ssl. -
security. -
password. -
principal.builder.class -
log.dir -
zookeeper.connect -
zookeeper.set.acl -
authorizer. -
super.user
禁止されているオプションが config プロパティーにある場合、そのオプションは無視され、警告メッセージが Cluster Operator ログファイルに出力されます。サポートされるその他すべてのオプションは Kafka に渡されます。
禁止されているオプションには例外があります。TLSバージョンの特定の暗号スイートを使用するクライアント接続のために、許可されたsslプロパティを設定することができます。zookeeper.connection.timeout.ms プロパティーを設定して、ZooKeeper 接続の確立に許可される最大時間を設定することもできます。
Kafka ブローカーの設定例
apiVersion: kafka.strimzi.io/v1beta1
kind: Kafka
metadata:
name: my-cluster
spec:
kafka:
# ...
config:
num.partitions: 1
num.recovery.threads.per.data.dir: 1
default.replication.factor: 3
offsets.topic.replication.factor: 3
transaction.state.log.replication.factor: 3
transaction.state.log.min.isr: 1
log.retention.hours: 168
log.segment.bytes: 1073741824
log.retention.check.interval.ms: 300000
num.network.threads: 3
num.io.threads: 8
socket.send.buffer.bytes: 102400
socket.receive.buffer.bytes: 102400
socket.request.max.bytes: 104857600
group.initial.rebalance.delay.ms: 0
ssl.cipher.suites: "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
ssl.enabled.protocols: "TLSv1.2"
ssl.protocol: "TLSv1.2"
zookeeper.connection.timeout.ms: 6000
# ...
| プロパティー | 説明 |
|---|---|
| replicas | クラスター内の Pod 数。 |
| integer | |
| image |
Pod の Docker イメージ。デフォルト値は、設定した |
| string | |
| storage |
ストレージの設定 (ディスク)。更新はできません。タイプは、指定のオブジェクト内の |
| listeners | Kafka ブローカーのリスナーを設定します。 |
| 認可 |
Kafka ブローカーの承認設定。タイプは、指定のオブジェクト内の |
|
| |
| 設定 | 次の接頭辞のある Kafka ブローカーの config プロパティーは設定できません: listeners、advertised.、broker.、listener.、 host.name、port、inter.broker.listener.name、sasl.、ssl.、 security.、password.、principal.builder.class、log.dir、 zookeeper.connect、zookeeper.set.acl、zookeeper.ssl、zookeeper.clientCnxnSocket、authorizer.、super.user、cruise.control.metrics.topic、cruise.control.metrics.reporter.bootstrap.servers (次の例外を除く: zookeeper.connection.timeout.ms、ssl.cipher.suites、ssl.protocol、ssl.enabled.protocols,cruise.control.metrics.topic.num.partitions、cruise.control.metrics.topic.replication.factor、cruise.control.metrics.topic.retention.ms、cruise.control.metrics.topic.auto.create.retries、cruise.control.metrics.topic.auto.create.timeout.ms) |
| map | |
| rack |
|
| brokerRackInitImage |
|
| string | |
| affinity |
|
| tolerations |
|
| Toleration array | |
| livenessProbe | Pod の liveness チェック。 |
| readinessProbe | Pod の readiness チェック。 |
| jvmOptions | Pod の JVM オプション。 |
| jmxOptions | Kafka ブローカーの JMX オプション。 |
| resources | 予約する CPU およびメモリーリソース。外部のキュメント「core/v1 resourcerequirements」を参照してください。 |
| metrics | Prometheus JMX エクスポーターの設定。この設定の構造に関する詳細は、https://github.com/prometheus/jmx_exporter を参照してください。 |
| map | |
| logging |
Kafka のロギング設定。タイプは、指定のオブジェクト内の |
| tlsSidecar |
|
| template |
Kafka クラスターリソースのテンプレート。ユーザーはテンプレートにより、 |
| version | Kafka ブローカーのバージョン。デフォルトは 2.6.0 です。バージョンのアップグレードまたはダウングレードに必要なプロセスを理解するには、ユーザードキュメントを参照してください。 |
| string |